perf: improve /logs concurrent access (#2633)
* perf: improve /logs concurrent access * perf: improve /logs concurrency access * fix * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
3d0845c8bd
commit
ab0ab5f306
3 changed files with 125 additions and 101 deletions
|
|
@ -1,9 +1,8 @@
|
|||
import pytest
|
||||
import os
|
||||
import json
|
||||
from collections import OrderedDict
|
||||
from unittest.mock import patch
|
||||
from langflow.utils.logger import SizedLogBuffer # Replace 'your_module' with the actual module name
|
||||
from langflow.utils.logger import SizedLogBuffer
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
|
@ -15,7 +14,6 @@ def test_init_default():
|
|||
buffer = SizedLogBuffer()
|
||||
assert buffer.max == 0
|
||||
assert buffer._max_readers == 20
|
||||
assert isinstance(buffer.buffer, OrderedDict)
|
||||
|
||||
|
||||
def test_init_with_env_variable():
|
||||
|
|
@ -25,12 +23,12 @@ def test_init_with_env_variable():
|
|||
|
||||
|
||||
def test_write(sized_log_buffer):
|
||||
message = json.dumps({"text": "Test log", "record": {"time": {"timestamp": 1625097600}}})
|
||||
message = json.dumps({"text": "Test log", "record": {"time": {"timestamp": 1625097600.1244334}}})
|
||||
sized_log_buffer.max = 1 # Set max size to 1 for testing
|
||||
sized_log_buffer.write(message)
|
||||
assert len(sized_log_buffer.buffer) == 1
|
||||
assert 1625097600 in sized_log_buffer.buffer
|
||||
assert sized_log_buffer.buffer[1625097600] == "Test log"
|
||||
assert 1625097600124 == sized_log_buffer.buffer[0][0]
|
||||
assert "Test log" == sized_log_buffer.buffer[0][1]
|
||||
|
||||
|
||||
def test_write_overflow(sized_log_buffer):
|
||||
|
|
@ -40,8 +38,8 @@ def test_write_overflow(sized_log_buffer):
|
|||
sized_log_buffer.write(message)
|
||||
|
||||
assert len(sized_log_buffer.buffer) == 2
|
||||
assert 1625097601 in sized_log_buffer.buffer
|
||||
assert 1625097602 in sized_log_buffer.buffer
|
||||
assert 1625097601000 == sized_log_buffer.buffer[0][0]
|
||||
assert 1625097602000 == sized_log_buffer.buffer[1][0]
|
||||
|
||||
|
||||
def test_len(sized_log_buffer):
|
||||
|
|
@ -59,10 +57,10 @@ def test_get_after_timestamp(sized_log_buffer):
|
|||
for message in messages:
|
||||
sized_log_buffer.write(message)
|
||||
|
||||
result = sized_log_buffer.get_after_timestamp(1625097602, lines=2)
|
||||
result = sized_log_buffer.get_after_timestamp(1625097602000, lines=2)
|
||||
assert len(result) == 2
|
||||
assert 1625097603 in result
|
||||
assert 1625097602 in result
|
||||
assert 1625097603000 in result
|
||||
assert 1625097602000 in result
|
||||
|
||||
|
||||
def test_get_before_timestamp(sized_log_buffer):
|
||||
|
|
@ -71,10 +69,10 @@ def test_get_before_timestamp(sized_log_buffer):
|
|||
for message in messages:
|
||||
sized_log_buffer.write(message)
|
||||
|
||||
result = sized_log_buffer.get_before_timestamp(1625097603, lines=2)
|
||||
result = sized_log_buffer.get_before_timestamp(1625097603000, lines=2)
|
||||
assert len(result) == 2
|
||||
assert 1625097601 in result
|
||||
assert 1625097602 in result
|
||||
assert 1625097601000 in result
|
||||
assert 1625097602000 in result
|
||||
|
||||
|
||||
def test_get_last_n(sized_log_buffer):
|
||||
|
|
@ -85,9 +83,9 @@ def test_get_last_n(sized_log_buffer):
|
|||
|
||||
result = sized_log_buffer.get_last_n(3)
|
||||
assert len(result) == 3
|
||||
assert 1625097602 in result
|
||||
assert 1625097603 in result
|
||||
assert 1625097604 in result
|
||||
assert 1625097602000 in result
|
||||
assert 1625097603000 in result
|
||||
assert 1625097604000 in result
|
||||
|
||||
|
||||
def test_enabled(sized_log_buffer):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue