Update module github.com/prometheus/client_golang to v1.21.1
-
Review changes -
-
Download -
Patches
-
Plain diff
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
github.com/prometheus/client_golang | require | minor |
v1.20.3 -> v1.21.1
|
Release Notes
prometheus/client_golang (github.com/prometheus/client_golang)
v1.21.1
: / 2025-03-04
This release addresses a performance regression introduced in #1661 -- thanks to all who reported this quickly:
@chlunde, @dethi, @aaronbee @tsuna @kakkoyun
We will be hardening the release process even further (#1759, #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
andObserve
cumulative metric CAS optimizations (#1661), causing regressions on low concurrency cases #1757 - [BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_* wrong build tags. #1758
All commits
- Revert "exponential backoff for CAS operations on floats" and cut 1.21.1 by @bwplotka in https://github.com/prometheus/client_golang/pull/1757
- Fix ios build for 1.21.1 by @bwplotka in https://github.com/prometheus/client_golang/pull/1758
Full Changelog: https://github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1
v1.21.0
: / 2025-02-19
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, 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.
- [BUGFIX] gocollector: Fix help message for runtime/metric metrics. #1583
- [BUGFIX] prometheus: Fix
Desc.String()
method for no labels case. #1687 - [PERF] prometheus: Optimize popular
prometheus.BuildFQName
function; now up to 30% faster. #1665 - [PERF] prometheus: Optimize
Inc
,Add
andObserve
cumulative metrics; now up to 50% faster under high concurrent contention. #1661 - [CHANGE] Upgrade prometheus/common to 0.62.0 which changes
model.NameValidationScheme
global variable. #1712 - [CHANGE] Add support for Go 1.23. #1602
- [FEATURE] process_collector: Add support for Darwin systems. #1600 #1616 #1625 #1675 #1715
- [FEATURE] api: Add ability to invoke
CloseIdleConnections
on api.Client usingapi.Client.(CloseIdler).CloseIdleConnections()
casting. #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 - [FEATURE] prometheus: Add
NewConstNativeHistogram
function. #1654
All commits
* Merge release-1.20 to main by @bwplotka in https://github.com/prometheus/client_golang/pull/1582 * gocollector: Tiny fix for help message with runtime/metrics source. by @bwplotka in https://github.com/prometheus/client_golang/pull/1583 * ci: bump dagger to the latest version by @marcosnils in https://github.com/prometheus/client_golang/pull/1588 * Merge release-1.20 back to main by @ArthurSens in https://github.com/prometheus/client_golang/pull/1593 * Update linting by @SuperQ in https://github.com/prometheus/client_golang/pull/1603 * Update supported Go versions by @SuperQ in https://github.com/prometheus/client_golang/pull/1602 * build(deps): bump golang.org/x/sys from 0.22.0 to 0.24.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1611 * build(deps): bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1612 * changed the name of all variables with min/max name by @parthlaw in https://github.com/prometheus/client_golang/pull/1606 * Update Dagger and build. by @SuperQ in https://github.com/prometheus/client_golang/pull/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 https://github.com/prometheus/client_golang/pull/1614 * examples: Improved GoCollector example. by @bwplotka in https://github.com/prometheus/client_golang/pull/1589 * Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1615 * process_collector: fill in most statistics on macOS by @mharbison72 in https://github.com/prometheus/client_golang/pull/1600 *New Contributors
- @parthlaw made their first contribution in https://github.com/prometheus/client_golang/pull/1606
- @mharbison72 made their first contribution in https://github.com/prometheus/client_golang/pull/1600
- @cuisongliu made their first contribution in https://github.com/prometheus/client_golang/pull/1513
- @ying-jeanne made their first contribution in https://github.com/prometheus/client_golang/pull/1626
- @Manask322 made their first contribution in https://github.com/prometheus/client_golang/pull/1657
- @jkroepke made their first contribution in https://github.com/prometheus/client_golang/pull/1665
- @imorph made their first contribution in https://github.com/prometheus/client_golang/pull/1672
- @mmorel-35 made their first contribution in https://github.com/prometheus/client_golang/pull/1676
- @shivanthzen made their first contribution in https://github.com/prometheus/client_golang/pull/1654
- @dashpole made their first contribution in https://github.com/prometheus/client_golang/pull/1699
Full Changelog: https://github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0
v1.20.5
: / 2024-10-15
We decided to revert the testutil
change 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.
Going forward, we plan to reinforce our release testing strategy [1],[2] and deliver an enhanced testutil
package/module with more flexible and safer APIs.
Thanks to @dashpole @dgrisonnet @kakkoyun @ArthurSens @vesari @logicalhan @krajorama @bwplotka who helped in this patch release!
Changelog
[BUGFIX] testutil: Reverted #1424; functions using compareMetricFamilies are (again) only failing if filtered metricNames are in the expected input. #1645
v1.20.4
- [BUGFIX] histograms: Fix a possible data race when appending exemplars vs metrics gather. #1623
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.