Andrey Vasnetsov
d02ef48f24
Dynamic cpu pool ( #8790 )
...
* [AI] inptoduce CPU process measurement
* use parking_lot + 4 seconds refresh rate
* [AI] AdaptiveSearchHandle
* fmt
* openapi schema
* keep Runtime field
* fix test
* [AI] instead of async semaphore, use 2 runtimes
* Adjust usage window to 2 seconds
* Address CodeRabbit review comments for dynamic CPU pool
- OpenAPI / telemetry: user-facing cpu_cores_used description (2s window, when null).
- process_cpu_usage: backoff after procfs errors; serialize Linux unit tests on CACHE.
- Docs: decouple runtime thread comments from hardcoded 4× multiplier; name search_runtime in test.
- consensus test: replace stale runtime comment.
Made-with: Cursor
* chore(openapi): regenerate master spec via generate_openapi_models.sh
Replace hand-edited cpu_cores_used description with output from
schema_generator + merge pipeline so openapi_consistency_check passes.
Made-with: Cursor
---------
Co-authored-by: Cursor Agent <agent@cursor.com >
2026-04-27 12:56:29 +02:00
Excellencedev
3230f1d952
Implement Per collection metrics for Promethus ( #8214 )
...
* Implement Per-Collection Prometheus Metrics
* Update config/config.yaml
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Update tests/per_collection_metrics_test.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Update tests/per_collection_metrics_test.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix ci
* comment
* Update tests/per_collection_metrics_test.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* adress revew
* fix: linter
* refactor: cardinality limit, anonymize fix, cleanup
- Add max_per_collection_metrics config (default 256) to bound
per-collection label cardinality
- Fix anonymize: strip per_collection_responses entirely instead of
leaking hashed collection names
- Move CollectionName into requests_telemetry, remove
telemetry_context.rs
- Add unit tests for cardinality limits
- Add integration test assertions for default mode
- Regenerate OpenAPI spec
- Document why internal gRPC doesn't attach CollectionName
* avoid cloning
* fix: address pr reviews
* fix: linter
* fix: linter
* feat: enforce {name} in actix api
* chore: remove empty line
* feat: add actix pre-commit hook
* feat: potential enforce tonic collection name
* feat: use proc_macro instead
* feat: use collection_name instead of name
* feat: add tonic telemetry tests
* fix: linter
* fix: linter
* chore: remove unneccessary clone
* fix: use collection_name everywhere
* fix: python tests and openapi
* chore: simplify collection_name tests
* actix collection_name enforcign: use relative path in test + avoid grep
* fix: remove macro
* chore: add some comment to telemetry_wrapper
* fix: clippy
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Daniel Boros <dancixx@gmail.com >
Co-authored-by: generall <andrey@vasnetsov.com >
2026-03-23 15:19:02 +01:00
Ivan Pleshkov
510b0c090a
Update queue status in metrics and telemetry ( #8060 )
...
* update queue status in metrics and telemetry
* fix python tests
* update openapi
2026-02-05 11:37:19 +01:00
Jojii
8da4c22cae
Make indexed-only-excluded-points metric default to 0 ( #7649 )
...
* Make indexed_only_excluded in metrics default to 0
* Fix tests
2025-12-02 09:36:41 +01:00
Arnaud Gourlay
adc3bb8540
Fix Openapi schema for DELETE issues ( #7634 )
2025-11-28 14:50:34 +01:00
Jojii
f6b715bd62
Metrics for snapshots ( #7497 )
...
* Add atomic counter for running snapshots
* Refactor collection telemetry + export prometheus metric
* Handle collection in ToC + current recovery measurements
* Fix openapi tests
* Fix tests
* Add snapshot metrics for streaming and partial snapshots.
* Fix typo in metrics name
* Adjust metrics names
---------
Co-authored-by: timvisee <tim@visee.me >
2025-11-11 15:00:11 +01:00
Jojii
48d61f1719
Metrics vectors by name per collection ( #7441 )
...
* Add vector count per vector-name to metrics API
* Add to metrics API
* Improve TinyMap::get_or_insert_default and add tests
* Minor improvements
* Update openapi
* Review remarks
* Remove `collection_vectors` since it can be calculated manually
2025-10-29 17:00:53 +01:00
Roman Titov
b63f19b9b3
Add partial snapshot create requests count and recovery timestamp to telemetry ( #6545 )
...
Co-authored-by: generall <andrey@vasnetsov.com >
2025-05-22 15:56:52 +02:00
Kumar Shivendu
d3d639ea9d
Improve telemetry logic and test ( #6399 )
...
* Improve telemetry logic and test
* Parametrize telemetry test
* Consistency hash peeer ID across telemetry
* clean test
* Use Option in segments telemetry
* updat openapi spec
* Avoid test failure on change in order of params
2025-04-18 15:31:37 +02:00
Andrey Vasnetsov
c57d748dd4
Telemetry improvements ( #6390 )
...
* allow shard states in anonymize telemetry (with hashed peer ids)
* introduce level3 and level4 for telemetry, where level4 = everything, incl. segments info
* upd openapi
* fix tests
* expose vector count & size stats on shard level to avoid reading of segments
* fix spelling
* upd schema
* fix tests
* Use unwrap_or_default
* [#6390 ] skip serializing shard details in Level2 (#6398 )
* skip serializing shard details in Level2
* upd openapi
---------
Co-authored-by: generall <andrey@vasnetsov.com >
---------
Co-authored-by: Tim Visée <tim+github@visee.me >
Co-authored-by: Luis Cossío <luis.cossio@qdrant.com >
2025-04-17 23:32:10 +02:00
Predrag Knezevic
9d67c6325b
Test collections unique per openapi test module ( #5384 )
...
Collection name under test is equal to the test module name, without `.py` suffix.
* Helps by debugging/tracing failed tests and find relevant logs lines in qdrant log files
* Opens up a possibility to run tests in parallel, given that there are no data sharing
between test modules
Change details:
* defined module scoped `collection_name` fixture in `conftest.py`
* removed `collection_name` module variable
* each test signature modified to declare the dependency to `collection_name` fixture
* `@pytest.mark.parametrize` migrated to `@pytest-cases.parametrize` in cases when
`collection_name` was used as the value
2024-11-06 20:09:31 +01:00
xzfc
e58dbbb5be
chore: move tests/openapi/openapi_integration/* → tests/openapi/* ( #4820 )
2024-08-03 21:44:22 +02:00