I _think_ I have an aggregation temporality problem? How to fix? #3789
Unanswered
pvogel1967
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Working on moving over to open telemetry from proprietary signalFx libraries (which, in turn, we'd moved to from StatsD based metrics).
We have a number of counters, some of which we care about the value in the last
n
seconds or so. Things like cache misses per minute, etc. I've been trying to use a counter for those, but that just seems tostick
at the highest value and just keeps increasing, even if there weren't any misses in the last 10 minutes or so, we get a steady count of, say 20 and then when another miss happens we see a count of 21 that will "stick" for evermore.What I really want is what did the count get to in the last minute, summed across all our containers (the sum I can obviously take care of in signalFx). But if the following minute we have no misses, then I want a zero.
Similarly, we have various things that we treat as a gauge -- stuff like what is the current length of a queue or how many concurrent workouts are we handling. Not as an observable, because it is most convenient for us to just update the current value when we are in the process of adding something to a queue or adding/removing a workout to the set of workouts we're handling with an auto-scrub to remove any workouts that are "stale" because the client's workout finished api call never reached us (can happen for a variety of reasons, but we know the last possible time the workout could still be active, so we can easily scrub the info using a redis sorted set). This fairly naturally falls into a histogram where we care about the latest maximum value (and don't really care about the buckets/counts/etc.). The problem I'm encountering, however, is that the maximum value "sticks" and doesn't decrease even though we're sending an updated value that is lower at some point. Again, feels like the aggregation temporality here is always "forever" instead of "in the last
n
seconds...These are such common use-cases that I cannot believe there isn't an answer for it, so I'm assuming I'm missing something?
Using @opentelemetry/api: 1.4.1
Beta Was this translation helpful? Give feedback.
All reactions