A working POC for conradludgate/measured ripping out tikv/rust-prometheus. It did take me about 3h of cranking to make everything work like before, but it's a one time cost.
can force it do take defaults everywhere to make DynamicLabels reasonably ergonomic
Note that the fixed cardinality stuff is not something we actually use, nor a main focus atm, as a controller benefits from dynamic labels for the objects it is reconciling and they are generally bound the cluster size anyway. But I can see it being useful for constraining error sizes down the road (the current error_label thing is very lazy and could blow up a bit under bad conditions).
CONS:
complexity overhead for dealing with interned strings and lasso (dependency is exposed so you have to understand this)
complexity dealing with labelgroup derive creating hidden structs with different names (confused me the most when migrating)
reflection for getting values for unit tests are a little awkward / but on plus side no registries!
does not build upon the official client so uncertain if future/potential native histogram would be propagated (but from benchmarks the official client is also not great...)
I believe opemetrics text format with exemplars could be easily retrofitted on top of measured, so maybe that's a way forward.
A working POC for conradludgate/measured ripping out tikv/rust-prometheus. It did take me about 3h of cranking to make everything work like before, but it's a one time cost.
PROS:
CounterVec
ReconcileMeasurer
scope thing)Note that the fixed cardinality stuff is not something we actually use, nor a main focus atm, as a controller benefits from dynamic labels for the objects it is reconciling and they are generally bound the cluster size anyway. But I can see it being useful for constraining error sizes down the road (the current error_label thing is very lazy and could blow up a bit under bad conditions).
CONS:
native histogram
would be propagated (but from benchmarks the official client is also not great...)I believe opemetrics text format with exemplars could be easily retrofitted on top of
measured
, so maybe that's a way forward.