-
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
[1617] Add ConstnativeHistogram #1654
Conversation
85c4d89
to
473720d
Compare
@ArthurSens Maybe you can take a look at this PR. |
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 for working on this! I've added a few comments but I'm not a native histogram expert, it would be nice if @beorn7 or @krajorama could also take a look here.
question: Have you tried using your commit on OTel's side to make sure you can translate their format into ours?
Will have a look ASAP (which won't be before next week, sorry). |
96eeddd
to
ad21924
Compare
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 understand the use case of wanting to expose OTEL exponential histograms from the Prometheus exporter in the collector. How would you use it actually? Constantly register and unregister the metric to update the exposed values? Or just use it's Write()
method to get to the data?
In any case, the naming is going to be weird as you're not actually using it as a const :)
If I understand correctly, currently it will only work for counter histograms, not gauge histograms due to limitations in client_golang.
I'm a little afraid of abuse of this interface, but don't see true stoppers for now, will consult @beorn7 .
prometheus/histogram.go
Outdated
zeroBucket uint64 | ||
} | ||
|
||
func NewConstNativeHistogram(desc *Desc, count uint64, sum float64, postiveBuckets, negativeBuckets map[int]int64, zeroBucket uint64, |
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.
Needs doc string to explain the arguments and the fact that this is exposed as a counter type histogram, treated as a counter on scrape.
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.
In fact, I do actually think that exposing a gauge histogram will be one of the common use cases for using this function. So let's maybe add a bool argument here so that the user can switch between counter and gauge histogram.
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.
Style nit: Prometheus code usually does a line break after the opening parenthesis in case of multiline argument lists.
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.
Tried this. Wouldn't this blow up the argument list? Is it better to create a seperate a constNaticveGuageHistogram ?
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 still unclear about including a gauge histogram
. As per my understanding , we will need to add postiveBuckets, negativeBuckets of type map[int]float64 as an argument (or use a generic parameter). Adding a boolean parameter will not suffice.
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.
It sounds like you are thinking about a float histogram. That's something we might want to add later (ideally together with the option of creating classic float histograms). However, the use case for float histograms in instrumentation is very rare.
I am in fact talking about a gauge histogram. It merely requires to set a different MetricType
in the MetricFamily
. However, I've just realized that we currently have no way of communicating the difference of counter histogram (i.e. the "normal" histogram) and gauge histogram during metrics collection. For that, we needed Desc
to have a metric type field (which was the plan for quite some time).
So I'm pretty sure we cannot solve this problem in this PR, because it needed too much re-architecting.
But if we assume that the difference between counter histogram and gauge histogram will be in the Desc
, we actually don't need a bool parameter here, but just have to later allow the option of creating "typed" Desc
s.
In conclusion, let's not do gauge histograms right now.
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.
That's true. I was indeed confused about a float histogram and gauge histogram.
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 @shivanthzen for tackling this, and thanks for the review so far @krajorama and @ArthurSens . If I haven't commented on a previous review comment, I agree with it. :)
prometheus/histogram.go
Outdated
zeroBucket uint64 | ||
} | ||
|
||
func NewConstNativeHistogram(desc *Desc, count uint64, sum float64, postiveBuckets, negativeBuckets map[int]int64, zeroBucket uint64, |
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.
In fact, I do actually think that exposing a gauge histogram will be one of the common use cases for using this function. So let's maybe add a bool argument here so that the user can switch between counter and gauge histogram.
prometheus/histogram.go
Outdated
zeroBucket uint64 | ||
} | ||
|
||
func NewConstNativeHistogram(desc *Desc, count uint64, sum float64, postiveBuckets, negativeBuckets map[int]int64, zeroBucket uint64, |
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.
Style nit: Prometheus code usually does a line break after the opening parenthesis in case of multiline argument lists.
Thanks for the comments. I'll resolve them this weekend |
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 had just a quick look today :)
prometheus/histogram.go
Outdated
if err := validateCount(count, negativeBuckets, positiveBuckets, zeroBucket); err != nil { | ||
return nil, err | ||
} |
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.
Do we need to validate Sum as well?
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.
Not really. Sum could by anything. I mean, there could be consistency checks like the sum cannot be negative if there are only positive observations, or the sum has to be zero without any observations, and many more. But I don't know if that would be very helpful. We should only check for conditions that would make Prometheus reject the histogram upon ingestion.
prometheus/histogram.go
Outdated
return nil | ||
} | ||
|
||
func makeBucketsAny(buckets map[int]int64) ([]*dto.BucketSpan, []int64) { |
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.
hey, could you clarify what Any
means here?
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.
Probably "positive or negative".
I would just call it makeBuckets
.
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.
+1 for makeBuckets
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.
Hmm, makebuckets alreadyexists in the namespace. I could do makeBucketfrommap
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.
Looks good in general.
Despite the frequent nit pickings about naming etc., I haven't yet checked the technical correctness very deeply yet (although it looks fine as far as I can see right now).
prometheus/histogram.go
Outdated
if err := validateCount(count, negativeBuckets, positiveBuckets, zeroBucket); err != nil { | ||
return nil, err | ||
} |
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.
Not really. Sum could by anything. I mean, there could be consistency checks like the sum cannot be negative if there are only positive observations, or the sum has to be zero without any observations, and many more. But I don't know if that would be very helpful. We should only check for conditions that would make Prometheus reject the histogram upon ingestion.
prometheus/histogram.go
Outdated
return nil | ||
} | ||
|
||
func makeBucketsAny(buckets map[int]int64) ([]*dto.BucketSpan, []int64) { |
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.
Probably "positive or negative".
I would just call it makeBuckets
.
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, but let's wait for an approval from Beorn or Krajo as well
Thanks for the work!
Oh, looks like some commits weren't signed and there's one test failing 🤔 The test seems to be flaky, it's also failing in other PRs |
I can sign the commits once the PR is approved, It seems signing will need a force push |
Yes, it changes the commits and therefore needs a force-push. However, it is essential to sign before approval. That's kind of the point. |
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 for addressing the feedback.
I have no realized something about exemplars we had not discussed before.
I have also realized we cannot do gauge histograms right now. Needs more discussion and planning, which is out of scope of this PR.
afbdefd
to
f900abb
Compare
Force pushed with signed commits. |
356875e
to
698a313
Compare
@shivanthzen, looks like you accidentally added unrelated commits to your PR, could you keep only the ones that you've authored here? |
698a313
to
d7d3022
Compare
@ArthurSens Removed other commits from the branch |
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.
couple of minor comments
@beorn7 could you have another look at it? |
This is very close to the top of my review queue now. Will have a look soon, hopefully today. |
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.
Just some minor things about doc comments left.
Looks good to me, but there are lint warnings now. (They are coming from a recently added check, but they are still relevant.) Also, DCO signing is missing. @shivanthzen could you address the lint warnings and sign the commits? (Feel free to squash commits into fewer or just one before doing that.) |
Signed-off-by: Shivanth <[email protected]> Apply suggestions from code review Co-authored-by: Arthur Silva Sens <[email protected]> Signed-off-by: Shivanth <[email protected]> Fix references and existing tests Signed-off-by: Shivanth <[email protected]> Review comments Signed-off-by: Shivanth <[email protected]> fmt Signed-off-by: Shivanth <[email protected]> validation Signed-off-by: Shivanth <[email protected]> Count validation Signed-off-by: Shivanth <[email protected]> Validation Signed-off-by: Shivanth <[email protected]> Review comments Signed-off-by: Shivanth <[email protected]> Space formatting Signed-off-by: Shivanth <[email protected]> Review comments Signed-off-by: Shivanth <[email protected]> Rename SyncMaptoMap -> SyncMapToMap Signed-off-by: Shivanth <[email protected]> Remove exemplars from parameters for constNativeHistogram function Signed-off-by: Shivanth <[email protected]> Update prometheus/histogram.go Co-authored-by: George Krajcsovits <[email protected]> Signed-off-by: Shivanth MP <[email protected]> Update prometheus/histogram.go Co-authored-by: George Krajcsovits <[email protected]> Signed-off-by: Shivanth MP <[email protected]> Update prometheus/histogram.go Co-authored-by: George Krajcsovits <[email protected]> Signed-off-by: Shivanth MP <[email protected]> Update prometheus/histogram.go Co-authored-by: Björn Rabenstein <[email protected]> Signed-off-by: Shivanth MP <[email protected]> Review comments Signed-off-by: Shivanth <[email protected]> Lint fix Signed-off-by: Shivanth <[email protected]>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go | `v1.36.5-20250130201111-63bb56e20495.1` -> `v1.36.5-20250219170025-d39267d9df8f.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/) | require | patch | | [github.com/aws/aws-sdk-go-v2/config](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.29.6` -> `v1.29.7` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/aws/aws-sdk-go-v2/service/marketplacemetering](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.25.15` -> `v1.25.16` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/aws/smithy-go](https://redirect.github.com/aws/smithy-go) | `v1.22.2` -> `v1.22.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/bufbuild/protovalidate-go](https://redirect.github.com/bufbuild/protovalidate-go) | `v0.9.1` -> `v0.9.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/cerbos/cerbos-sdk-go](https://redirect.github.com/cerbos/cerbos-sdk-go) | `v0.2.13` -> `v0.2.14` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/cerbos/cloud-api](https://redirect.github.com/cerbos/cloud-api) | `v0.1.33` -> `v0.1.35` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/go-sql-driver/mysql](https://redirect.github.com/go-sql-driver/mysql) | `v1.8.1` -> `v1.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/google/go-cmp](https://redirect.github.com/google/go-cmp) | `v0.6.0` -> `v0.7.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/grpc-ecosystem/go-grpc-middleware/v2](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware) | `v2.2.1-0.20250211181920-c6f35459f594` -> `v2.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/minio/minio-go/v7](https://redirect.github.com/minio/minio-go) | `v7.0.86` -> `v7.0.87` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/prometheus/client_golang](https://redirect.github.com/prometheus/client_golang) | `v1.20.5` -> `v1.21.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/vektra/mockery/v2](https://redirect.github.com/vektra/mockery) | `v2.52.2` -> `v2.52.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | patch | | golang.org/x/crypto | `v0.33.0` -> `v0.34.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | minor | | golang.org/x/exp | `eff6e97` -> `aa4b98e` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | digest | | [google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto) | `5a70512` -> `9fdb1ca` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | require | digest | --- ### Release Notes <details> <summary>aws/smithy-go (github.com/aws/smithy-go)</summary> ### [`v1.22.3`](https://redirect.github.com/aws/smithy-go/compare/v1.22.2...v1.22.3) [Compare Source](https://redirect.github.com/aws/smithy-go/compare/v1.22.2...v1.22.3) </details> <details> <summary>bufbuild/protovalidate-go (github.com/bufbuild/protovalidate-go)</summary> ### [`v0.9.2`](https://redirect.github.com/bufbuild/protovalidate-go/releases/tag/v0.9.2) [Compare Source](https://redirect.github.com/bufbuild/protovalidate-go/compare/v0.9.1...v0.9.2) ##### What's Changed This release fixes a bug where predefined rules may have their `rule` values cached inappropriately across invocations. Also, URI validation was fixed to ensure the query string does not contain invalid characters. - Validate URI query string encoding by [@​smaye81](https://redirect.github.com/smaye81) in [https://github.com/bufbuild/protovalidate-go/pull/183](https://redirect.github.com/bufbuild/protovalidate-go/pull/183) - Bump github.com/google/cel-go from 0.23.0 to 0.23.2 in the go group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/bufbuild/protovalidate-go/pull/184](https://redirect.github.com/bufbuild/protovalidate-go/pull/184) - Bump the go group with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/bufbuild/protovalidate-go/pull/186](https://redirect.github.com/bufbuild/protovalidate-go/pull/186) - Fix predefined rule value caching behavior by [@​jchadwick-buf](https://redirect.github.com/jchadwick-buf) in [https://github.com/bufbuild/protovalidate-go/pull/188](https://redirect.github.com/bufbuild/protovalidate-go/pull/188) ##### New Contributors - [@​smaye81](https://redirect.github.com/smaye81) made their first contribution in [https://github.com/bufbuild/protovalidate-go/pull/183](https://redirect.github.com/bufbuild/protovalidate-go/pull/183) **Full Changelog**: bufbuild/protovalidate-go@v0.9.1...v0.9.2 </details> <details> <summary>cerbos/cerbos-sdk-go (github.com/cerbos/cerbos-sdk-go)</summary> ### [`v0.2.14`](https://redirect.github.com/cerbos/cerbos-sdk-go/compare/v0.2.13...v0.2.14) [Compare Source](https://redirect.github.com/cerbos/cerbos-sdk-go/compare/v0.2.13...v0.2.14) </details> <details> <summary>cerbos/cloud-api (github.com/cerbos/cloud-api)</summary> ### [`v0.1.35`](https://redirect.github.com/cerbos/cloud-api/compare/v0.1.34...v0.1.35) [Compare Source](https://redirect.github.com/cerbos/cloud-api/compare/v0.1.34...v0.1.35) ### [`v0.1.34`](https://redirect.github.com/cerbos/cloud-api/compare/v0.1.33...v0.1.34) [Compare Source](https://redirect.github.com/cerbos/cloud-api/compare/v0.1.33...v0.1.34) </details> <details> <summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary> ### [`v1.9.0`](https://redirect.github.com/go-sql-driver/mysql/blob/HEAD/CHANGELOG.md#v190-2025-02-18) [Compare Source](https://redirect.github.com/go-sql-driver/mysql/compare/v1.8.1...v1.9.0) ##### Major Changes - Implement zlib compression. ([#​1487](https://redirect.github.com/go-sql-driver/mysql/issues/1487)) - Supported Go version is updated to Go 1.21+. ([#​1639](https://redirect.github.com/go-sql-driver/mysql/issues/1639)) - Add support for VECTOR type introduced in MySQL 9.0. ([#​1609](https://redirect.github.com/go-sql-driver/mysql/issues/1609)) - Config object can have custom dial function. ([#​1527](https://redirect.github.com/go-sql-driver/mysql/issues/1527)) ##### Bugfixes - Fix auth errors when username/password are too long. ([#​1625](https://redirect.github.com/go-sql-driver/mysql/issues/1625)) - Check if MySQL supports CLIENT_CONNECT_ATTRS before sending client attributes. ([#​1640](https://redirect.github.com/go-sql-driver/mysql/issues/1640)) - Fix auth switch request handling. ([#​1666](https://redirect.github.com/go-sql-driver/mysql/issues/1666)) ##### Other changes - Add "filename:line" prefix to log in go-mysql. Custom loggers now show it. ([#​1589](https://redirect.github.com/go-sql-driver/mysql/issues/1589)) - Improve error handling. It reduces the "busy buffer" errors. ([#​1595](https://redirect.github.com/go-sql-driver/mysql/issues/1595), [#​1601](https://redirect.github.com/go-sql-driver/mysql/issues/1601), [#​1641](https://redirect.github.com/go-sql-driver/mysql/issues/1641)) - Use `strconv.Atoi` to parse max_allowed_packet. ([#​1661](https://redirect.github.com/go-sql-driver/mysql/issues/1661)) - `rejectReadOnly` option now handles ER_READ_ONLY_MODE (1290) error too. ([#​1660](https://redirect.github.com/go-sql-driver/mysql/issues/1660)) </details> <details> <summary>google/go-cmp (github.com/google/go-cmp)</summary> ### [`v0.7.0`](https://redirect.github.com/google/go-cmp/releases/tag/v0.7.0) [Compare Source](https://redirect.github.com/google/go-cmp/compare/v0.6.0...v0.7.0) New API: - ([#​367](https://redirect.github.com/google/go-cmp/issues/367)) Support compare functions with SortSlices and SortMaps Panic messaging: - ([#​370](https://redirect.github.com/google/go-cmp/issues/370)) Detect proto.Message types when failing to export a field </details> <details> <summary>grpc-ecosystem/go-grpc-middleware (github.com/grpc-ecosystem/go-grpc-middleware/v2)</summary> ### [`v2.3.0`](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/releases/tag/v2.3.0) [Compare Source](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/compare/v2.2.0...v2.3.0) #### What's Changed - logging: add AddFields by [@​kindermoumoute](https://redirect.github.com/kindermoumoute) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/739](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/739) - logging: store the propagated context in the reporter by [@​kindermoumoute](https://redirect.github.com/kindermoumoute) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/740](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/740) - Add skip_healthchecks logging example by [@​bkane-msft](https://redirect.github.com/bkane-msft) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/742](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/742) - grpc_retry backoff overflow by [@​JacobSMoller](https://redirect.github.com/JacobSMoller) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/747](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/747) - defer cancel() leaks memory by [@​JacobSMoller](https://redirect.github.com/JacobSMoller) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/748](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/748) - protovalidate: support new protovalidate-go Validator interface by [@​zchee](https://redirect.github.com/zchee) in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/746](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/746) #### New Contributors - [@​bkane-msft](https://redirect.github.com/bkane-msft) made their first contribution in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/742](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/742) - [@​JacobSMoller](https://redirect.github.com/JacobSMoller) made their first contribution in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/747](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/747) - [@​zchee](https://redirect.github.com/zchee) made their first contribution in [https://github.com/grpc-ecosystem/go-grpc-middleware/pull/746](https://redirect.github.com/grpc-ecosystem/go-grpc-middleware/pull/746) **Full Changelog**: grpc-ecosystem/go-grpc-middleware@v2.2.0...v2.3.0 </details> <details> <summary>minio/minio-go (github.com/minio/minio-go/v7)</summary> ### [`v7.0.87`](https://redirect.github.com/minio/minio-go/releases/tag/v7.0.87): Bugfix Release [Compare Source](https://redirect.github.com/minio/minio-go/compare/v7.0.86...v7.0.87) #### What's Changed - Fix build for 386 by [@​fwessels](https://redirect.github.com/fwessels) in [https://github.com/minio/minio-go/pull/2068](https://redirect.github.com/minio/minio-go/pull/2068) - fix: allow port in endpoint for aws private link validation by [@​MadJlzz](https://redirect.github.com/MadJlzz) in [https://github.com/minio/minio-go/pull/2066](https://redirect.github.com/minio/minio-go/pull/2066) - tags were incorrectly used, fix them use the right package by [@​harshavardhana](https://redirect.github.com/harshavardhana) in [https://github.com/minio/minio-go/pull/2070](https://redirect.github.com/minio/minio-go/pull/2070) #### New Contributors - [@​MadJlzz](https://redirect.github.com/MadJlzz) made their first contribution in [https://github.com/minio/minio-go/pull/2066](https://redirect.github.com/minio/minio-go/pull/2066) **Full Changelog**: minio/minio-go@v7.0.86...v7.0.87 </details> <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`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> <details> <summary>vektra/mockery (github.com/vektra/mockery/v2)</summary> ### [`v2.52.3`](https://redirect.github.com/vektra/mockery/releases/tag/v2.52.3) [Compare Source](https://redirect.github.com/vektra/mockery/compare/v2.52.2...v2.52.3) #### Changelog - [`b4291cf`](https://redirect.github.com/vektra/mockery/commit/b4291cf) Build Docker from Go 1.24 ([#​923](https://redirect.github.com/vektra/mockery/issues/923)) - [`44293f3`](https://redirect.github.com/vektra/mockery/commit/44293f3) Bump debug version </details> --- ### Configuration 📅 **Schedule**: Branch creation - "* 0-3 * * 1" (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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/cerbos/cerbos). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhcmVhL2RlcGVuZGVuY2llcyIsImJvdHMiLCJraW5kL2Nob3JlIl19--> --------- Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Charith Ellawala <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Charith Ellawala <[email protected]>
…) (#7016) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | require | minor | `v1.20.5` -> `v1.21.0` | --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.21.0`](https://github.com/prometheus/client_golang/releases/tag/v1.21.0): / 2025-02-19 [Compare Source](prometheus/client_golang@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](prometheus/common#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.⚠️ - \[BUGFIX] gocollector: Fix help message for runtime/metric metrics. [#​1583](prometheus/client_golang#1583) - \[BUGFIX] prometheus: Fix `Desc.String()` method for no labels case. [#​1687](prometheus/client_golang#1687) - \[PERF] prometheus: Optimize popular `prometheus.BuildFQName` function; now up to 30% faster. [#​1665](prometheus/client_golang#1665) - \[PERF] prometheus: Optimize `Inc`, `Add` and `Observe` cumulative metrics; now up to 50% faster under high concurrent contention. [#​1661](prometheus/client_golang#1661) - \[CHANGE] Upgrade prometheus/common to 0.62.0 which changes `model.NameValidationScheme` global variable. [#​1712](prometheus/client_golang#1712) - \[CHANGE] Add support for Go 1.23. [#​1602](prometheus/client_golang#1602) - \[FEATURE] process_collector: Add support for Darwin systems. [#​1600](prometheus/client_golang#1600) [#​1616](prometheus/client_golang#1616) [#​1625](prometheus/client_golang#1625) [#​1675](prometheus/client_golang#1675) [#​1715](prometheus/client_golang#1715) - \[FEATURE] api: Add ability to invoke `CloseIdleConnections` on api.Client using `api.Client.(CloseIdler).CloseIdleConnections()` casting. [#​1513](prometheus/client_golang#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](prometheus/client_golang#1408) - \[FEATURE] prometheus: Add `NewConstNativeHistogram` function. [#​1654](prometheus/client_golang#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 contribution in prometheus/client_golang#1606 * @​mharbison72 made their first contribution in prometheus/client_golang#1600 * @​cuisongliu made their first contribution in prometheus/client_golang#1513 * @​ying-jeanne made their first contribution in prometheus/client_golang#1626 * @​Manask322 made their first contribution in prometheus/client_golang#1657 * @​jkroepke made their first contribution in prometheus/client_golang#1665 * @​imorph made their first contribution in prometheus/client_golang#1672 * @​mmorel-35 made their first contribution in prometheus/client_golang#1676 * @​shivanthzen made their first contribution in prometheus/client_golang#1654 * @​dashpole made their first contribution in prometheus/client_golang#1699 **Full Changelog**: prometheus/client_golang@v1.20.5...v1.21.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "* 0-3 * * *" (UTC), Automerge - "* 0-3 * * *" (UTC). 🚦 **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 [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzEuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3MS4yIiwidGFyZ2V0QnJhbmNoIjoiZm9yZ2VqbyIsImxhYmVscyI6WyJkZXBlbmRlbmN5LXVwZ3JhZGUiLCJ0ZXN0L25vdC1uZWVkZWQiXX0=--> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7016 Reviewed-by: Gusted <[email protected]> Co-authored-by: Renovate Bot <[email protected]> Co-committed-by: Renovate Bot <[email protected]>
Fixes: #1617
Add exported ConstNativeHistogram - this can be used to build native histograms if one already has the relevant data without calling the observe function. A viable use case is while converting exponential histograms to nativehistograms.