-
Notifications
You must be signed in to change notification settings - Fork 782
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
OTLP support for exporting exponential histograms #4337
Merged
alanwest
merged 22 commits into
open-telemetry:main
from
alanwest:alanwest/exp-histogram-export
Mar 28, 2023
Merged
OTLP support for exporting exponential histograms #4337
alanwest
merged 22 commits into
open-telemetry:main
from
alanwest:alanwest/exp-histogram-export
Mar 28, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #4337 +/- ##
==========================================
+ Coverage 84.67% 84.70% +0.02%
==========================================
Files 298 298
Lines 11937 11970 +33
==========================================
+ Hits 10108 10139 +31
- Misses 1829 1831 +2
|
cijothomas
reviewed
Mar 27, 2023
cijothomas
reviewed
Mar 27, 2023
cijothomas
reviewed
Mar 27, 2023
reyang
reviewed
Mar 27, 2023
src/OpenTelemetry.Exporter.Prometheus.HttpListener/Internal/PrometheusSerializerExt.cs
Outdated
Show resolved
Hide resolved
cijothomas
approved these changes
Mar 27, 2023
utpilla
reviewed
Mar 28, 2023
src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/MetricItemExtensions.cs
Outdated
Show resolved
Hide resolved
utpilla
approved these changes
Mar 28, 2023
…pentelemetry-dotnet into alanwest/exp-histogram-export
10 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes the
Base2ExponentialHistogramConfiguration
public. Support is added to the OTLP exporter for exporting exponential histograms.Follow ups for other exporters
Minimal work is done in this PR to the console and Prometheus exporters so that they don't blow up. Follow ups to consider:
Prometheus exporter
Currently, the exporter ignores exponential histograms. The collector exporter logs an error. We could do the same, though it may occur frequently?
Example:
2023-03-27T18:23:00.908Z error prometheusexporter@v0.74.0/accumulator.go:105 failed to translate metric {"kind": "exporter", "data_type": "metrics", "name": "prometheus", "data_type": "\u0004", "metric_name": "http.server.duration"}
Console exporter
With this PR only the sum, count, min, and max are displayed. Buckets are not yet displayed. Two options:
Java's console exporter supports OTLP/JSON format, so the bucket counts just show up as an array of numbers. The JSON looks roughly like:
"http.server.duration":{"dataPoints":[{"timeUnixNano":"10","count":"6","sum":10.0,"min":1.0,"max":5.0,"positive":{"offset":10,"bucketCounts":["1","2","3"]},"negative":{},"exemplars":[],"attributes":[],"aggregationTemporality":1}
The collector's logging exporter calculates the bucket boundaries for display. This can become very lengthy
Collector logging exporter example