-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[receiver/statsd] Gaps in counter data (delta temporality) #18470
Comments
Pinging code owners: See Adding Labels via Comments if you do not have permissions to add labels yourself. |
It seems like setting the start timestamp and timestamp when doing |
Hi @matej-g. Thanks for reporting. I think you're right. |
Thanks for confirming @dmitryax, PR is incoming 👍 |
These changes makes sure that the start timestamp and timestamp of successive data points for counters align, as is required for delta temporality metrics (see description of the issue in #18470 and relevant spec part - https://opentelemetry.io/docs/reference/specification/metrics/data-model/#resets-and-gaps) Signed-off-by: Matej Gera <[email protected]>
Component(s)
receiver/statsd
What happened?
Description
First of all, I'm relatively new to the Statsd protocol, but I'm trying to get the use case of Statsd receiver -> OTLP exporter working for some of my users. So I also wanted to make sure I'm not misunderstanding how this should actually work.
When sending simple counter with delta temporality for testing to the collector, I see that the timestamps on the exports after the aggregation do not add up. What I mean by that is that the receiver does not build an 'unbroken sequence' as described in the spec - the start timestamp and timestamp of the preceding and current point do not match, i.e. this condition is not fulfilled:
Example:
(see below for a full log excerpt)
Since the backend that I export to expects this condition, I'm unable to export delta temporality metrics, since they are getting reset due to non-matching start points.
In comparison, when doing the same with OTLP receiver -> OTLP exporter, I'm getting results as expected and the timestamp points correctly to the preceding one.
Steps to Reproduce
Expected Result
The timestamp of preceding point matches the start timestamp of the next point
Actual Result
Gaps between timestamp of preceding point and the start timestamp of the next point
Collector version
latest
main
(fac9f8b
)Environment information
Environment
OS: (e.g., "Ubuntu 20.04")
Compiler(if manually compiled): (e.g., "go 14.2")
OS: MacOS 12.6.2
Compiler (Go version): go1.19.5 darwin/arm64
Running as a binary on my host machine (no container)
OpenTelemetry Collector configuration
Log output
Additional context
No response
The text was updated successfully, but these errors were encountered: