-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Per-collection metrics for Prometheus #3322
Description
Is your feature request related to a problem? Please describe.
Currently, all metrics in /metrics are global, meaning that it’s impossible to see differences per collection.
In addition to that, all our metrics should have per-collection granularity to allow better aggregation in Prometheus, including:
- point/vector counts
- REST/gRPC requests
Describe the solution you'd like
Example:
grpc_responses_min_duration_seconds{endpoint="/qdrant.Points/Upsert"} 0.000046
grpc_responses_min_duration_seconds{endpoint="/qdrant.Points/Upsert",collection="my-collection"} 0.000049
grpc_responses_min_duration_seconds{endpoint="/qdrant.Points/Upsert",collection="my-collection-2"} 0.000046
Describe alternatives you've considered
Create dedicated endpoint for each collection /collections/my-collecton/metrics
but feedback from DevOps on this idea was negative.
Additional context
It might be beneficial to allow users to disable per-collection output. It is especially relevant if there are a lot of collections and metric response could become huge. But this is a nice-to-have requirement.
Note for contributors: Please consider this as tracking issue. If you think that it would be beneficial to split the task into multiple smaller PRs, please you are welcome to do so. Bounty will be rewarded for each PR independently