-
Notifications
You must be signed in to change notification settings - Fork 164
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
OTEP 0049: LabelSet specification (to match current Metrics spec) #49
OTEP 0049: LabelSet specification (to match current Metrics spec) #49
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.
./text/0000-metric-label-set.md:97:310: "acceptible" is a misspelling of "acceptable"
make: *** [Makefile:16: misspell] Error 2
Please fix.
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 looks like this proposal removes the Handle and replace it with raw APIs on metrics that accepts a LabelSet. I think this is too much statsd model centric and we penalize all the new modern systems/protocols like prometheus and openmetrics.
If we move forward with what we agreed that all the operations happens on a Handle (except the batch record) then the only place where this optimization may have an effect is on the batch.
Based on my experience when we used the batch version like grpc/http the labels are not known at compilation time, so the label set must be constructed for every individual request so this optimization does not have any effect (adds more overhead most likely because I need to create an extra object LabelSet).
I am not sure that we need this for the moment.
Co-Authored-By: dyladan <dyladan@users.noreply.github.com>
Co-Authored-By: dyladan <dyladan@users.noreply.github.com>
Co-Authored-By: dyladan <dyladan@users.noreply.github.com>
Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com>
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 overall.
I think it's worth making it very, very clear what is expected to live in the API and what will need to be re-implemeneted by each SDK.
Co-Authored-By: Isobel Redelmeier <iredelmeier@gmail.com>
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.
LG overall, some comments left
text/0049-metric-label-set.md
Outdated
In languages where overloading is a standard convenience, the metrics API may elect to offer alternate forms that elide the call to `Meter.Labels()`, for example: | ||
|
||
``` | ||
instrument.GetHandle(meter, { Key: Value, ... }) |
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.
I think this needs to be updated because instrument is now generated by the meter so no need to pass that.
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.
Fixed.
One comment: |
Your last question about named meters kind of made my head explode. I wish we had a standard term for the thing which is shared by all named meters, is that "provider", is that "engine", is that "SDK"? I would state that labels are usable by any meter from the same provider. I'm adding this text
|
This PR was opened for a long time and it has 3 official approver LGTM + few others coming from people interested in metrics. Entering God mode and merge this. |
…en-telemetry#49) * Draft LabelSet spec * Typos * Add notes on performance expectations * Typo * Updates to use Monotonic/NonMonotonic, and NonNegtive/Signed * Revert * PR number 49 * Major revision to match the already-merged specification on LabelSet * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Accept suggested phrasing * Revert mod changes eh? * Update text/0049-metric-label-set.md Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: Isobel Redelmeier <iredelmeier@gmail.com> * Remove explicit meter argument where not necessary
…en-telemetry#49) * Draft LabelSet spec * Typos * Add notes on performance expectations * Typo * Updates to use Monotonic/NonMonotonic, and NonNegtive/Signed * Revert * PR number 49 * Major revision to match the already-merged specification on LabelSet * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Accept suggested phrasing * Revert mod changes eh? * Update text/0049-metric-label-set.md Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: Isobel Redelmeier <iredelmeier@gmail.com> * Remove explicit meter argument where not necessary
…en-telemetry#49) * Draft LabelSet spec * Typos * Add notes on performance expectations * Typo * Updates to use Monotonic/NonMonotonic, and NonNegtive/Signed * Revert * PR number 49 * Major revision to match the already-merged specification on LabelSet * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Accept suggested phrasing * Revert mod changes eh? * Update text/0049-metric-label-set.md Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: Isobel Redelmeier <iredelmeier@gmail.com> * Remove explicit meter argument where not necessary
…en-telemetry/oteps#49) * Draft LabelSet spec * Typos * Add notes on performance expectations * Typo * Updates to use Monotonic/NonMonotonic, and NonNegtive/Signed * Revert * PR number 49 * Major revision to match the already-merged specification on LabelSet * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: dyladan <dyladan@users.noreply.github.com> * Accept suggested phrasing * Revert mod changes eh? * Update text/0049-metric-label-set.md Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com> * Update text/0049-metric-label-set.md Co-Authored-By: Isobel Redelmeier <iredelmeier@gmail.com> * Remove explicit meter argument where not necessary
This proposal was discussed in the Sept 10, 2019 metrics call.