prometheus / prometheus/client_rust
Using `()` as label set generates invalid format
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 606
- Forks
- 113
- Avg merge
- 9h 7m
- Merged PRs (30d)
- 8
Description
I tried using () as the label set for a family, like Family<(), Histogram, ...>. Unfortunately this resulted in the following line in my metrics output:
histogram_name_bucket{,le="1.0"} 44
This results in a expected label name, got "COMMA" error when Prometheus tries to collect the metrics.
I would expect this to "just work" and just not insert any label (i.e. basically not have the leading comma in {,le="1.0"})
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 tracing how histogram label sets are formatted for a family declared as Family<(), Histogram, ...>, then reproduce the output shown in the issue. Done means an empty label set produces valid Prometheus text without the leading comma, and Prometheus accepts the collected metrics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- observability
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100