-
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
Bump client_model #1323
Bump client_model #1323
Conversation
The only test I still couldn't figure out is |
Thanks! Can we double check that:
What's the problem with multiline? If you need help could give us more details on why it's tricky? |
I'm pretty sure this will run into the test flakiness problem because the new protobuf code intentionally randomizes the text output. |
Ok, as discussed in slack, I started to refactor all tests that were using proto-text for comparison. Now they are using There are a few situations that I'm not sure how to solve yet though. A few tests are Examples. Those examples compare what is being printed to what magic comment func ExampleMetricVec() {
infoVec := NewInfoVec(
"library_version_info",
"Versions of the libraries used in this binary.",
[]string{"library", "version"},
)
infoVec.WithLabelValues("prometheus/client_golang", "1.7.1")
infoVec.WithLabelValues("k8s.io/client-go", "0.18.8")
// Just for demonstration, let's check the state of the InfoVec by
// registering it with a custom registry and then let it collect the
// metrics.
reg := prometheus.NewRegistry()
reg.MustRegister(infoVec)
metricFamilies, err := reg.Gather()
if err != nil || len(metricFamilies) != 1 {
panic("unexpected behavior of custom test registry")
}
fmt.Println(metricFamilies[0].String())
// Output:
// name:"library_version_info" help:"Versions of the libraries used in this binary." type:GAUGE metric:<label:<name:"library" value:"k8s.io/client-go" > label:<name:"version" value:"0.18.8" > gauge:<value:1 > > metric:<label:<name:"library" value:"prometheus/client_golang" > label:<name:"version" value:"1.7.1" > gauge:<value:1 > >
} I'm not familiar with tests functions called |
Also, |
This is a very common example on why random character decision is damaging. I would propose creating "derandomizeProtoString" function that removes all instances of double whitespace into one (: Then I would use it only where it's absolutely necessary e.g. explictly when printing proto string. |
Maybe we could also convert protobuf to the Prometheus text format? In the spirit of github.com/prometheus/client_golang/prometheus/testutil . |
For the error content in the Prometheus text output format I would suggest switching to protojson formatter. |
Unfortunately protojson adds the same brittle 😭 |
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.
Nice, epic work!
Thanks for caring about bigger problem here.
I have suggestion for that special function type safety, readability etc. Once that is addressed - LGTM! Thanks!
prometheus/utils_test.go
Outdated
// removeBrittleJSON is a helper function to compare proto messages in json format. | ||
// Without removing brittle, we can't assert that two proto messages in json/text format are equal. | ||
// Read more in https://github.com/golang/protobuf/issues/1121 | ||
func removeBrittleJSON(j []byte) 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.
Not sure where you got this "brittle" word from. (: Let's be specifc and call it "normalization" rather?
Also printing errors is odd if nothing guards callers from using this function for other things than printing.
Finally, we have opportunity to reduce boilerplate of marshalling too and make this function generally type safe. We know we want to use it only for printing in example, let's block other use cases, so further devs will be forced to produce golden tests instead (:
I would propose:
func removeBrittleJSON(j []byte) string { | |
func printlnNormalized(t testing.TB, msg proto.Message) { | |
t.Helper() | |
// marshall, do t.Fatal on error | |
// compact json | |
// print to stdout (e.g. fmt.Println) | |
} |
WDYT?
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 sure where you got this "brittle" word from. (: Let's be specifc and call it "normalization" rather?
I guess I'm not 100% fluent in English and sometimes some words just get stuck in my head 😅. Agreed that normalization sounds better
Also printing errors is odd if nothing guards callers from using this function for other things than printing.
Finally, we have opportunity to reduce boilerplate of marshalling too and make this function generally type safe. We know we want to use it only for printing in example, let's block other use cases, so further devs will be forced to produce golden tests instead (:
I would propose:
WDYT?
Sounds good! Thanks for the suggestions
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.
Actually, examples don't have parameter testing.T, so calling 'printlnNormalized(t testing.TB...' doesn't seem possible?
I'm panic'ing instead of calling t.Fatal, but let me know if I missed something 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.
👍🏽 Good point, panic is fine
By upgrading prometheus/client_model, several test functions had to be re-written due to 2 breaking changes made in protobuf when parsing messages to text: 1. '<' and '>' characters were replaced with '{' and '}' respectively. 2. The text format is non-deterministic. More information in golang/protobuf#1121 Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Huge amount of work 💪🏽
LGTM
….0 (#939) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/prometheus/client_golang](https://togithub.com/prometheus/client_golang) | require | minor | `v1.16.0` -> `v1.17.0` | --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.17.0`](https://togithub.com/prometheus/client_golang/releases/tag/v1.17.0) [Compare Source](https://togithub.com/prometheus/client_golang/compare/v1.16.0...v1.17.0) #### What's Changed - \[CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). [#​1325](https://togithub.com/prometheus/client_golang/issues/1325) - \[FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. [#​1313](https://togithub.com/prometheus/client_golang/issues/1313) - \[ENHANCEMENT] Enable detection of a native histogram without observations. [#​1314](https://togithub.com/prometheus/client_golang/issues/1314) <details><summary>Commits</summary> - Merge v1.16.0 to main by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1293](https://togithub.com/prometheus/client_golang/pull/1293) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1297](https://togithub.com/prometheus/client_golang/pull/1297) - ci: define minimal permissions to GitHub workflows by [@​diogoteles08](https://togithub.com/diogoteles08) in [https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295) - Do not allocate memory when there's no constraints by [@​Okhoshi](https://togithub.com/Okhoshi) in [https://github.com/prometheus/client_golang/pull/1296](https://togithub.com/prometheus/client_golang/pull/1296) - Bump golang.org/x/sys from 0.8.0 to 0.9.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1306](https://togithub.com/prometheus/client_golang/pull/1306) - Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1307](https://togithub.com/prometheus/client_golang/pull/1307) - histogram: Enable detection of a native histogram without observations by [@​beorn7](https://togithub.com/beorn7) in [https://github.com/prometheus/client_golang/pull/1314](https://togithub.com/prometheus/client_golang/pull/1314) - Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1305](https://togithub.com/prometheus/client_golang/pull/1305) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1302](https://togithub.com/prometheus/client_golang/pull/1302) - Fix data-race in metric without `code` and `method` but with `WithLabelFromCtx` by [@​tigrato](https://togithub.com/tigrato) in [https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318) - Add missing tick "\`" in README by [@​ZiViZiViZ](https://togithub.com/ZiViZiViZ) in [https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321) - Bump golang.org/x/sys from 0.9.0 to 0.10.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1320](https://togithub.com/prometheus/client_golang/pull/1320) - Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1319](https://togithub.com/prometheus/client_golang/pull/1319) - docs: trivial grammar fixes to improve readability in promauto Godoc by [@​sengi](https://togithub.com/sengi) in [https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322) - Add Go 1.21 support by [@​kakkoyun](https://togithub.com/kakkoyun) in [https://github.com/prometheus/client_golang/pull/1325](https://togithub.com/prometheus/client_golang/pull/1325) - Bump client_model by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323) - histogram docs: Fixed minor nit. by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1324](https://togithub.com/prometheus/client_golang/pull/1324) - Update building by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1326](https://togithub.com/prometheus/client_golang/pull/1326) - Bump golang.org/x/sys from 0.10.0 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1331](https://togithub.com/prometheus/client_golang/pull/1331) - Bump github.com/prometheus/client_golang from 1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1329](https://togithub.com/prometheus/client_golang/pull/1329) - Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in /examples/middleware by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1328](https://togithub.com/prometheus/client_golang/pull/1328) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1284](https://togithub.com/prometheus/client_golang/pull/1284) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1330](https://togithub.com/prometheus/client_golang/pull/1330) - Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1304](https://togithub.com/prometheus/client_golang/pull/1304) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1332](https://togithub.com/prometheus/client_golang/pull/1332) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1338](https://togithub.com/prometheus/client_golang/pull/1338) - Cleanup golangci-lint errcheck by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1339](https://togithub.com/prometheus/client_golang/pull/1339) - Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348) - Extend Counters, Summaries and Histograms with creation timestamp by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1313](https://togithub.com/prometheus/client_golang/pull/1313) - Fix typos in comments, tests, and errors by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1346](https://togithub.com/prometheus/client_golang/pull/1346) - Deprecated comment should begin with "Deprecated:" by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1347](https://togithub.com/prometheus/client_golang/pull/1347) - Add changelog entry for 1.17 by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1352](https://togithub.com/prometheus/client_golang/pull/1352) </details> #### New Contributors * @​diogoteles08 made their first contributi[https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295)l/1295 * @​tigrato made their first contributi[https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318)l/1318 * @​ZiViZiViZ made their first contributi[https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321)l/1321 * @​sengi made their first contributi[https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322)l/1322 * @​ArthurSens made their first contributi[https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323)l/1323 * @​alexandear made their first contributi[https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348)l/1348 **Full Changelog**: prometheus/client_golang@v1.16.0...v1.17.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-feature/flagd). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/prometheus/client_golang](https://togithub.com/prometheus/client_golang) | require | minor | `v1.16.0` -> `v1.17.0` | --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.17.0`](https://togithub.com/prometheus/client_golang/releases/tag/v1.17.0) [Compare Source](https://togithub.com/prometheus/client_golang/compare/v1.16.0...v1.17.0) #### What's Changed - \[CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). [#​1325](https://togithub.com/prometheus/client_golang/issues/1325) - \[FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. [#​1313](https://togithub.com/prometheus/client_golang/issues/1313) - \[ENHANCEMENT] Enable detection of a native histogram without observations. [#​1314](https://togithub.com/prometheus/client_golang/issues/1314) <details><summary>Commits</summary> - Merge v1.16.0 to main by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1293](https://togithub.com/prometheus/client_golang/pull/1293) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1297](https://togithub.com/prometheus/client_golang/pull/1297) - ci: define minimal permissions to GitHub workflows by [@​diogoteles08](https://togithub.com/diogoteles08) in [https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295) - Do not allocate memory when there's no constraints by [@​Okhoshi](https://togithub.com/Okhoshi) in [https://github.com/prometheus/client_golang/pull/1296](https://togithub.com/prometheus/client_golang/pull/1296) - Bump golang.org/x/sys from 0.8.0 to 0.9.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1306](https://togithub.com/prometheus/client_golang/pull/1306) - Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1307](https://togithub.com/prometheus/client_golang/pull/1307) - histogram: Enable detection of a native histogram without observations by [@​beorn7](https://togithub.com/beorn7) in [https://github.com/prometheus/client_golang/pull/1314](https://togithub.com/prometheus/client_golang/pull/1314) - Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1305](https://togithub.com/prometheus/client_golang/pull/1305) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1302](https://togithub.com/prometheus/client_golang/pull/1302) - Fix data-race in metric without `code` and `method` but with `WithLabelFromCtx` by [@​tigrato](https://togithub.com/tigrato) in [https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318) - Add missing tick "\`" in README by [@​ZiViZiViZ](https://togithub.com/ZiViZiViZ) in [https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321) - Bump golang.org/x/sys from 0.9.0 to 0.10.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1320](https://togithub.com/prometheus/client_golang/pull/1320) - Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1319](https://togithub.com/prometheus/client_golang/pull/1319) - docs: trivial grammar fixes to improve readability in promauto Godoc by [@​sengi](https://togithub.com/sengi) in [https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322) - Add Go 1.21 support by [@​kakkoyun](https://togithub.com/kakkoyun) in [https://github.com/prometheus/client_golang/pull/1325](https://togithub.com/prometheus/client_golang/pull/1325) - Bump client_model by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323) - histogram docs: Fixed minor nit. by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1324](https://togithub.com/prometheus/client_golang/pull/1324) - Update building by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1326](https://togithub.com/prometheus/client_golang/pull/1326) - Bump golang.org/x/sys from 0.10.0 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1331](https://togithub.com/prometheus/client_golang/pull/1331) - Bump github.com/prometheus/client_golang from 1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1329](https://togithub.com/prometheus/client_golang/pull/1329) - Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in /examples/middleware by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1328](https://togithub.com/prometheus/client_golang/pull/1328) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1284](https://togithub.com/prometheus/client_golang/pull/1284) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1330](https://togithub.com/prometheus/client_golang/pull/1330) - Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1304](https://togithub.com/prometheus/client_golang/pull/1304) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1332](https://togithub.com/prometheus/client_golang/pull/1332) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1338](https://togithub.com/prometheus/client_golang/pull/1338) - Cleanup golangci-lint errcheck by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1339](https://togithub.com/prometheus/client_golang/pull/1339) - Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348) - Extend Counters, Summaries and Histograms with creation timestamp by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1313](https://togithub.com/prometheus/client_golang/pull/1313) - Fix typos in comments, tests, and errors by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1346](https://togithub.com/prometheus/client_golang/pull/1346) - Deprecated comment should begin with "Deprecated:" by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1347](https://togithub.com/prometheus/client_golang/pull/1347) - Add changelog entry for 1.17 by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1352](https://togithub.com/prometheus/client_golang/pull/1352) </details> #### New Contributors * @​diogoteles08 made their first contributi[https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295)l/1295 * @​tigrato made their first contributi[https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318)l/1318 * @​ZiViZiViZ made their first contributi[https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321)l/1321 * @​sengi made their first contributi[https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322)l/1322 * @​ArthurSens made their first contributi[https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323)l/1323 * @​alexandear made their first contributi[https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348)l/1348 **Full Changelog**: prometheus/client_golang@v1.16.0...v1.17.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/hetznercloud/hcloud-cloud-controller-manager). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDcuMiIsInVwZGF0ZWRJblZlciI6IjM2LjEwNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
….0 (#4144) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/prometheus/client_golang](https://togithub.com/prometheus/client_golang) | require | minor | `v1.16.0` -> `v1.17.0` | --- ### Release Notes <details> <summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary> ### [`v1.17.0`](https://togithub.com/prometheus/client_golang/releases/tag/v1.17.0) [Compare Source](https://togithub.com/prometheus/client_golang/compare/v1.16.0...v1.17.0) #### What's Changed - \[CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). [#​1325](https://togithub.com/prometheus/client_golang/issues/1325) - \[FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. [#​1313](https://togithub.com/prometheus/client_golang/issues/1313) - \[ENHANCEMENT] Enable detection of a native histogram without observations. [#​1314](https://togithub.com/prometheus/client_golang/issues/1314) <details><summary>Commits</summary> - Merge v1.16.0 to main by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1293](https://togithub.com/prometheus/client_golang/pull/1293) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1297](https://togithub.com/prometheus/client_golang/pull/1297) - ci: define minimal permissions to GitHub workflows by [@​diogoteles08](https://togithub.com/diogoteles08) in [https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295) - Do not allocate memory when there's no constraints by [@​Okhoshi](https://togithub.com/Okhoshi) in [https://github.com/prometheus/client_golang/pull/1296](https://togithub.com/prometheus/client_golang/pull/1296) - Bump golang.org/x/sys from 0.8.0 to 0.9.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1306](https://togithub.com/prometheus/client_golang/pull/1306) - Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1307](https://togithub.com/prometheus/client_golang/pull/1307) - histogram: Enable detection of a native histogram without observations by [@​beorn7](https://togithub.com/beorn7) in [https://github.com/prometheus/client_golang/pull/1314](https://togithub.com/prometheus/client_golang/pull/1314) - Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1305](https://togithub.com/prometheus/client_golang/pull/1305) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1302](https://togithub.com/prometheus/client_golang/pull/1302) - Fix data-race in metric without `code` and `method` but with `WithLabelFromCtx` by [@​tigrato](https://togithub.com/tigrato) in [https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318) - Add missing tick "\`" in README by [@​ZiViZiViZ](https://togithub.com/ZiViZiViZ) in [https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321) - Bump golang.org/x/sys from 0.9.0 to 0.10.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1320](https://togithub.com/prometheus/client_golang/pull/1320) - Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1319](https://togithub.com/prometheus/client_golang/pull/1319) - docs: trivial grammar fixes to improve readability in promauto Godoc by [@​sengi](https://togithub.com/sengi) in [https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322) - Add Go 1.21 support by [@​kakkoyun](https://togithub.com/kakkoyun) in [https://github.com/prometheus/client_golang/pull/1325](https://togithub.com/prometheus/client_golang/pull/1325) - Bump client_model by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323) - histogram docs: Fixed minor nit. by [@​bwplotka](https://togithub.com/bwplotka) in [https://github.com/prometheus/client_golang/pull/1324](https://togithub.com/prometheus/client_golang/pull/1324) - Update building by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1326](https://togithub.com/prometheus/client_golang/pull/1326) - Bump golang.org/x/sys from 0.10.0 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1331](https://togithub.com/prometheus/client_golang/pull/1331) - Bump github.com/prometheus/client_golang from 1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1329](https://togithub.com/prometheus/client_golang/pull/1329) - Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in /examples/middleware by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1328](https://togithub.com/prometheus/client_golang/pull/1328) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1284](https://togithub.com/prometheus/client_golang/pull/1284) - Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in /tutorial/whatsup by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1330](https://togithub.com/prometheus/client_golang/pull/1330) - Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/prometheus/client_golang/pull/1304](https://togithub.com/prometheus/client_golang/pull/1304) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1332](https://togithub.com/prometheus/client_golang/pull/1332) - Synchronize common files from prometheus/prometheus by [@​prombot](https://togithub.com/prombot) in [https://github.com/prometheus/client_golang/pull/1338](https://togithub.com/prometheus/client_golang/pull/1338) - Cleanup golangci-lint errcheck by [@​SuperQ](https://togithub.com/SuperQ) in [https://github.com/prometheus/client_golang/pull/1339](https://togithub.com/prometheus/client_golang/pull/1339) - Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348) - Extend Counters, Summaries and Histograms with creation timestamp by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1313](https://togithub.com/prometheus/client_golang/pull/1313) - Fix typos in comments, tests, and errors by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1346](https://togithub.com/prometheus/client_golang/pull/1346) - Deprecated comment should begin with "Deprecated:" by [@​alexandear](https://togithub.com/alexandear) in [https://github.com/prometheus/client_golang/pull/1347](https://togithub.com/prometheus/client_golang/pull/1347) - Add changelog entry for 1.17 by [@​ArthurSens](https://togithub.com/ArthurSens) in [https://github.com/prometheus/client_golang/pull/1352](https://togithub.com/prometheus/client_golang/pull/1352) </details> #### New Contributors * @​diogoteles08 made their first contributi[https://github.com/prometheus/client_golang/pull/1295](https://togithub.com/prometheus/client_golang/pull/1295)l/1295 * @​tigrato made their first contributi[https://github.com/prometheus/client_golang/pull/1318](https://togithub.com/prometheus/client_golang/pull/1318)l/1318 * @​ZiViZiViZ made their first contributi[https://github.com/prometheus/client_golang/pull/1321](https://togithub.com/prometheus/client_golang/pull/1321)l/1321 * @​sengi made their first contributi[https://github.com/prometheus/client_golang/pull/1322](https://togithub.com/prometheus/client_golang/pull/1322)l/1322 * @​ArthurSens made their first contributi[https://github.com/prometheus/client_golang/pull/1323](https://togithub.com/prometheus/client_golang/pull/1323)l/1323 * @​alexandear made their first contributi[https://github.com/prometheus/client_golang/pull/1348](https://togithub.com/prometheus/client_golang/pull/1348)l/1348 **Full Changelog**: prometheus/client_golang@v1.16.0...v1.17.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on Monday" in timezone Europe/Paris, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cozy/cozy-stack). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
Opening this PR to make the review of #1313 easier.
This one is only about bumping the version of client_model in go.mod. This version upgrade is particularly difficult because, in client_model, it updates the version of protoc which changes how proto messages are cast into strings:
reflect.DeepEqual
. Forcing us to useproto.Equal
now.