-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
exporter/prometheusexporter: support Summary #2900
exporter/prometheusexporter: support Summary #2900
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2900 +/- ##
=======================================
Coverage 91.67% 91.67%
=======================================
Files 311 287 -24
Lines 15308 15284 -24
=======================================
- Hits 14033 14011 -22
Misses 868 868
+ Partials 407 405 -2
Continue to review full report at Codecov.
|
720d235
to
5fa2c7d
Compare
e50e22c
to
d991f64
Compare
Alright, ready for action, kindly cc-ing some reviewers @alolita @Aneurysm9 @rakyll @bogdandrutu @brian-brazil. |
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.
The description of the PR is incorrect the ignore of no sum is fixed.
c36b80c
to
1a89d7f
Compare
@bogdandrutu sorry I don't follow what you mean, all I talked about was that now we export Summary through the prometheusexporter, where does "the ignore of no sum is fixed" relate? Thanks for the review too! |
@odeke-em please fix lint errors |
Allows Summary metrics to be exported to Prometheus. To walk through this feature, I created an adaptation of a Brian Brazil tutorial for DropWizard, to create a Java server at https://github.com/odeke-em/bugs/tree/master/opentelemetry-collector/2661 and it uses DropWizard, and exports out JVM statistics with Prometheus where the *gc_collection_seconds are of the summary kind when scraped by visiting http://localhost:1234/metrics which produced ``` # HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds. # TYPE jvm_gc_collection_seconds summary jvm_gc_collection_seconds_count{gc="G1 Young Generation",} 4.0 jvm_gc_collection_seconds_sum{gc="G1 Young Generation",} 0.026 jvm_gc_collection_seconds_count{gc="G1 Old Generation",} 0.0 ``` and then roundtripped the collector to scrape those metrics and then export them to Prometheus VS making Prometheus directly scrape that endpoint and then comparing results. Also added an end to end test to ensure that a mock DropWizard server which produces JVM statistics can be scraped by the Prometheus receiver, which will feed metrics to an active Prometheus exporter, and then we scrape from the Prometheus exporter to ensure that the summary metrics are written out and that they make sense. DropWizard -> Prometheus Receiver -> Prometheus Exporter -> HTTP scrape + Verify Fixes open-telemetry#2661
1a89d7f
to
eaaf2ab
Compare
@bogdandrutu done, although the "lint" flagged legitimate Go code in 2 cases that don't make sense so might want to look at the false positives. Thank you for the reviews @Aneurysm9 and @bogdandrutu! |
* Increase timeout to 10m for golangci-lint * Add Makefile.common to workflow triggers * Use --allow-parallel-runners for signalfx-agent lint
Allows Summary metrics to be exported to Prometheus.
To walk through this feature, I created an adaptation of a Brian Brazil
tutorial for DropWizard, to create a Java server at
https://github.com/odeke-em/bugs/tree/master/opentelemetry-collector/2661
and it uses DropWizard, and exports out JVM statistics with Prometheus where the
*gc_collection_seconds are of the summary kind when scraped by visiting
http://localhost:1234/metrics which produced
and then roundtripped the collector to scrape those metrics and then
export them to Prometheus
making Prometheus directly scrape that endpoint and then comparing
results.
Fixes #2661