Greetings!

Sending a message here to let everyone aware of a proposal that Bartek, 
Max, Daniel, and I put together: 
https://docs.google.com/document/d/1kakDVn8aP1JerimLeazuMfy2jaB14W2kZDHMRokPcv4

We're proposing an efficient way to store counter's created timestamps, and 
an interface to use them. If done correctly, we're aiming to solve these 
problems:

   - 
   
   Common problems of uninitialized counters occur. We don’t know when the 
   metric with value 0 started, so the counter starts with an incremented 
   value. This can impact visualization and alerting.
   

   - 
   
   It’s possible for rates to be inaccurate for slowly increasing counters 
   and many restarts in between.
   - 
   
   Finding absolute value for longer metrics is expensive as one has to go 
   sample by sample to detect resets. This impacts ingestors as it requires 
   stateful algorithms that discern between new metrics and long-running 
   ones it did not see before 
   
<https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#counter>,
 
   as well as advanced algorithms like read-level deduplication algorithm in 
   Thanos.
   

This work is being done as part of Google Summer of Code (issue reference 
<https://github.com/prometheus/prometheus/issues/6541>), with a deadline of 
November of this year. Feedback and comments are appreciated!

Kind regards,
Arthur

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/e0cbc2f1-4f21-4504-9d55-e41904a971f5n%40googlegroups.com.

Reply via email to