prometheus / prometheus/client_rust
Tracking issue for complete 32-bit support
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 606
- Forks
- 113
- Avg merge
- 9h 7m
- Merged PRs (30d)
- 8
Description
There is a number of small issues making usage of the lib on 32-bit systems (such as embedded chips) impossible or limited. I’ll collate them in this issue with the relevant PRs when I or someone else tackle them, in order to avoid opening many issues but still remember the list.
- 32 bit support on mips and powerpc platforms: was already done by @chitoku-k in #42, thanks !
- 32 bit support on all platform #201 #203
- u32 support for Counter: has been done by @brocaar in #173, thanks !
- f32 support for Counter: #216
- u32 support for Gauge: was already done by @koushiro in #191, thanks !
- f32 support for Gauge: #216
- i32 support for Gauge: has been done by @brocaar in #173, thanks !
- Histograms support for something smaller than f64: this one is not a blocker as Histograms use a RWLock rather than Atomics so it works (non-atomic f64 support is always present in Rust via emulation), but it may be slower or consume more memory than wished for
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
The remaining work is the unchecked histogram item: support a type smaller than f64 for 32-bit systems. Start by locating the histogram implementation and reviewing the completed 32-bit support work referenced in this issue; done means the smaller representation works correctly on supported 32-bit targets without regressing existing histogram behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100