quickwit-oss / quickwit-oss/quickwit
More granularity to the quickwit_http_requests_total metric
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 11.7k
- Forks
- 597
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 37
Description
Is your feature request related to a problem? Please describe.
When looking at a cluster or a node, it is very useful to correlate "behavior metrics" (e.g resource usage) with "usage metrics" (number of requests, ingested bytes). As the HTTP API is one of the core user interfaces, it would be good to have a more accurate view on the kind of endpoints that are used. For instance, we want to be able to filter out healthcheck calls. It is also very useful to detect unexpected client activities (e.g search queries sent to indexers).
Describe the solution you'd like
Add an "endpoint" label to quickwit_http_requests_total
Describe alternatives you've considered
We could also group endpoints to decrease cardinality, but the information loss is probably not worth the benefit, especially when taking into account that a node is usually specialized (e.g search) and only receives requests to a small subset of the API.
Additional context
Add any other context or information about the feature request here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the quickwit_http_requests_total metric definition and the HTTP API request instrumentation. Trace how requests are associated with endpoints, then verify that the metric exposes an endpoint label and that healthcheck and other API requests can be distinguished in the exported metrics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, observability
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100