-
Notifications
You must be signed in to change notification settings - Fork 889
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
Define MetricProducer as a third-party provider of metric data to MetricReaders #2951
Conversation
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.
Overall, I'm supportive - this is a critical part which makes it possible to converge OpenCensus.
I've left several non-blocking comments considering the added part is Experimental.
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.
Non blocking comments!
Question i'm not entire sure of: I've marked the MetricBridge as experimental, but the Register() function is part of the MetricReader, which is stable. Does that make sense? Or would both essentially need to be stable for any stable languages to implement this? |
2ed056b
to
85b3491
Compare
I feel it is clear to me. Maybe adding a note in the MetricReader.Register() section saying it is Experimental? |
Co-authored-by: jack-berg <[email protected]>
Co-authored-by: Reiley Yang <[email protected]>
Co-authored-by: Georg Pirklbauer <[email protected]>
This reverts commit aa92234.
ab00a0f
to
a5a4b80
Compare
Done. |
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 assuming the changelog will be updated.
Co-authored-by: Reiley Yang <[email protected]>
Added a changelog |
a97c78f
to
ba73f10
Compare
Supersedes #2838 and #2722.
Issue: #1175
This is needed to support an OpenCensus metric bridge, which is will be proposed separately. It could also be used to support other bridges as well, such as a Prometheus bridge.
Changes
Define the MetricProducer interface, with one method: Produce(). MetricProducers SHOULD have a single InstrumentationScope, and can be configured with a Resource.
Add a RegisterProducer(metricProducer) function to MetricReader.
MetricProducers SHOULD allow configuration of temporality, but this isn't enforced via the metric reader. This is because the reader's temporality is configured as a function of OpenTelemetry instrument.
Changes from the previous iteration
Things that are left up to implementations
@jsuereth @bogdandrutu @jmacd @reyang @pirgeo @MadVikingGod @MrAlias @jack-berg