-
Notifications
You must be signed in to change notification settings - Fork 5k
[chore] Update prometheus to match OTel v0.120.0 #42748
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
[chore] Update prometheus to match OTel v0.120.0 #42748
Conversation
Update performed by running `go get github.com/prometheus/[email protected]` which matches https://github.com/elastic/elastic-agent/pull/6912/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6R496.
|
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
|
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
|
cc @blakerouse for 👀 as you created a similar PR before. |
Added `fallbackType == ""` and `skipOMCTSeries == false`. OMCT series are OpenMetrics CreatedTimestamp timeseries, and I believe the default for this is false.
|
I've pushed a commit to fix the compilation error by adding missing parameters to the See [email protected] (before this change) and [email protected] (after this change). I've set |
|
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
|
Pinging @elastic/obs-infraobs-integrations as they own the prometheus integration that depends on this and are most likely to know how to test any impact this might have. https://github.com/elastic/integrations/blob/119156a21359b7a56756e91743b18d6970b9c643/packages/prometheus/manifest.yml#L35 |
|
In https://github.com/elastic/beats/blob/26fecc126fe80b648471e401a7b175cf2165ab1b/metricbeat/mb/testing/testdata.go#L119C6-L119C23 the default content type is is not supported as mediaType. For the same behaviour as in previous versions we could use |
…:andrzej-stencel/beats into update-prometheus-to-match-otel-v0.120.0
…:andrzej-stencel/beats into update-prometheus-to-match-otel-v0.120.0
@swiatekm Also the PR ci was failing almost every time. Check one buildkite output that shows exactly that. I updated the test logic because I think it was faulty in the part that it was forcing the lease renewals. |
|
For me the PR is good to be merged! |
|
@elastic/obs-infraobs-integrations based on a concern raised from @tommyers-elastic, do you believe that the compatibility of the new |
|
i have found at least one way this can cause a breaking change for prometheus 2.x users, which can occur when scraping targets that do not send content type headers, as described here. running the prometheus collector metricbeat module in the otel collector prometheus receiver actually suffered from the same bug after they recently upgraded to prometheus 0.300.x, open-telemetry/opentelemetry-collector-contrib#38018. i am continuing to test, but right now I don't think we can merge this without more thorough consideration of breaking changes and more testing and validation. FYI @lalit-satapathy |
Hey 👋 -- Prometheus maintainer here and the person who updated the Prometheus dependency in the collector (I got here after @andrzej-stencel ping me 😄) Your comment is spot on! This is a breaking change in Prometheus, but doesn't necessarily needs to be in the collector and its distributions. Prometheus started to fail scrapes that don't have content-type headers during negotiation, but that's where the new config In the collector, during start-up we read the provided configuration for the Prometheus receiver and, if not present, we add |
|
We also noticed breaking changes once we upgraded the dependency of prometheus/common to 0.62.0, which relaxed its requirements about what kind of metric/label name is valid. Now, every UTF-8 character is valid, not just underscores. I've noticed that in this PR, you managed to keep prometheus/common below 0.62, but the next releases of Prometheus require it. I just wanted to make sure you're aware :) |
|
I am removing the EDOT collector's dependency on Beats in elastic/elastic-agent#7023 in the 9.0 branch to give us more time to sort this out. |
|
Is this still required for updating otel components to Because the parent PR is required to be merged in elastic-agent, to update recent changeset from ES-exporter See issues blocked elastic/elastic-agent#7233 (comment) |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
|
This PR is blocking multiple tasks related to the OTel SRE work. Does anyone have any updates on this? According to the most recent messages, we found some breaking changes with the proposed fix, which are preventing it from being merged. |
|
Please follow this issue #42916 for ongoing Prometheus Migration tasks. |
|
FYI we migrated directly to OTel v0.121.0 in elastic/elastic-agent#7686. Closing this PR since it is now obsolete. |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
|
Sorry, I did not mean to close this, I thought it was elastic/elastic-agent#6912. Apologies. |
|
@andrzej-stencel @cmacknz do we still need this PR or we solved it elsewhere? |
Proposed commit message
Update
github.com/prometheus/prometheusdependency to v0.300.1by running
go get github.com/prometheus/[email protected].This version matches the version used in OTel v0.120.0,
and this update is needed to include OTel v0.120.0 in Elastic Agent.
See https://github.com/elastic/elastic-agent/pull/6912/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6R496.
Checklist
[ ] I have commented my code, particularly in hard-to-understand areas[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files[ ] I have added tests that prove my fix is effective or that my feature works[ ] I have added an entry inCHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.