-
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
spanmetricsconnector produces a lot of exemplars #23872
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
One solution could be having an option to disable exemplars in spanmetricsconnector? I can work on this if you folks agree. |
I think we can simply have the option to disable exemplars. BTW, can we have some strategies to determine whether one metric event needs an exemplar? The first strategy coming into my mind is that we can have a latency threshold to determine it. e.g. exemplar:
enabled: true
strategy:
latencyThreshold: 500ms
|
I like @Frapschen's idea of adding configurability into examplars. I would only suggest to use the naming convention of I also do prefer @Frapschen's |
I wan't to do this step by step, so pushed a PR which disables Exemplars by default -> #24048 I like the concept of strategies. I was thinking we could have another "OnePerHistogramBucket" strategy, which would allow to collect up to one exemplar per histogram's latency bucket. Since in agent deployment model we might get quite a lot of different services sending spans, and for one service X ms is slow, for another it's fast, so hard to have one threshold :) So config would be like this:
Thoughts? Also should we add the existing "collect all" behaviour as strategy? |
**Description:** <Describe what has changed.> <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> Breaking change! Allows enabling / disabling Exemplars. **Link to tracking Issue:** <Issue number if applicable> #23872 **Testing:** <Describe what testing was performed and which tests were added.> - Added unit test **Documentation:** <Describe the documentation added.> - Added docs --------- Co-authored-by: Albert <26584478+albertteoh@users.noreply.github.com> Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
FYI we just merged the default exemplars disabled behaviour. What should we do for exemplar "sampling" strategies? Which one should we implement? Let me know, I can find some time to work on it :) |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Given the original issue is fixed. Im closing this, we can add / discuss strategies in different issues |
Component(s)
connector/spanmetrics
What happened?
Description
Every single span sent to span2metrics adds an Exemplar to the histogram metric, which can be quite a lot of data. Since Exemplars record, span id, trace id, latency and timestamp.
General question - whether this actually defeats the purpose of the Histogram? As with histograms I mainly expect aggregated data , not every single recorded event.
I added a bunch of debugging info on span2metric connector and I can see them:
I couldn't find other way to print exemplars to console. But my test shows If in histogram sample count is 248819, then exemplar count is also 248819
Steps to Reproduce
Expected Result
Actual Result
Collector version
v0.80.0
Environment information
Environment
OS: (e.g., "Ubuntu 20.04")
Compiler(if manually compiled): (e.g., "go 14.2")
OpenTelemetry Collector configuration
Log output
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: