client_rust
client_rust copied to clipboard
mips: EncodeCounterValue implementation missing for u32?
Code that compiles fine for ARMv7 and AMD64, fails when compiling for MIPS (mipsel-unknown-linux-musl):
...
the trait `EncodeCounterValue` is not implemented for `u32`
|
= help: the following other types implement trait `EncodeCounterValue`:
u64
f64
= note: required for `prometheus_client::metrics::counter::Counter` to implement `EncodeMetric`
= note: 1 redundant requirement hidden
...
It looks like that mips targets are using u32 instead of u64 for counter values:
https://github.com/prometheus/client_rust/blob/master/src/metrics/counter.rs#L51
And indeed there is no EncodeCounterValue implementation for u32:
https://github.com/prometheus/client_rust/blob/master/src/encoding.rs#L537
Edit: This issue might apply to other types as well, e.g. Gauge. I have not tested this.