prometheus / prometheus/client_rust

Tracking issue for complete 32-bit support

Open
#207 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.