-
Notifications
You must be signed in to change notification settings - Fork 320
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
LabelSet: Fix alphabetical sorting for prometheus LabelSet #575
Merged
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
Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
wasim-nihal
changed the title
LabelSet: Custom alphabetical sorting for prometheus LabelSet
LabelSet: Fix alphabetical sorting for prometheus LabelSet
Feb 9, 2024
bboreham
approved these changes
Feb 29, 2024
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.
All looks good to me. I verified your benchmark results.
codeboten
referenced
this pull request
in open-telemetry/opentelemetry-collector
Apr 11, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/prometheus/common](https://togithub.com/prometheus/common) | `v0.48.0` -> `v0.52.3` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fcommon/v0.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fprometheus%2fcommon/v0.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fprometheus%2fcommon/v0.48.0/v0.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fcommon/v0.48.0/v0.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>prometheus/common (github.com/prometheus/common)</summary> ### [`v0.52.3`](https://togithub.com/prometheus/common/compare/v0.52.2...v0.52.3) [Compare Source](https://togithub.com/prometheus/common/compare/v0.52.2...v0.52.3) ### [`v0.52.2`](https://togithub.com/prometheus/common/releases/tag/v0.52.2) [Compare Source](https://togithub.com/prometheus/common/compare/v0.51.1...v0.52.2) #### What's Changed - Drop support for Go older than 1.18 by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/common/pull/612](https://togithub.com/prometheus/common/pull/612) - fix(protobuf): Correctly decode multi-messages streams by [@​srebhan](https://togithub.com/srebhan) in [https://github.com/prometheus/common/pull/616](https://togithub.com/prometheus/common/pull/616) - Bump github.com/aws/aws-sdk-go from 1.50.31 to 1.51.11 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/615](https://togithub.com/prometheus/common/pull/615) #### New Contributors - [@​srebhan](https://togithub.com/srebhan) made their first contribution in [https://github.com/prometheus/common/pull/616](https://togithub.com/prometheus/common/pull/616) **Full Changelog**: prometheus/common@v0.51.1...v0.52.2 ### [`v0.51.1`](https://togithub.com/prometheus/common/releases/tag/v0.51.1) [Compare Source](https://togithub.com/prometheus/common/compare/v0.51.0...v0.51.1) #### What's Changed - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/606](https://togithub.com/prometheus/common/pull/606) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/609](https://togithub.com/prometheus/common/pull/609) - Retract v0.50.0 by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/common/pull/610](https://togithub.com/prometheus/common/pull/610) **Full Changelog**: prometheus/common@v0.51.0...v0.51.1 ### [`v0.51.0`](https://togithub.com/prometheus/common/releases/tag/v0.51.0) [Compare Source](https://togithub.com/prometheus/common/compare/v0.50.0...v0.51.0) #### What's Changed - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/604](https://togithub.com/prometheus/common/pull/604) - expfmt: Add a way to generate different OpenMetrics Formats by [@​ywwg](https://togithub.com/ywwg) in [https://github.com/prometheus/common/pull/596](https://togithub.com/prometheus/common/pull/596) - Fix string slice definition for FormatFlagOptions. by [@​gizmoguy](https://togithub.com/gizmoguy) in [https://github.com/prometheus/common/pull/607](https://togithub.com/prometheus/common/pull/607) - Correct logic in sample naming for counters, add new test by [@​vesari](https://togithub.com/vesari) in [https://github.com/prometheus/common/pull/608](https://togithub.com/prometheus/common/pull/608) #### New Contributors - [@​gizmoguy](https://togithub.com/gizmoguy) made their first contribution in [https://github.com/prometheus/common/pull/607](https://togithub.com/prometheus/common/pull/607) **Full Changelog**: prometheus/common@v0.50.0...v0.51.0 ### [`v0.50.0`](https://togithub.com/prometheus/common/releases/tag/v0.50.0) [Compare Source](https://togithub.com/prometheus/common/compare/v0.49.0...v0.50.0) #### What's Changed - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/594](https://togithub.com/prometheus/common/pull/594) - Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/593](https://togithub.com/prometheus/common/pull/593) - Bump github.com/aws/aws-sdk-go from 1.50.27 to 1.50.29 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/592](https://togithub.com/prometheus/common/pull/592) - Bump github.com/aws/aws-sdk-go from 1.50.29 to 1.50.31 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/595](https://togithub.com/prometheus/common/pull/595) - Remove unused 'Host' member from HTTPClientConfig by [@​bboreham](https://togithub.com/bboreham) in [https://github.com/prometheus/common/pull/597](https://togithub.com/prometheus/common/pull/597) - Add OpenMetrics unit support by [@​vesari](https://togithub.com/vesari) in [https://github.com/prometheus/common/pull/544](https://togithub.com/prometheus/common/pull/544) - Remove deprecated version function by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/common/pull/591](https://togithub.com/prometheus/common/pull/591) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/599](https://togithub.com/prometheus/common/pull/599) - Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/600](https://togithub.com/prometheus/common/pull/600) - Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/601](https://togithub.com/prometheus/common/pull/601) **Full Changelog**: prometheus/common@v0.49.0...v0.50.0 ### [`v0.49.0`](https://togithub.com/prometheus/common/releases/tag/v0.49.0) [Compare Source](https://togithub.com/prometheus/common/compare/v0.48.0...v0.49.0) #### What's Changed - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/574](https://togithub.com/prometheus/common/pull/574) - Bump github.com/aws/aws-sdk-go from 1.49.13 to 1.50.8 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/571](https://togithub.com/prometheus/common/pull/571) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/common/pull/581](https://togithub.com/prometheus/common/pull/581) - Update Go by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/common/pull/588](https://togithub.com/prometheus/common/pull/588) - Deprecate version.NewCollector by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/common/pull/579](https://togithub.com/prometheus/common/pull/579) - Bump github.com/aws/aws-sdk-go from 1.50.8 to 1.50.27 in /sigv4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/587](https://togithub.com/prometheus/common/pull/587) - Avoid off-spec openmetrics exposition when exemplars have empty labels by [@​orls](https://togithub.com/orls) in [https://github.com/prometheus/common/pull/569](https://togithub.com/prometheus/common/pull/569) - Bump golang.org/x/oauth2 from 0.16.0 to 0.17.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/common/pull/585](https://togithub.com/prometheus/common/pull/585) - Write created lines when negotiating OpenMetrics by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/common/pull/504](https://togithub.com/prometheus/common/pull/504) - Upgrade client_model to v.0.6.0 by [@​vesari](https://togithub.com/vesari) in [https://github.com/prometheus/common/pull/589](https://togithub.com/prometheus/common/pull/589) - http_config: Add host by [@​jkroepke](https://togithub.com/jkroepke) in [https://github.com/prometheus/common/pull/549](https://togithub.com/prometheus/common/pull/549) - LabelSet: Fix alphabetical sorting for prometheus LabelSet by [@​wasim-nihal](https://togithub.com/wasim-nihal) in [https://github.com/prometheus/common/pull/575](https://togithub.com/prometheus/common/pull/575) - labelset: optimise String() function by [@​bboreham](https://togithub.com/bboreham) in [https://github.com/prometheus/common/pull/590](https://togithub.com/prometheus/common/pull/590) #### New Contributors - [@​orls](https://togithub.com/orls) made their first contribution in [https://github.com/prometheus/common/pull/569](https://togithub.com/prometheus/common/pull/569) - [@​vesari](https://togithub.com/vesari) made their first contribution in [https://github.com/prometheus/common/pull/589](https://togithub.com/prometheus/common/pull/589) **Full Changelog**: prometheus/common@v0.48.0...v0.49.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
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.
Fixes: #543
Below are the benchmark results (tested locally) comparing the performance of the current LabelSet.String() and the proposed solution (included in this PR)
Reviewers, please share your input on these changes or alternative approaches. I'll address them in the next commits.