-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Refactor default runtime metrics tests for Go collector so that default runtime metric set autogenerates #1631
Refactor default runtime metrics tests for Go collector so that default runtime metric set autogenerates #1631
Conversation
…tests according to Go version Signed-off-by: Arianna Vespri <[email protected]>
… version Signed-off-by: Arianna Vespri <[email protected]>
…runtime-metrics-tests
Signed-off-by: Arianna Vespri <[email protected]>
Once I'll have fixed the linters' complaints, I might still do some refactoring in |
Signed-off-by: Arianna Vespri <[email protected]>
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.
Does it make sense to add a Github Action workflow that runs make generate-go-collector-test-files
and asserts that there's no git diff?
var defaultRuntimeMetricsList []string | ||
|
||
for _, d := range defaultRuntimeDesc { | ||
if trans := rm2prom(d); trans != "" { |
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.
What does trans
means? Not sure I understand the variable name 🥲
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.
Hi, I was still simplifying a bit as announced ;), so I condensed the piece of code you are referring to. Nonetheless, to answer your question. I maintained the naming of that trans
variable to be consistent with similar pre-existing usages in this file and in gen_go_collector_metrics_set.go
. Under the hood, the function rm2prom
calls internal.RuntimeMetricsToProm
and there I could assume that trans
stands for "translation".
…csList Signed-off-by: Arianna Vespri <[email protected]>
I haven't looked into what GitHub Actions does right now, but if as things stand there's no such check, then I guess it wouldn't hurt. I wonder if that would be for another PR though. On a side note, one thing I noticed is that before I merged the |
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, I am happy to solve 2 other problems (2 generative scripts instead of one and CI job for no manual changes) in other PRs.
However I want double check if we can get rid of this complex withDefaultRuntimeMetrics function... 🤔 Proposed something
@@ -62,6 +62,28 @@ var memstatMetrics = []string{ | |||
"go_memstats_sys_bytes", | |||
} | |||
|
|||
func withDefaultRuntimeMetrics(metricNames []string, withoutGC, withoutSched bool) []string { |
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.
Hm, can you remind me why we need this?
It looks we use it here:
{
name: "allow GC",
rules: []GoRuntimeMetricsRule{MetricsGC},
expected: withDefaultRuntimeMetrics(withGCMetrics(), true, false),
},
{
name: "allow Memory",
rules: []GoRuntimeMetricsRule{MetricsMemory},
expected: withDefaultRuntimeMetrics(withMemoryMetrics(), false, false),
},
{
name: "allow Scheduler",
rules: []GoRuntimeMetricsRule{MetricsScheduler},
expected: withDefaultRuntimeMetrics(withSchedulerMetrics(), false, true),
},
{
name: "allow debug",
rules: []GoRuntimeMetricsRule{MetricsDebug},
expected: withDefaultRuntimeMetrics(withDebugMetrics(), false, false),
},
But it all those cases we expect default metrics, so why not adding defaultRuntimeMetrics
always? Is it about duplications? Then let's have dedupSort
function for name? 🤔
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 see your point. I also would like for it to be simpler, and maybe there are ways to simplify it that I'm not seeing right now... but in any case it's not only about deduplicating and sorting; it's also about not including metrics (especially when they don't exist in go1.20) according to the different allow/deny list scenarios. In fact it's also used once in TestGoCollectorDenyList
. Shall I change the name to dedupSort
all the same? Or make any other change?
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.
And thanks for taking care of the other 2 problems! <3
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.
. but in any case it's not only about deduplicating and sorting; it's also about not including metrics (especially when they don't exist in go1.20)
but that is solved with defaultRuntimeMetrics
generation, no?
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.
The defaultRuntimeMetrics
generation solves the problem of defining what the set of default runtime metrics looks like for a given Go version; in practice this allows adding the right set of default runtime metrics as is, when there are no deny lists at all OR when no deny list matches either all gc
or all sched
metrics.
But in this function (which lives in a file that has to work with all the supported Go versions indifferently) I chose the approach where in practice I append the non-denied default metrics to the rest of the other requested metrics in a hard-coded way. That is to say, I append a subset of those metrics; a subset that is not dynamically generated, unlike the whole set.
So when it comes to cases when only some of the default runtime metrics have to be filtered out because of deny lists matching gc
OR sched
(not both: both is a non-problem), the subset to be appended may be different according to the version but I cannot dynamically/automatically reflect those differences in that function: hence all the many conditionals. Shall I think of a different, more dynamic solution?
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.
Incidentally: Arthur just wrote in Slack that we shouldn’t be worrying about supporting go1.20. If that means that the tests for go1.20 can be deleted, then at least half of this problem is solved, as the default runtime metrics list looks exactly the same starting from go 1.21. But maybe there are reasons we should still be keeping them around for a while.
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'm fine with deleting 1.20 test files, we don't even run them in CI anymore
And thanks for helping 💪🏽 |
Signed-off-by: Arianna Vespri <[email protected]>
I could simplify the function a bit, but it's still the same not completely dynamic approach. Maybe I can think of something more future proof. |
…rics subsets Signed-off-by: Arianna Vespri <[email protected]>
Ok, I implemented another approach. Now the default runtime metrics subsets (needed to be included in or excluded from the final selection of metrics) are also generated. This makes withDefaultRuntimeMetrics func cleaner and more resilient. I'm still leaving it in the |
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.
Thanks! Let me propose what I meant (or realize there is no better approach) in a different PR, this is already a lot better thank You!
Thank you! I wouldn't be surprised if there were better approaches and I'd be very happy if you could come up with one 👯 . I know it's not ideal to have so many similar-looking variables (outside of functions, on top of that); I mainly tried to keep what's in the Go templates to a minimum, as not everybody finds them super readable 😝 |
…lt runtime metric set autogenerates (prometheus#1631) * Enable autogeneration for default runtime metrics list in collectors tests according to Go version Signed-off-by: Arianna Vespri <[email protected]> * Adapt withDefaultRuntimeMetrics function to work regardless of the Go version Signed-off-by: Arianna Vespri <[email protected]> * Autogenerate go collector test for go1.23 Signed-off-by: Arianna Vespri <[email protected]> * Modify gen_go_collector_set.go to please linter and regenerate files Signed-off-by: Arianna Vespri <[email protected]> * Simplify gen_go_collector_set.go logic by modifying func computeMetricsList Signed-off-by: Arianna Vespri <[email protected]> * Slight simplification of withDefaultRuntimeMetrics func Signed-off-by: Arianna Vespri <[email protected]> * Refactor withDefaultRuntimeMetrics with generated default runtime metrics subsets Signed-off-by: Arianna Vespri <[email protected]> --------- Signed-off-by: Arianna Vespri <[email protected]> Signed-off-by: Eugene <[email protected]>
….1 (#5) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/prometheus/client_golang](https://redirect.github.com/prometheus/client_golang) | `v1.19.1` -> `v1.21.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.21.1`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.21.1): / 2025-03-04 [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1) This release addresses a major performance regression introduced in [#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661) -- thanks to all who [reported this quickly](https://redirect.github.com/prometheus/client_golang/issues/1748): [@​chlunde](https://redirect.github.com/chlunde), [@​dethi](https://redirect.github.com/dethi), [@​aaronbee](https://redirect.github.com/aaronbee) [@​tsuna](https://redirect.github.com/tsuna) 💪🏽. This patch release also fixes the iOS build. We will be hardening the release process even further ([#​1759](https://redirect.github.com/prometheus/client_golang/issues/1759), [#​1761](https://redirect.github.com/prometheus/client_golang/issues/1761)) to prevent this in future, sorry for the inconvenience! The high concurrency optimization is planned to be eventually reintroduced, however in a much safer manner, potentially in a separate API. - \[BUGFIX] prometheus: Revert of `Inc`, `Add` and `Observe` cumulative metric CAS optimizations ([#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661)), causing regressions on low concurrency cases [#​1757](https://redirect.github.com/prometheus/client_golang/issues/1757) - \[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_\* wrong build tags. [#​1758](https://redirect.github.com/prometheus/client_golang/issues/1758) <details> <summary>All commits</summary> - Revert "exponential backoff for CAS operations on floats" and cut 1.21.1 by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1757](https://redirect.github.com/prometheus/client_golang/pull/1757) - Fix ios build for 1.21.1 by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1758](https://redirect.github.com/prometheus/client_golang/pull/1758) </details> **Full Changelog**: prometheus/client_golang@v1.21.0...v1.21.1 ### [`v1.21.0`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.21.0): / 2025-02-19 [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0) :warning: This release contains potential breaking change if you upgrade `github.com/prometheus/common` to 0.62+ together with client_golang (and depend on the strict, legacy validation for the label names). New common version [changes `model.NameValidationScheme` global variable](https://redirect.github.com/prometheus/common/pull/724), which relaxes the validation of label names and metric name, allowing all UTF-8 characters. Typically, this should not break any user, unless your test or usage expects strict certain names to panic/fail on client_golang metric registration, gathering or scrape. In case of problems change `model.NameValidationScheme` to old `model.LegacyValidation` value in your project `init` function. :warning: - \[BUGFIX] gocollector: Fix help message for runtime/metric metrics. [#​1583](https://redirect.github.com/prometheus/client_golang/issues/1583) - \[BUGFIX] prometheus: Fix `Desc.String()` method for no labels case. [#​1687](https://redirect.github.com/prometheus/client_golang/issues/1687) - \[PERF] prometheus: Optimize popular `prometheus.BuildFQName` function; now up to 30% faster. [#​1665](https://redirect.github.com/prometheus/client_golang/issues/1665) - \[PERF] prometheus: Optimize `Inc`, `Add` and `Observe` cumulative metrics; now up to 50% faster under high concurrent contention. [#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661) - \[CHANGE] Upgrade prometheus/common to 0.62.0 which changes `model.NameValidationScheme` global variable. [#​1712](https://redirect.github.com/prometheus/client_golang/issues/1712) - \[CHANGE] Add support for Go 1.23. [#​1602](https://redirect.github.com/prometheus/client_golang/issues/1602) - \[FEATURE] process_collector: Add support for Darwin systems. [#​1600](https://redirect.github.com/prometheus/client_golang/issues/1600) [#​1616](https://redirect.github.com/prometheus/client_golang/issues/1616) [#​1625](https://redirect.github.com/prometheus/client_golang/issues/1625) [#​1675](https://redirect.github.com/prometheus/client_golang/issues/1675) [#​1715](https://redirect.github.com/prometheus/client_golang/issues/1715) - \[FEATURE] api: Add ability to invoke `CloseIdleConnections` on api.Client using `api.Client.(CloseIdler).CloseIdleConnections()` casting. [#​1513](https://redirect.github.com/prometheus/client_golang/issues/1513) - \[FEATURE] promhttp: Add `promhttp.HandlerOpts.EnableOpenMetricsTextCreatedSamples` option to create OpenMetrics \_created lines. Not recommended unless you want to use opt-in Created Timestamp feature. Community works on OpenMetrics 2.0 format that should make those lines obsolete (they increase cardinality significantly). [#​1408](https://redirect.github.com/prometheus/client_golang/issues/1408) - \[FEATURE] prometheus: Add `NewConstNativeHistogram` function. [#​1654](https://redirect.github.com/prometheus/client_golang/issues/1654) <details> <summary> All commits </summary> * Merge release-1.20 to main by @​bwplotka in prometheus/client_golang#1582 * gocollector: Tiny fix for help message with runtime/metrics source. by @​bwplotka in prometheus/client_golang#1583 * ci: bump dagger to the latest version by @​marcosnils in prometheus/client_golang#1588 * Merge release-1.20 back to main by @​ArthurSens in prometheus/client_golang#1593 * Update linting by @​SuperQ in prometheus/client_golang#1603 * Update supported Go versions by @​SuperQ in prometheus/client_golang#1602 * build(deps): bump golang.org/x/sys from 0.22.0 to 0.24.0 by @​dependabot in prometheus/client_golang#1611 * build(deps): bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @​dependabot in prometheus/client_golang#1612 * changed the name of all variables with min/max name by @​parthlaw in prometheus/client_golang#1606 * Update Dagger and build. by @​SuperQ in prometheus/client_golang#1610 * build(deps): bump github/codeql-action from 3.25.15 to 3.26.6 in the github-actions group across 1 directory by @​dependabot in prometheus/client_golang#1614 * examples: Improved GoCollector example. by @​bwplotka in prometheus/client_golang#1589 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1615 * process_collector: fill in most statistics on macOS by @​mharbison72 in prometheus/client_golang#1600 * ⚡ http client defer CloseIdleConnections by @​cuisongliu in prometheus/client_golang#1513 * Set allow-utf-8 in Format during tests to avoid escaping. by @​ywwg in prometheus/client_golang#1618 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1622 * Merge Release 1.20 back to main by @​ArthurSens in prometheus/client_golang#1627 * examples: Add custom labels example by @​ying-jeanne in prometheus/client_golang#1626 * Refactor default runtime metrics tests for Go collector so that default runtime metric set autogenerates by @​vesari in prometheus/client_golang#1631 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1628 * process_xxx_memory statistics for macOS (cgo) by @​mharbison72 in prometheus/client_golang#1616 * build(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.10 by @​dependabot in prometheus/client_golang#1633 * build(deps): bump golang.org/x/sys from 0.24.0 to 0.25.0 by @​dependabot in prometheus/client_golang#1632 * process_collector: Add Platform-Specific Describe for processCollector by @​ying-jeanne in prometheus/client_golang#1625 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1635 * build(deps): bump the github-actions group with 4 updates by @​dependabot in prometheus/client_golang#1634 * Optionally print OM created lines by @​ArthurSens in prometheus/client_golang#1408 * process_collector: merge wasip1 and js into a single implementation by @​ying-jeanne in prometheus/client_golang#1644 * Merge release 1.20 to main by @​bwplotka in prometheus/client_golang#1647 * Add Arianna as maintainer 💪 by @​ArthurSens in prometheus/client_golang#1651 * test add headers round tripper by @​Manask322 in prometheus/client_golang#1657 * build(deps): bump github.com/klauspost/compress from 1.17.10 to 1.17.11 by @​dependabot in prometheus/client_golang#1668 * build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @​dependabot in prometheus/client_golang#1669 * build(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.1 by @​dependabot in prometheus/client_golang#1667 * build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @​dependabot in prometheus/client_golang#1670 * Optimize BuildFQName function by @​jkroepke in prometheus/client_golang#1665 * fix: use injected now() instead of time.Now() in summary methods by @​imorph in prometheus/client_golang#1672 * process_collector: avoid a compiler warning on macOS (fixes #​1660) by @​mharbison72 in prometheus/client_golang#1675 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1674 * build(deps): bump the github-actions group across 1 directory with 3 updates by @​dependabot in prometheus/client_golang#1678 * [chore]: enable perfsprint linter by @​mmorel-35 in prometheus/client_golang#1676 * Duplicate of #​1662 by @​imorph in prometheus/client_golang#1673 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1679 * chore: enable usestdlibvars linter by @​mmorel-35 in prometheus/client_golang#1680 * Add: exponential backoff for CAS operations on floats by @​imorph in prometheus/client_golang#1661 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1683 * [1617] Add ConstnativeHistogram by @​shivanthzen in prometheus/client_golang#1654 * fix: replace fmt.Errorf with errors.New by @​kakkoyun in prometheus/client_golang#1689 * Add codeowners by @​kakkoyun in prometheus/client_golang#1688 * fix: add very small delay between observations in `TestHistogramAtomicObserve` by @​imorph in prometheus/client_golang#1691 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1692 * Fix: handle nil variableLabels in Desc.String() method and add tests for nil label values by @​kakkoyun in prometheus/client_golang#1687 * examples: Follow best practices and established naming conventions by @​lilic in prometheus/client_golang#1650 * setup OSSF Scorecard workflow by @​mmorel-35 in prometheus/client_golang#1432 * build(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @​dependabot in prometheus/client_golang#1697 * build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 by @​dependabot in prometheus/client_golang#1696 * build(deps): bump the github-actions group with 5 updates by @​dependabot in prometheus/client_golang#1695 * update links to openmetrics to reference the v1.0.0 release by @​dashpole in prometheus/client_golang#1699 * build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.1 by @​dependabot in prometheus/client_golang#1706 * build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 by @​dependabot in prometheus/client_golang#1705 * build(deps): bump the github-actions group with 5 updates by @​dependabot in prometheus/client_golang#1707 * build(deps): bump github.com/prometheus/common from 0.60.1 to 0.61.0 by @​dependabot in prometheus/client_golang#1704 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1703 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1708 * Upgrade to prometheus/common 0.62.0 with breaking change by @​bwplotka in prometheus/client_golang#1712 * build(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 in /tutorials/whatsup by @​dependabot in prometheus/client_golang#1713 * docs: Add RELEASE.md for the release process by @​kakkoyun in prometheus/client_golang#1690 * tutorials/whatsup: Updated deps by @​bwplotka in prometheus/client_golang#1716 * process collector: Fixed pedantic registry failures on darwin with cgo. by @​bwplotka in prometheus/client_golang#1715 * Revert "ci: daggerize test and lint pipelines (#​1534)" by @​bwplotka in prometheus/client_golang#1717 * Cut 1.21.0-rc.0 by @​bwplotka in prometheus/client_golang#1718 * Cut 1.21 by @​bwplotka in prometheus/client_golang#1737 </details> #### New Contributors * @​parthlaw made their first contributi[https://github.com/prometheus/client_golang/pull/1606](https://redirect.github.com/prometheus/client_golang/pull/1606)l/1606 * @​mharbison72 made their first contributi[https://github.com/prometheus/client_golang/pull/1600](https://redirect.github.com/prometheus/client_golang/pull/1600)l/1600 * @​cuisongliu made their first contributi[https://github.com/prometheus/client_golang/pull/1513](https://redirect.github.com/prometheus/client_golang/pull/1513)l/1513 * @​ying-jeanne made their first contributi[https://github.com/prometheus/client_golang/pull/1626](https://redirect.github.com/prometheus/client_golang/pull/1626)l/1626 * @​Manask322 made their first contributi[https://github.com/prometheus/client_golang/pull/1657](https://redirect.github.com/prometheus/client_golang/pull/1657)l/1657 * @​jkroepke made their first contributi[https://github.com/prometheus/client_golang/pull/1665](https://redirect.github.com/prometheus/client_golang/pull/1665)l/1665 * @​imorph made their first contributi[https://github.com/prometheus/client_golang/pull/1672](https://redirect.github.com/prometheus/client_golang/pull/1672)l/1672 * @​mmorel-35 made their first contributi[https://github.com/prometheus/client_golang/pull/1676](https://redirect.github.com/prometheus/client_golang/pull/1676)l/1676 * @​shivanthzen made their first contributi[https://github.com/prometheus/client_golang/pull/1654](https://redirect.github.com/prometheus/client_golang/pull/1654)l/1654 * @​dashpole made their first contributi[https://github.com/prometheus/client_golang/pull/1699](https://redirect.github.com/prometheus/client_golang/pull/1699)l/1699 **Full Changelog**: prometheus/client_golang@v1.20.5...v1.21.0 ### [`v1.20.5`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.5): / 2024-10-15 [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.4...v1.20.5) We decided to revert [the `testutil` change](https://redirect.github.com/prometheus/client_golang/pull/1424) that made our util functions less error-prone, but created a lot of work for our downstream users. Apologies for the pain! This revert should not cause any major breaking change, even if you already did the work--unless you depend on the [exact error message](https://redirect.github.com/grafana/mimir/pull/9624#issuecomment-2413401565). Going forward, we plan to reinforce our release testing strategy [\[1\]](https://redirect.github.com/prometheus/client_golang/issues/1646),[\[2\]](https://redirect.github.com/prometheus/client_golang/issues/1648) and deliver an enhanced [`testutil` package/module](https://redirect.github.com/prometheus/client_golang/issues/1639) with more flexible and safer APIs. Thanks to [@​dashpole](https://redirect.github.com/dashpole) [@​dgrisonnet](https://redirect.github.com/dgrisonnet) [@​kakkoyun](https://redirect.github.com/kakkoyun) [@​ArthurSens](https://redirect.github.com/ArthurSens) [@​vesari](https://redirect.github.com/vesari) [@​logicalhan](https://redirect.github.com/logicalhan) [@​krajorama](https://redirect.github.com/krajorama) [@​bwplotka](https://redirect.github.com/bwplotka) who helped in this patch release! 🤗 ##### Changelog \[BUGFIX] testutil: Reverted [#​1424](https://redirect.github.com/prometheus/client_golang/issues/1424); functions using compareMetricFamilies are (again) only failing if filtered metricNames are in the expected input. [#​1645](https://redirect.github.com/prometheus/client_golang/issues/1645) ### [`v1.20.4`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.4) [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.3...v1.20.4) - \[BUGFIX] histograms: Fix a possible data race when appending exemplars vs metrics gather. [#​1623](https://redirect.github.com/prometheus/client_golang/issues/1623) ### [`v1.20.3`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.3) [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.2...v1.20.3) - \[BUGFIX] histograms: Fix possible data race when appending exemplars. [#​1608](https://redirect.github.com/prometheus/client_golang/issues/1608) ### [`v1.20.2`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.2) [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.1...v1.20.2) - \[BUGFIX] promhttp: Unset Content-Encoding header when data is uncompressed. [#​1596](https://redirect.github.com/prometheus/client_golang/issues/1596) ### [`v1.20.1`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.1) [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.0...v1.20.1) This release contains the critical fix for the [issue](https://redirect.github.com/prometheus/client_golang/issues/1584). Thanks to [@​geberl](https://redirect.github.com/geberl), [@​CubicrootXYZ](https://redirect.github.com/CubicrootXYZ), [@​zetaab](https://redirect.github.com/zetaab) and [@​timofurrer](https://redirect.github.com/timofurrer) for helping us with the investigation! - \[BUGFIX] process-collector: Fixed unregistered descriptor error when using process collector with PedanticRegistry on Linux machines. [#​1587](https://redirect.github.com/prometheus/client_golang/issues/1587) ### [`v1.20.0`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.20.0) [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.19.1...v1.20.0) Thanks everyone for contributions! :warning: In this release we remove one (broken anyway, given Go runtime changes) metric and add three new (representing GOGC, GOMEMLIMIT and GOMAXPROCS flags) to the default `collectors.NewGoCollector()` collector. Given its popular usage, expect your binary to expose two additional metric. #### Changes - \[CHANGE] :warning: go-collector: Remove `go_memstat_lookups_total` metric which was always 0; Go runtime stopped sharing pointer lookup statistics. [#​1577](https://redirect.github.com/prometheus/client_golang/issues/1577) - \[FEATURE]⚠️ go-collector: Add 3 default metrics: `go_gc_gogc_percent`, `go_gc_gomemlimit_bytes` and `go_sched_gomaxprocs_threads` as those are recommended by the Go team. [#​1559](https://redirect.github.com/prometheus/client_golang/issues/1559) - \[FEATURE] go-collector: Add more information to all metrics' HELP e.g. the exact `runtime/metrics` sourcing each metric (if relevant). [#​1568](https://redirect.github.com/prometheus/client_golang/issues/1568) [#​1578](https://redirect.github.com/prometheus/client_golang/issues/1578) - \[FEATURE] testutil: Add CollectAndFormat method. [#​1503](https://redirect.github.com/prometheus/client_golang/issues/1503) - \[FEATURE] histograms: Add support for exemplars in native histograms. [#​1471](https://redirect.github.com/prometheus/client_golang/issues/1471) - \[FEATURE] promhttp: Add experimental support for `zstd` on scrape, controlled by the request `Accept-Encoding` header. [#​1496](https://redirect.github.com/prometheus/client_golang/issues/1496) - \[FEATURE] api/v1: Add `WithLimit` parameter to all API methods that supports it. [#​1544](https://redirect.github.com/prometheus/client_golang/issues/1544) - \[FEATURE] prometheus: Add support for created timestamps in constant histograms and constant summaries. [#​1537](https://redirect.github.com/prometheus/client_golang/issues/1537) - \[FEATURE] process-collectors: Add network usage metrics: `process_network_receive_bytes_total` and `process_network_transmit_bytes_total`. [#​1555](https://redirect.github.com/prometheus/client_golang/issues/1555) - \[FEATURE] promlint: Add duplicated metric lint rule. [#​1472](https://redirect.github.com/prometheus/client_golang/issues/1472) - \[BUGFIX] promlint: Relax metric type in name linter rule. [#​1455](https://redirect.github.com/prometheus/client_golang/issues/1455) - \[BUGFIX] promhttp: Make sure server instrumentation wrapping supports new and future extra responseWriter methods. [#​1480](https://redirect.github.com/prometheus/client_golang/issues/1480) - \[BUGFIX] testutil: Functions using compareMetricFamilies are now failing if filtered metricNames are not in the input. [#​1424](https://redirect.github.com/prometheus/client_golang/issues/1424) <details> <summary>All commits</summary> - feat(prometheus/testutil/promlint/validations): refine lintMetricType… by [@​foehammer127](https://redirect.github.com/foehammer127) in [https://github.com/prometheus/client_golang/pull/1455](https://redirect.github.com/prometheus/client_golang/pull/1455) - Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 in /examples/middleware by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1457](https://redirect.github.com/prometheus/client_golang/pull/1457) - Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1458](https://redirect.github.com/prometheus/client_golang/pull/1458) - Bump golang.org/x/sys from 0.16.0 to 0.17.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1459](https://redirect.github.com/prometheus/client_golang/pull/1459) - Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1461](https://redirect.github.com/prometheus/client_golang/pull/1461) - Merge Release 1.19 back to main by [@​ArthurSens](https://redirect.github.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1462](https://redirect.github.com/prometheus/client_golang/pull/1462) - Bump the github-actions group with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1456](https://redirect.github.com/prometheus/client_golang/pull/1456) - Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1466](https://redirect.github.com/prometheus/client_golang/pull/1466) - Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /examples/middleware by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1467](https://redirect.github.com/prometheus/client_golang/pull/1467) - Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1469](https://redirect.github.com/prometheus/client_golang/pull/1469) - Add LintDuplicateMetric to promlint by [@​bboreham](https://redirect.github.com/bboreham) in [https://github.com/prometheus/client_golang/pull/1472](https://redirect.github.com/prometheus/client_golang/pull/1472) - Auto-update Go Collector Metrics for new Go versions by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1476](https://redirect.github.com/prometheus/client_golang/pull/1476) - Implement Unwrap() for responseWriterDelegator by [@​igor-drozdov](https://redirect.github.com/igor-drozdov) in [https://github.com/prometheus/client_golang/pull/1480](https://redirect.github.com/prometheus/client_golang/pull/1480) - Bump golang.org/x/sys from 0.17.0 to 0.18.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1485](https://redirect.github.com/prometheus/client_golang/pull/1485) - Bump github.com/prometheus/procfs from 0.12.0 to 0.13.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1486](https://redirect.github.com/prometheus/client_golang/pull/1486) - ci: Remove hardcoded supported Go versions from go.yml by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1489](https://redirect.github.com/prometheus/client_golang/pull/1489) - feat: metrics generation workflow by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1481](https://redirect.github.com/prometheus/client_golang/pull/1481) - fix: remove redundant go module in middleware example by [@​majolo](https://redirect.github.com/majolo) in [https://github.com/prometheus/client_golang/pull/1492](https://redirect.github.com/prometheus/client_golang/pull/1492) - chore: Refactor how base metrics are added to Sched metrics by [@​ArthurSens](https://redirect.github.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1483](https://redirect.github.com/prometheus/client_golang/pull/1483) - gocollector: Add regex option to allow collection of debug runtime metrics by [@​ArthurSens](https://redirect.github.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1389](https://redirect.github.com/prometheus/client_golang/pull/1389) - Bump github.com/prometheus/common from 0.48.0 to 0.52.3 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1498](https://redirect.github.com/prometheus/client_golang/pull/1498) - chore: fix function name in comment by [@​oftenoccur](https://redirect.github.com/oftenoccur) in [https://github.com/prometheus/client_golang/pull/1497](https://redirect.github.com/prometheus/client_golang/pull/1497) - build(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1501](https://redirect.github.com/prometheus/client_golang/pull/1501) - build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1502](https://redirect.github.com/prometheus/client_golang/pull/1502) - feat(dependency): replace go-spew package by [@​dongjiang1989](https://redirect.github.com/dongjiang1989) in [https://github.com/prometheus/client_golang/pull/1499](https://redirect.github.com/prometheus/client_golang/pull/1499) - build(deps): bump github.com/prometheus/common from 0.52.3 to 0.53.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1504](https://redirect.github.com/prometheus/client_golang/pull/1504) - build(deps): bump github.com/cespare/xxhash/v2 from 2.2.0 to 2.3.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1505](https://redirect.github.com/prometheus/client_golang/pull/1505) - build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1506](https://redirect.github.com/prometheus/client_golang/pull/1506) - build(deps): bump golang.org/x/sys from 0.18.0 to 0.19.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1507](https://redirect.github.com/prometheus/client_golang/pull/1507) - build(deps): bump github.com/prometheus/client_model from 0.6.0 to 0.6.1 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1508](https://redirect.github.com/prometheus/client_golang/pull/1508) - build(deps): bump github.com/prometheus/common from 0.48.0 to 0.53.0 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1509](https://redirect.github.com/prometheus/client_golang/pull/1509) - improved code more clean by [@​lilijreey](https://redirect.github.com/lilijreey) in [https://github.com/prometheus/client_golang/pull/1511](https://redirect.github.com/prometheus/client_golang/pull/1511) - build(deps): bump the github-actions group with 3 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1510](https://redirect.github.com/prometheus/client_golang/pull/1510) - \[CI]: Add Concurrency Grouping to GitHub Workflows by [@​Ishani217](https://redirect.github.com/Ishani217) in [https://github.com/prometheus/client_golang/pull/1444](https://redirect.github.com/prometheus/client_golang/pull/1444) - Add CollectAndFormat to testutil, allowing caller to assert as they want to on the exported metric by [@​jcass8695](https://redirect.github.com/jcass8695) in [https://github.com/prometheus/client_golang/pull/1503](https://redirect.github.com/prometheus/client_golang/pull/1503) - testutil compareMetricFamilies: make less error-prone by [@​leonnicolas](https://redirect.github.com/leonnicolas) in [https://github.com/prometheus/client_golang/pull/1424](https://redirect.github.com/prometheus/client_golang/pull/1424) - improved code more clean use time.IsZero() replace t = time.Time{} by [@​lilijreey](https://redirect.github.com/lilijreey) in [https://github.com/prometheus/client_golang/pull/1515](https://redirect.github.com/prometheus/client_golang/pull/1515) - add native histogram exemplar support by [@​fatsheep9146](https://redirect.github.com/fatsheep9146) in [https://github.com/prometheus/client_golang/pull/1471](https://redirect.github.com/prometheus/client_golang/pull/1471) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1514](https://redirect.github.com/prometheus/client_golang/pull/1514) - build(deps): bump golang.org/x/sys from 0.19.0 to 0.20.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1523](https://redirect.github.com/prometheus/client_golang/pull/1523) - build(deps): bump google.golang.org/protobuf from 1.34.0 to 1.34.1 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1522](https://redirect.github.com/prometheus/client_golang/pull/1522) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1524](https://redirect.github.com/prometheus/client_golang/pull/1524) - Add PR template for changelog automation by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1517](https://redirect.github.com/prometheus/client_golang/pull/1517) - Auto label PRs by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1518](https://redirect.github.com/prometheus/client_golang/pull/1518) - Fix: Auto label PRs [#​1518](https://redirect.github.com/prometheus/client_golang/issues/1518) by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1525](https://redirect.github.com/prometheus/client_golang/pull/1525) - build(deps): bump github.com/prometheus/procfs from 0.13.0 to 0.15.1 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1527](https://redirect.github.com/prometheus/client_golang/pull/1527) - ci: Group all changelog-related CI jobs into single one by [@​ArthurSens](https://redirect.github.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1526](https://redirect.github.com/prometheus/client_golang/pull/1526) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1530](https://redirect.github.com/prometheus/client_golang/pull/1530) - Remove synchronize trigger from changelog workflow by [@​SachinSahu431](https://redirect.github.com/SachinSahu431) in [https://github.com/prometheus/client_golang/pull/1532](https://redirect.github.com/prometheus/client_golang/pull/1532) - feat: Support zstd compression by [@​mrueg](https://redirect.github.com/mrueg) in [https://github.com/prometheus/client_golang/pull/1496](https://redirect.github.com/prometheus/client_golang/pull/1496) - Fix golangci-lint config by [@​SuperQ](https://redirect.github.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1536](https://redirect.github.com/prometheus/client_golang/pull/1536) - build(deps): bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1529](https://redirect.github.com/prometheus/client_golang/pull/1529) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1531](https://redirect.github.com/prometheus/client_golang/pull/1531) - Cleanup NOTICE file by [@​SuperQ](https://redirect.github.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1541](https://redirect.github.com/prometheus/client_golang/pull/1541) - Remove inlined upstream code by [@​SuperQ](https://redirect.github.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1539](https://redirect.github.com/prometheus/client_golang/pull/1539) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1545](https://redirect.github.com/prometheus/client_golang/pull/1545) - client: Add Option to provide limit query param for APIs that support it by [@​abbyssoul](https://redirect.github.com/abbyssoul) in [https://github.com/prometheus/client_golang/pull/1544](https://redirect.github.com/prometheus/client_golang/pull/1544) - Allow creating constant histogram and summary metrics with a created timestamp by [@​swar8080](https://redirect.github.com/swar8080) in [https://github.com/prometheus/client_golang/pull/1537](https://redirect.github.com/prometheus/client_golang/pull/1537) - Update README.md by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1556](https://redirect.github.com/prometheus/client_golang/pull/1556) - Temporarily remove required CI job for changelog. by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1560](https://redirect.github.com/prometheus/client_golang/pull/1560) - build(deps): bump github.com/prometheus/common from 0.53.0 to 0.55.0 in /tutorial/whatsup by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1549](https://redirect.github.com/prometheus/client_golang/pull/1549) - build(deps): bump golang.org/x/sys from 0.20.0 to 0.21.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1552](https://redirect.github.com/prometheus/client_golang/pull/1552) - build(deps): bump github.com/klauspost/compress from 1.17.8 to 1.17.9 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1553](https://redirect.github.com/prometheus/client_golang/pull/1553) - fix: Update Go tests by [@​SuperQ](https://redirect.github.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1562](https://redirect.github.com/prometheus/client_golang/pull/1562) - process_collector: collect received/transmitted bytes by [@​huwcbjones](https://redirect.github.com/huwcbjones) in [https://github.com/prometheus/client_golang/pull/1555](https://redirect.github.com/prometheus/client_golang/pull/1555) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1561](https://redirect.github.com/prometheus/client_golang/pull/1561) - chore: Remove half-implemented changelog automation by [@​ArthurSens](https://redirect.github.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1564](https://redirect.github.com/prometheus/client_golang/pull/1564) - build(deps): bump the github-actions group across 1 directory with 3 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1565](https://redirect.github.com/prometheus/client_golang/pull/1565) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1563](https://redirect.github.com/prometheus/client_golang/pull/1563) - build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1551](https://redirect.github.com/prometheus/client_golang/pull/1551) - deps: Updated to prometheus/common to 0.55 by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1566](https://redirect.github.com/prometheus/client_golang/pull/1566) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1567](https://redirect.github.com/prometheus/client_golang/pull/1567) - tutorials: Renamed tutorial -> tutorials for consistency + fixed tutorial code. by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1569](https://redirect.github.com/prometheus/client_golang/pull/1569) - go collector: add default metrics acceptance tests; adding more context to HELP by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1568](https://redirect.github.com/prometheus/client_golang/pull/1568) - build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1570](https://redirect.github.com/prometheus/client_golang/pull/1570) - build(deps): bump the github-actions group with 3 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1571](https://redirect.github.com/prometheus/client_golang/pull/1571) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1572](https://redirect.github.com/prometheus/client_golang/pull/1572) - ci: daggerize test and lint pipelines by [@​marcosnils](https://redirect.github.com/marcosnils) in [https://github.com/prometheus/client_golang/pull/1534](https://redirect.github.com/prometheus/client_golang/pull/1534) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1573](https://redirect.github.com/prometheus/client_golang/pull/1573) - Add default Go runtime metrics for /gc/gogc:percent, /gc/gomemlimit:bytes, /sched/gomaxprocs:threads by [@​vesari](https://redirect.github.com/vesari) in [https://github.com/prometheus/client_golang/pull/1559](https://redirect.github.com/prometheus/client_golang/pull/1559) - Synchronize common files from prometheus/prometheus by [@​prombot](https://redirect.github.com/prombot) in [https://github.com/prometheus/client_golang/pull/1576](https://redirect.github.com/prometheus/client_golang/pull/1576) - Remove go_memstat_lookups_total; added runtime/metrics calculation to memstat metric's help. by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1577](https://redirect.github.com/prometheus/client_golang/pull/1577) - gocollector: Attach original runtime/metrics metric name to help. by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1578](https://redirect.github.com/prometheus/client_golang/pull/1578) </details> #### New Contributors * @​foehammer127 made their first contributi[https://github.com/prometheus/client_golang/pull/1455](https://redirect.github.com/prometheus/client_golang/pull/1455)l/1455 * @​SachinSahu431 made their first contributi[https://github.com/prometheus/client_golang/pull/1476](https://redirect.github.com/prometheus/client_golang/pull/1476)l/1476 * @​igor-drozdov made their first contributi[https://github.com/prometheus/client_golang/pull/1480](https://redirect.github.com/prometheus/client_golang/pull/1480)l/1480 * @​majolo made their first contributi[https://github.com/prometheus/client_golang/pull/1492](https://redirect.github.com/prometheus/client_golang/pull/1492)l/1492 * @​oftenoccur made their first contributi[https://github.com/prometheus/client_golang/pull/1497](https://redirect.github.com/prometheus/client_golang/pull/1497)l/1497 * @​dongjiang1989 made their first contributi[https://github.com/prometheus/client_golang/pull/1499](https://redirect.github.com/prometheus/client_golang/pull/1499)l/1499 * @​lilijreey made their first contributi[https://github.com/prometheus/client_golang/pull/1511](https://redirect.github.com/prometheus/client_golang/pull/1511)l/1511 * @​Ishani217 made their first contributi[https://github.com/prometheus/client_golang/pull/1444](https://redirect.github.com/prometheus/client_golang/pull/1444)l/1444 * @​jcass8695 made their first contributi[https://github.com/prometheus/client_golang/pull/1503](https://redirect.github.com/prometheus/client_golang/pull/1503)l/1503 * @​leonnicolas made their first contributi[https://github.com/prometheus/client_golang/pull/1424](https://redirect.github.com/prometheus/client_golang/pull/1424)l/1424 * @​fatsheep9146 made their first contributi[https://github.com/prometheus/client_golang/pull/1471](https://redirect.github.com/prometheus/client_golang/pull/1471)l/1471 * @​abbyssoul made their first contributi[https://github.com/prometheus/client_golang/pull/1544](https://redirect.github.com/prometheus/client_golang/pull/1544)l/1544 * @​swar8080 made their first contributi[https://github.com/prometheus/client_golang/pull/1537](https://redirect.github.com/prometheus/client_golang/pull/1537)l/1537 * @​huwcbjones made their first contributi[https://github.com/prometheus/client_golang/pull/1555](https://redirect.github.com/prometheus/client_golang/pull/1555)l/1555 * @​marcosnils made their first contributi[https://github.com/prometheus/client_golang/pull/1534](https://redirect.github.com/prometheus/client_golang/pull/1534)l/1534 * @​vesari made their first contributi[https://github.com/prometheus/client_golang/pull/1559](https://redirect.github.com/prometheus/client_golang/pull/1559)l/1559 **Full Changelog**: prometheus/client_golang@v1.19.1...v1.20.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/anza-labs/kvm-device-plugin). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhcmVhL2RlcGVuZGVuY3kiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/prometheus/client_golang](https://redirect.github.com/prometheus/client_golang) | `v1.20.5` -> `v1.21.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.21.1`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.21.1): / 2025-03-04 [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1) This release addresses a major performance regression introduced in [#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661) -- thanks to all who [reported this quickly](https://redirect.github.com/prometheus/client_golang/issues/1748): [@​chlunde](https://redirect.github.com/chlunde), [@​dethi](https://redirect.github.com/dethi), [@​aaronbee](https://redirect.github.com/aaronbee) [@​tsuna](https://redirect.github.com/tsuna) 💪🏽. This patch release also fixes the iOS build. We will be hardening the release process even further ([#​1759](https://redirect.github.com/prometheus/client_golang/issues/1759), [#​1761](https://redirect.github.com/prometheus/client_golang/issues/1761)) to prevent this in future, sorry for the inconvenience! The high concurrency optimization is planned to be eventually reintroduced, however in a much safer manner, potentially in a separate API. - \[BUGFIX] prometheus: Revert of `Inc`, `Add` and `Observe` cumulative metric CAS optimizations ([#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661)), causing regressions on low concurrency cases [#​1757](https://redirect.github.com/prometheus/client_golang/issues/1757) - \[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_\* wrong build tags. [#​1758](https://redirect.github.com/prometheus/client_golang/issues/1758) <details> <summary>All commits</summary> - Revert "exponential backoff for CAS operations on floats" and cut 1.21.1 by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1757](https://redirect.github.com/prometheus/client_golang/pull/1757) - Fix ios build for 1.21.1 by [@​bwplotka](https://redirect.github.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1758](https://redirect.github.com/prometheus/client_golang/pull/1758) </details> **Full Changelog**: prometheus/client_golang@v1.21.0...v1.21.1 ### [`v1.21.0`](https://redirect.github.com/prometheus/client_golang/releases/tag/v1.21.0): / 2025-02-19 [Compare Source](https://redirect.github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0) :warning: This release contains potential breaking change if you upgrade `github.com/prometheus/common` to 0.62+ together with client_golang (and depend on the strict, legacy validation for the label names). New common version [changes `model.NameValidationScheme` global variable](https://redirect.github.com/prometheus/common/pull/724), which relaxes the validation of label names and metric name, allowing all UTF-8 characters. Typically, this should not break any user, unless your test or usage expects strict certain names to panic/fail on client_golang metric registration, gathering or scrape. In case of problems change `model.NameValidationScheme` to old `model.LegacyValidation` value in your project `init` function. :warning: - \[BUGFIX] gocollector: Fix help message for runtime/metric metrics. [#​1583](https://redirect.github.com/prometheus/client_golang/issues/1583) - \[BUGFIX] prometheus: Fix `Desc.String()` method for no labels case. [#​1687](https://redirect.github.com/prometheus/client_golang/issues/1687) - \[PERF] prometheus: Optimize popular `prometheus.BuildFQName` function; now up to 30% faster. [#​1665](https://redirect.github.com/prometheus/client_golang/issues/1665) - \[PERF] prometheus: Optimize `Inc`, `Add` and `Observe` cumulative metrics; now up to 50% faster under high concurrent contention. [#​1661](https://redirect.github.com/prometheus/client_golang/issues/1661) - \[CHANGE] Upgrade prometheus/common to 0.62.0 which changes `model.NameValidationScheme` global variable. [#​1712](https://redirect.github.com/prometheus/client_golang/issues/1712) - \[CHANGE] Add support for Go 1.23. [#​1602](https://redirect.github.com/prometheus/client_golang/issues/1602) - \[FEATURE] process_collector: Add support for Darwin systems. [#​1600](https://redirect.github.com/prometheus/client_golang/issues/1600) [#​1616](https://redirect.github.com/prometheus/client_golang/issues/1616) [#​1625](https://redirect.github.com/prometheus/client_golang/issues/1625) [#​1675](https://redirect.github.com/prometheus/client_golang/issues/1675) [#​1715](https://redirect.github.com/prometheus/client_golang/issues/1715) - \[FEATURE] api: Add ability to invoke `CloseIdleConnections` on api.Client using `api.Client.(CloseIdler).CloseIdleConnections()` casting. [#​1513](https://redirect.github.com/prometheus/client_golang/issues/1513) - \[FEATURE] promhttp: Add `promhttp.HandlerOpts.EnableOpenMetricsTextCreatedSamples` option to create OpenMetrics \_created lines. Not recommended unless you want to use opt-in Created Timestamp feature. Community works on OpenMetrics 2.0 format that should make those lines obsolete (they increase cardinality significantly). [#​1408](https://redirect.github.com/prometheus/client_golang/issues/1408) - \[FEATURE] prometheus: Add `NewConstNativeHistogram` function. [#​1654](https://redirect.github.com/prometheus/client_golang/issues/1654) <details> <summary> All commits </summary> * Merge release-1.20 to main by @​bwplotka in prometheus/client_golang#1582 * gocollector: Tiny fix for help message with runtime/metrics source. by @​bwplotka in prometheus/client_golang#1583 * ci: bump dagger to the latest version by @​marcosnils in prometheus/client_golang#1588 * Merge release-1.20 back to main by @​ArthurSens in prometheus/client_golang#1593 * Update linting by @​SuperQ in prometheus/client_golang#1603 * Update supported Go versions by @​SuperQ in prometheus/client_golang#1602 * build(deps): bump golang.org/x/sys from 0.22.0 to 0.24.0 by @​dependabot in prometheus/client_golang#1611 * build(deps): bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @​dependabot in prometheus/client_golang#1612 * changed the name of all variables with min/max name by @​parthlaw in prometheus/client_golang#1606 * Update Dagger and build. by @​SuperQ in prometheus/client_golang#1610 * build(deps): bump github/codeql-action from 3.25.15 to 3.26.6 in the github-actions group across 1 directory by @​dependabot in prometheus/client_golang#1614 * examples: Improved GoCollector example. by @​bwplotka in prometheus/client_golang#1589 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1615 * process_collector: fill in most statistics on macOS by @​mharbison72 in prometheus/client_golang#1600 * ⚡ http client defer CloseIdleConnections by @​cuisongliu in prometheus/client_golang#1513 * Set allow-utf-8 in Format during tests to avoid escaping. by @​ywwg in prometheus/client_golang#1618 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1622 * Merge Release 1.20 back to main by @​ArthurSens in prometheus/client_golang#1627 * examples: Add custom labels example by @​ying-jeanne in prometheus/client_golang#1626 * Refactor default runtime metrics tests for Go collector so that default runtime metric set autogenerates by @​vesari in prometheus/client_golang#1631 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1628 * process_xxx_memory statistics for macOS (cgo) by @​mharbison72 in prometheus/client_golang#1616 * build(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.10 by @​dependabot in prometheus/client_golang#1633 * build(deps): bump golang.org/x/sys from 0.24.0 to 0.25.0 by @​dependabot in prometheus/client_golang#1632 * process_collector: Add Platform-Specific Describe for processCollector by @​ying-jeanne in prometheus/client_golang#1625 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1635 * build(deps): bump the github-actions group with 4 updates by @​dependabot in prometheus/client_golang#1634 * Optionally print OM created lines by @​ArthurSens in prometheus/client_golang#1408 * process_collector: merge wasip1 and js into a single implementation by @​ying-jeanne in prometheus/client_golang#1644 * Merge release 1.20 to main by @​bwplotka in prometheus/client_golang#1647 * Add Arianna as maintainer 💪 by @​ArthurSens in prometheus/client_golang#1651 * test add headers round tripper by @​Manask322 in prometheus/client_golang#1657 * build(deps): bump github.com/klauspost/compress from 1.17.10 to 1.17.11 by @​dependabot in prometheus/client_golang#1668 * build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @​dependabot in prometheus/client_golang#1669 * build(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.1 by @​dependabot in prometheus/client_golang#1667 * build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @​dependabot in prometheus/client_golang#1670 * Optimize BuildFQName function by @​jkroepke in prometheus/client_golang#1665 * fix: use injected now() instead of time.Now() in summary methods by @​imorph in prometheus/client_golang#1672 * process_collector: avoid a compiler warning on macOS (fixes #​1660) by @​mharbison72 in prometheus/client_golang#1675 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1674 * build(deps): bump the github-actions group across 1 directory with 3 updates by @​dependabot in prometheus/client_golang#1678 * [chore]: enable perfsprint linter by @​mmorel-35 in prometheus/client_golang#1676 * Duplicate of #​1662 by @​imorph in prometheus/client_golang#1673 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1679 * chore: enable usestdlibvars linter by @​mmorel-35 in prometheus/client_golang#1680 * Add: exponential backoff for CAS operations on floats by @​imorph in prometheus/client_golang#1661 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1683 * [1617] Add ConstnativeHistogram by @​shivanthzen in prometheus/client_golang#1654 * fix: replace fmt.Errorf with errors.New by @​kakkoyun in prometheus/client_golang#1689 * Add codeowners by @​kakkoyun in prometheus/client_golang#1688 * fix: add very small delay between observations in `TestHistogramAtomicObserve` by @​imorph in prometheus/client_golang#1691 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1692 * Fix: handle nil variableLabels in Desc.String() method and add tests for nil label values by @​kakkoyun in prometheus/client_golang#1687 * examples: Follow best practices and established naming conventions by @​lilic in prometheus/client_golang#1650 * setup OSSF Scorecard workflow by @​mmorel-35 in prometheus/client_golang#1432 * build(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @​dependabot in prometheus/client_golang#1697 * build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 by @​dependabot in prometheus/client_golang#1696 * build(deps): bump the github-actions group with 5 updates by @​dependabot in prometheus/client_golang#1695 * update links to openmetrics to reference the v1.0.0 release by @​dashpole in prometheus/client_golang#1699 * build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.1 by @​dependabot in prometheus/client_golang#1706 * build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 by @​dependabot in prometheus/client_golang#1705 * build(deps): bump the github-actions group with 5 updates by @​dependabot in prometheus/client_golang#1707 * build(deps): bump github.com/prometheus/common from 0.60.1 to 0.61.0 by @​dependabot in prometheus/client_golang#1704 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1703 * Synchronize common files from prometheus/prometheus by @​prombot in prometheus/client_golang#1708 * Upgrade to prometheus/common 0.62.0 with breaking change by @​bwplotka in prometheus/client_golang#1712 * build(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 in /tutorials/whatsup by @​dependabot in prometheus/client_golang#1713 * docs: Add RELEASE.md for the release process by @​kakkoyun in prometheus/client_golang#1690 * tutorials/whatsup: Updated deps by @​bwplotka in prometheus/client_golang#1716 * process collector: Fixed pedantic registry failures on darwin with cgo. by @​bwplotka in prometheus/client_golang#1715 * Revert "ci: daggerize test and lint pipelines (#​1534)" by @​bwplotka in prometheus/client_golang#1717 * Cut 1.21.0-rc.0 by @​bwplotka in prometheus/client_golang#1718 * Cut 1.21 by @​bwplotka in prometheus/client_golang#1737 </details> #### New Contributors * @​parthlaw made their first contributi[https://github.com/prometheus/client_golang/pull/1606](https://redirect.github.com/prometheus/client_golang/pull/1606)l/1606 * @​mharbison72 made their first contributi[https://github.com/prometheus/client_golang/pull/1600](https://redirect.github.com/prometheus/client_golang/pull/1600)l/1600 * @​cuisongliu made their first contributi[https://github.com/prometheus/client_golang/pull/1513](https://redirect.github.com/prometheus/client_golang/pull/1513)l/1513 * @​ying-jeanne made their first contributi[https://github.com/prometheus/client_golang/pull/1626](https://redirect.github.com/prometheus/client_golang/pull/1626)l/1626 * @​Manask322 made their first contributi[https://github.com/prometheus/client_golang/pull/1657](https://redirect.github.com/prometheus/client_golang/pull/1657)l/1657 * @​jkroepke made their first contributi[https://github.com/prometheus/client_golang/pull/1665](https://redirect.github.com/prometheus/client_golang/pull/1665)l/1665 * @​imorph made their first contributi[https://github.com/prometheus/client_golang/pull/1672](https://redirect.github.com/prometheus/client_golang/pull/1672)l/1672 * @​mmorel-35 made their first contributi[https://github.com/prometheus/client_golang/pull/1676](https://redirect.github.com/prometheus/client_golang/pull/1676)l/1676 * @​shivanthzen made their first contributi[https://github.com/prometheus/client_golang/pull/1654](https://redirect.github.com/prometheus/client_golang/pull/1654)l/1654 * @​dashpole made their first contributi[https://github.com/prometheus/client_golang/pull/1699](https://redirect.github.com/prometheus/client_golang/pull/1699)l/1699 **Full Changelog**: prometheus/client_golang@v1.20.5...v1.21.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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]>
In this PR I modify the
gen_go_collector_set.go
file so that the default runtime metrics list gets autogenerated (like a few test helpers functions already did) so that it can vary automatically according to the Go versions.This is tied to the #1575 issue.