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.
Code that compiles fine for ARMv7 and AMD64, fails when compiling for MIPS (
mipsel-unknown-linux-musl):It looks like that
mipstargets are usingu32instead ofu64for counter values:https://github.com/prometheus/client_rust/blob/master/src/metrics/counter.rs#L51
And indeed there is no
EncodeCounterValueimplementation foru32: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.