mirror of
https://github.com/qdrant/qdrant.git
synced 2026-08-03 08:30:55 -05:00
* feat: include "last_queried" in /telemetry * fix: anonymize responses in the WebApiTelemetry and GrpcTelemetry Anonymize impls * fix: anonymize the last_queried field * fix: use YYYY/MM/DD hh:mm:ss format on 'last_queried' * tests: add and fix telemetry test * refactor: rename last_queried -> last_responded * cargo fmt * update openapi models * refactor: rename last_request_time -> last_response_date * tests: update test * review changes * add chrono to schemars --------- Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
import pytest
|
|
from datetime import datetime, timedelta
|
|
|
|
from .helpers.helpers import request_with_validation
|
|
from .helpers.collection_setup import basic_collection_setup, drop_collection
|
|
|
|
collection_name = 'test_collection_telemetry'
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def setup():
|
|
basic_collection_setup(collection_name=collection_name)
|
|
yield
|
|
drop_collection(collection_name=collection_name)
|
|
|
|
def test_metrics():
|
|
response = request_with_validation(
|
|
api='/metrics',
|
|
method="GET",
|
|
)
|
|
assert response.ok
|
|
|
|
# Probe some strings that must exist in the metrics output
|
|
assert '# HELP app_info information about qdrant server' in response.text
|
|
assert '# TYPE app_info counter' in response.text
|
|
assert 'app_info{name="qdrant",version="' in response.text
|
|
assert 'collections_total ' in response.text
|
|
|
|
def test_telemetry():
|
|
response = request_with_validation(
|
|
api='/telemetry',
|
|
method="GET",
|
|
)
|
|
|
|
assert response.ok
|
|
|
|
result = response.json()['result']
|
|
|
|
assert result['collections']['number_of_collections'] >= 1
|
|
|
|
endpoint = result['requests']['rest']['responses']['PUT /collections/{name}/points']
|
|
assert endpoint['200']['count'] > 0
|
|
|
|
last_queried = endpoint['200']['last_responded']
|
|
last_queried = datetime.strptime(last_queried, "%Y-%m-%dT%H:%M:%S.%f%z")
|
|
# Assert today
|
|
assert last_queried.date() == datetime.now().date() |