http: improve HTTP api metrics with additional labels
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
Related to #10250
In Consul 1.9.x we improved our HTTP API metrics to use labels instead of the key to identify the endpoint and HTTP method.
In addition to those labels, we would benefit from a few more.
Specifically a `blocking={true, false}` would be a large improvement. We expect blocking requests to have a very long elapsed time relative to non-blocking queries. By adding a label we'll be able to differentiate between these requests with two very different query behaviours.
This issue may be updated with suggestions for other labels.
Contributor guide
Research direction
Start with related issue #10250 and the existing Consul 1.9.x HTTP API metrics implementation. Confirm how blocking and non-blocking requests are distinguished and where endpoint and method labels are defined. Done means exposing a blocking=true or blocking=false label and verifying the resulting metrics behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, observability
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100