Skip to content
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

Merged
merged 1 commit into from Aug 11, 2023
Merged

Bump client_model #1323

merged 1 commit into from Aug 11, 2023

Conversation

ArthurSens
Copy link
Member

@ArthurSens ArthurSens commented Aug 7, 2023

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:

  1. '<' and '>' characters were replaced with '{' and '}' respectively.
  2. The text format is non-deterministic. More information in encoding: provide canonical output format golang/protobuf#1121
  3. proto3 adds a new field to proto.Message(sizeCache) that breaks reflect.DeepEqual. Forcing us to use proto.Equal now.

@ArthurSens
Copy link
Member Author

The only test I still couldn't figure out is TestHandler in prometheus/register_test.go, which compares multiline proto messages. ANy help appreciated 😅

@bwplotka bwplotka requested a review from beorn7 August 8, 2023 06:56
@bwplotka
Copy link
Member

bwplotka commented Aug 8, 2023

Thanks!

Can we double check that:

  • The newest protoc version has the { and that's the decision for future? Perhaps someone used old protoc and we will have to switch back ;p
  • Are we sure this does not introduce random char discussed in Update Go modules #1270 (comment)? Since tests are mostly passing, I assume this does not.

What's the problem with multiline? If you need help could give us more details on why it's tricky?

@beorn7
Copy link
Member

beorn7 commented Aug 8, 2023

I'm pretty sure this will run into the test flakiness problem because the new protobuf code intentionally randomizes the text output.

@ArthurSens ArthurSens force-pushed the bump-client-model branch 2 times, most recently from 8daa258 to 9e85129 Compare August 10, 2023 22:17
@ArthurSens
Copy link
Member Author

Ok, as discussed in slack, I started to refactor all tests that were using proto-text for comparison. Now they are using proto.Equal.

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 // Output:. For example:

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 Example.*... What can we do here?

@ArthurSens
Copy link
Member Author

Also, testHandler in prometheus/registry_test.go is such an extensive test. I'm having a hard time understanding how to fix that one 😓

@bwplotka
Copy link
Member

bwplotka commented Aug 11, 2023

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.

@beorn7
Copy link
Member

beorn7 commented Aug 11, 2023

Maybe we could also convert protobuf to the Prometheus text format? In the spirit of github.com/prometheus/client_golang/prometheus/testutil .

@SuperQ
Copy link
Member

SuperQ commented Aug 11, 2023

For the error content in the Prometheus text output format I would suggest switching to protojson formatter.

@ArthurSens
Copy link
Member Author

For the error content in the Prometheus text output format I would suggest switching to protojson formatter.

Unfortunately protojson adds the same brittle 😭

@ArthurSens ArthurSens force-pushed the bump-client-model branch 3 times, most recently from c86e95a to 15301f8 Compare August 11, 2023 17:28
Copy link
Member

@bwplotka bwplotka left a 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!

// 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 {
Copy link
Member

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:

Suggested change
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?

Copy link
Member Author

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

Copy link
Member Author

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

Copy link
Member

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

@ArthurSens ArthurSens force-pushed the bump-client-model branch 3 times, most recently from f4b4952 to 09490ba Compare August 11, 2023 18:37
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>
Copy link
Member

@bwplotka bwplotka left a 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

@bwplotka bwplotka merged commit 1a88780 into prometheus:main Aug 11, 2023
7 checks passed
@ArthurSens ArthurSens deleted the bump-client-model branch August 11, 2023 20:02
@SuperQ SuperQ mentioned this pull request Aug 12, 2023
renovate bot added a commit to open-feature/flagd that referenced this pull request Sep 27, 2023
….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).
[#&#8203;1325](https://togithub.com/prometheus/client_golang/issues/1325)
- \[FEATURE] Add support for Created Timestamps in Counters, Summaries
and Historams.
[#&#8203;1313](https://togithub.com/prometheus/client_golang/issues/1313)
- \[ENHANCEMENT] Enable detection of a native histogram without
observations.
[#&#8203;1314](https://togithub.com/prometheus/client_golang/issues/1314)

<details><summary>Commits</summary>

- Merge v1.16.0 to main by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1293
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1297
- ci: define minimal permissions to GitHub workflows by
[@&#8203;diogoteles08](https://togithub.com/diogoteles08) in
[prometheus/client_golang#1295
- Do not allocate memory when there's no constraints by
[@&#8203;Okhoshi](https://togithub.com/Okhoshi) in
[prometheus/client_golang#1296
- Bump golang.org/x/sys from 0.8.0 to 0.9.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1306
- Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1307
- histogram: Enable detection of a native histogram without observations
by [@&#8203;beorn7](https://togithub.com/beorn7) in
[prometheus/client_golang#1314
- Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1305
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1302
- Fix data-race in metric without `code` and `method` but with
`WithLabelFromCtx` by [@&#8203;tigrato](https://togithub.com/tigrato) in
[prometheus/client_golang#1318
- Add missing tick "\`" in README by
[@&#8203;ZiViZiViZ](https://togithub.com/ZiViZiViZ) in
[prometheus/client_golang#1321
- Bump golang.org/x/sys from 0.9.0 to 0.10.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1320
- Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1319
- docs: trivial grammar fixes to improve readability in promauto Godoc
by [@&#8203;sengi](https://togithub.com/sengi) in
[prometheus/client_golang#1322
- Add Go 1.21 support by
[@&#8203;kakkoyun](https://togithub.com/kakkoyun) in
[prometheus/client_golang#1325
- Bump client_model by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1323
- histogram docs: Fixed minor nit. by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1324
- Update building by [@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1326
- Bump golang.org/x/sys from 0.10.0 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1331
- Bump github.com/prometheus/client_golang from
1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1329
- Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in
/examples/middleware by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1328
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1284
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in
/tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1330
- Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1304
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1332
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1338
- Cleanup golangci-lint errcheck by
[@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1339
- Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1348
- Extend Counters, Summaries and Histograms with creation timestamp by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1313
- Fix typos in comments, tests, and errors by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1346
- Deprecated comment should begin with "Deprecated:" by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1347
- Add changelog entry for 1.17 by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1352

</details>

#### New Contributors
* @&#8203;diogoteles08 made their first
contributi[prometheus/client_golang#1295
* @&#8203;tigrato made their first
contributi[prometheus/client_golang#1318
* @&#8203;ZiViZiViZ made their first
contributi[prometheus/client_golang#1321
* @&#8203;sengi made their first
contributi[prometheus/client_golang#1322
* @&#8203;ArthurSens made their first
contributi[prometheus/client_golang#1323
* @&#8203;alexandear made their first
contributi[prometheus/client_golang#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>
apricote pushed a commit to hetznercloud/hcloud-cloud-controller-manager that referenced this pull request Sep 28, 2023
)

[![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).
[#&#8203;1325](https://togithub.com/prometheus/client_golang/issues/1325)
- \[FEATURE] Add support for Created Timestamps in Counters, Summaries
and Historams.
[#&#8203;1313](https://togithub.com/prometheus/client_golang/issues/1313)
- \[ENHANCEMENT] Enable detection of a native histogram without
observations.
[#&#8203;1314](https://togithub.com/prometheus/client_golang/issues/1314)

<details><summary>Commits</summary>

- Merge v1.16.0 to main by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1293
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1297
- ci: define minimal permissions to GitHub workflows by
[@&#8203;diogoteles08](https://togithub.com/diogoteles08) in
[prometheus/client_golang#1295
- Do not allocate memory when there's no constraints by
[@&#8203;Okhoshi](https://togithub.com/Okhoshi) in
[prometheus/client_golang#1296
- Bump golang.org/x/sys from 0.8.0 to 0.9.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1306
- Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1307
- histogram: Enable detection of a native histogram without observations
by [@&#8203;beorn7](https://togithub.com/beorn7) in
[prometheus/client_golang#1314
- Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1305
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1302
- Fix data-race in metric without `code` and `method` but with
`WithLabelFromCtx` by [@&#8203;tigrato](https://togithub.com/tigrato) in
[prometheus/client_golang#1318
- Add missing tick "\`" in README by
[@&#8203;ZiViZiViZ](https://togithub.com/ZiViZiViZ) in
[prometheus/client_golang#1321
- Bump golang.org/x/sys from 0.9.0 to 0.10.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1320
- Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1319
- docs: trivial grammar fixes to improve readability in promauto Godoc
by [@&#8203;sengi](https://togithub.com/sengi) in
[prometheus/client_golang#1322
- Add Go 1.21 support by
[@&#8203;kakkoyun](https://togithub.com/kakkoyun) in
[prometheus/client_golang#1325
- Bump client_model by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1323
- histogram docs: Fixed minor nit. by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1324
- Update building by [@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1326
- Bump golang.org/x/sys from 0.10.0 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1331
- Bump github.com/prometheus/client_golang from
1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1329
- Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in
/examples/middleware by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1328
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1284
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in
/tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1330
- Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1304
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1332
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1338
- Cleanup golangci-lint errcheck by
[@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1339
- Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1348
- Extend Counters, Summaries and Histograms with creation timestamp by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1313
- Fix typos in comments, tests, and errors by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1346
- Deprecated comment should begin with "Deprecated:" by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1347
- Add changelog entry for 1.17 by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1352

</details>

#### New Contributors
* @&#8203;diogoteles08 made their first
contributi[prometheus/client_golang#1295
* @&#8203;tigrato made their first
contributi[prometheus/client_golang#1318
* @&#8203;ZiViZiViZ made their first
contributi[prometheus/client_golang#1321
* @&#8203;sengi made their first
contributi[prometheus/client_golang#1322
* @&#8203;ArthurSens made their first
contributi[prometheus/client_golang#1323
* @&#8203;alexandear made their first
contributi[prometheus/client_golang#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>
nono added a commit to cozy/cozy-stack that referenced this pull request Oct 2, 2023
….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).
[#&#8203;1325](https://togithub.com/prometheus/client_golang/issues/1325)
- \[FEATURE] Add support for Created Timestamps in Counters, Summaries
and Historams.
[#&#8203;1313](https://togithub.com/prometheus/client_golang/issues/1313)
- \[ENHANCEMENT] Enable detection of a native histogram without
observations.
[#&#8203;1314](https://togithub.com/prometheus/client_golang/issues/1314)

<details><summary>Commits</summary>

- Merge v1.16.0 to main by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1293
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1297
- ci: define minimal permissions to GitHub workflows by
[@&#8203;diogoteles08](https://togithub.com/diogoteles08) in
[prometheus/client_golang#1295
- Do not allocate memory when there's no constraints by
[@&#8203;Okhoshi](https://togithub.com/Okhoshi) in
[prometheus/client_golang#1296
- Bump golang.org/x/sys from 0.8.0 to 0.9.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1306
- Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1307
- histogram: Enable detection of a native histogram without observations
by [@&#8203;beorn7](https://togithub.com/beorn7) in
[prometheus/client_golang#1314
- Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1305
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1302
- Fix data-race in metric without `code` and `method` but with
`WithLabelFromCtx` by [@&#8203;tigrato](https://togithub.com/tigrato) in
[prometheus/client_golang#1318
- Add missing tick "\`" in README by
[@&#8203;ZiViZiViZ](https://togithub.com/ZiViZiViZ) in
[prometheus/client_golang#1321
- Bump golang.org/x/sys from 0.9.0 to 0.10.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1320
- Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1319
- docs: trivial grammar fixes to improve readability in promauto Godoc
by [@&#8203;sengi](https://togithub.com/sengi) in
[prometheus/client_golang#1322
- Add Go 1.21 support by
[@&#8203;kakkoyun](https://togithub.com/kakkoyun) in
[prometheus/client_golang#1325
- Bump client_model by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1323
- histogram docs: Fixed minor nit. by
[@&#8203;bwplotka](https://togithub.com/bwplotka) in
[prometheus/client_golang#1324
- Update building by [@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1326
- Bump golang.org/x/sys from 0.10.0 to 0.11.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1331
- Bump github.com/prometheus/client_golang from
1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1329
- Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in
/examples/middleware by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1328
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1284
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in
/tutorial/whatsup by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1330
- Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[prometheus/client_golang#1304
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1332
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://togithub.com/prombot) in
[prometheus/client_golang#1338
- Cleanup golangci-lint errcheck by
[@&#8203;SuperQ](https://togithub.com/SuperQ) in
[prometheus/client_golang#1339
- Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1348
- Extend Counters, Summaries and Histograms with creation timestamp by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1313
- Fix typos in comments, tests, and errors by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1346
- Deprecated comment should begin with "Deprecated:" by
[@&#8203;alexandear](https://togithub.com/alexandear) in
[prometheus/client_golang#1347
- Add changelog entry for 1.17 by
[@&#8203;ArthurSens](https://togithub.com/ArthurSens) in
[prometheus/client_golang#1352

</details>

#### New Contributors
* @&#8203;diogoteles08 made their first
contributi[prometheus/client_golang#1295
* @&#8203;tigrato made their first
contributi[prometheus/client_golang#1318
* @&#8203;ZiViZiViZ made their first
contributi[prometheus/client_golang#1321
* @&#8203;sengi made their first
contributi[prometheus/client_golang#1322
* @&#8203;ArthurSens made their first
contributi[prometheus/client_golang#1323
* @&#8203;alexandear made their first
contributi[prometheus/client_golang#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==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants