-
Notifications
You must be signed in to change notification settings - Fork 888
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
Include the raw measurement values as part of a histogram data point. #3797
Comments
The request to be able to export raw measurements is a duplicate of #617. I think its unlikely we would extend the histogram OTLP definitions to include raw measurements, since the whole point of metrics is to aggregate many raw measurements to reduce the footprint of the exported data. However, I have to say I don't understand your use case. You mention that you need the raw measurements since the histogram type only contains a summary of the data, but the same is also true for sum data aggregated for counters / up down counters. OTLP histograms can be re-aggregated just the same as sum data. |
Thank you for addressing the issue! As for the use case, as I mentioned earlier, we want to accumulate the metrics reported by parallel instances of a short-lived process. Last we checked, the Collector doesn't seem to support aggregating metrics from multiple sources. To work around this, we have a separate, long-running process that will be export the metrics on behalf of the short-lived processes. Here is a diagram: To be concrete, suppose the short-lived process has a histogram metric called |
You're right - the long running process won't be able to accept the aggregated histograms and use them to call FWIW, I believe it should be possible to develop a custom processor (or receiver) to accomplish this in the collector. Though as you note, I don't know how you would accomplish it using any of the out-of-the-box tools. Its conceptually similar to the tailsamplingprocessor in that it accumulates state, but the tailsamplingprocessor is accumulating spans where you need to accumulate / aggregate metrics. |
The ask for raw measurement is a duplicate of #617. The actual problem described here seems to be a different thing which is covered by #3797 (comment). |
Use-case
We have a use case where we need to accumulate the metrics reported by multiple parallel, unique instances of a short-lived process. We cannot use the OTLP exporter to directly export to the Collector, as the most recent data point will replace the current one (instead of accumulating). To circumvent the issue, we have a custom exporter that reports the data to another long-running process, which takes care of the accumulation and ultimately exports to the Collector. This works for all instrument types except Histogram; the data reported by the short-lived process only contains a summary of the data:
min
,max
,counts
, andsum
. We need the actual, raw measurement values in the long-running process for the accumulation.Proposed Solution
We maintain a copy of the client (Opentelemetry-cpp) library, so we can modify the Histogram data point to include the raw measurement values and fix our problem. But, there may be others out there with the same use-case as ours, and for that reason, I am opening this issue to see if this can be part of the official specification. Thoughts?
The text was updated successfully, but these errors were encountered: