-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[chore] Add E2E test to assert internal metrics #13519
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
Conversation
ArthurSens
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wohoo, that is an awesome start! I wouldn't say it fixes #13456, though. What I had in mind for that issue is that we provide some kind of platform, where if a component becomes Stable, we'll automatically include it in our end-to-end tests.
Also, for a follow-up, metrics exposed by Prometheus may have different formats depending on content negotiation. Not sure if we want to assert only the scrape without negotiation or if we want to cover other kinds of content types.
jade-guiton-dd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! You'll want to fix the conflict so the CI can run.
You are right. I modified the PR description to just refer to the ticket but not close it. As it was being discussed, very likely |
5018568 to
84f37a3
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #13519 +/- ##
==========================================
- Coverage 91.95% 91.93% -0.03%
==========================================
Files 529 529
Lines 31446 31446
==========================================
- Hits 28917 28909 -8
- Misses 1998 2004 +6
- Partials 531 533 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b0cd18a to
6df7f3d
Compare
ArthurSens
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I've tested this test manually and tried changing some metric names in metadata.yaml files just to verify it fails if the name changes. It does!
What I'm concerned now is that some metrics seem to be broken already, I see duplicated units like otelcol_exporter_sent_spans__spans__total (double span), and also duplicated underscores. This isn't what they were supposed to look 🤔
codeboten
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @iblancasa! This is super exciting and something this repo has needed for some time
I think we only need to test both NoTranslation and UnderscoreEscapingWithSuffixes. the other two should be fine if those two work |
this configuration doesn't exist in Go SDK yet, so we need to implement that first |
e77c066 to
a4ce1a4
Compare
songy23
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please rebase or merge main, the metric names should no longer have duplicated units
ArthurSens
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for working on this ❤️
| "otelcol_processor_batch_batch_send_size": false, | ||
| "otelcol_processor_batch_batch_send_size_bytes": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, that looked weird, but looking at the metadata.yaml file, there really are two metrics with "same" name, just changing that the unit was added as suffix.
From my understanding, this goes against OTel's spec for metric names, but let's worry about that in the right time :P
Signed-off-by: Israel Blancas <[email protected]>
|
@open-telemetry/collector-approvers could we have this merged? |
308d321
Description
Add E2E test to ensure internal metrics remain with the same name after changes done to the collector or their dependencies.
Link to tracking issue
Relates #13456
Fixes #12918