From 3d1e61b1607d66417b3a10112bee553e25ffcdbd Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 10:12:59 +0000 Subject: [PATCH 01/31] Run current OATS consumer suites Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 7 +++++ ci/oats/docker-compose.lgtm.yml | 10 +++++++ ci/oats/gcx-wrapper.sh | 30 +++++++++++++++++++ .../oats-tests/agent/oats.yaml | 14 ++++----- .../oats-tests/http/oats.yaml | 14 ++++----- mise.toml | 19 +++++++++++- oats.toml | 28 +++++++++++++++++ 7 files changed, 105 insertions(+), 17 deletions(-) create mode 100644 ci/oats/docker-compose.lgtm.yml create mode 100755 ci/oats/gcx-wrapper.sh create mode 100644 oats.toml diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index eebbdf0d6..9a9b41979 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -103,6 +103,11 @@ "maven" ] }, + "ci/oats/docker-compose.lgtm.yml": { + "docker-compose": [ + "docker.io/grafana/otel-lgtm" + ] + }, "examples/example-custom-buckets/docker-compose.yaml": { "docker-compose": [ "eclipse-temurin", @@ -152,6 +157,7 @@ "aqua:owenlamont/ryl", "biome", "editorconfig-checker", + "go", "go:github.com/grafana/oats", "google-java-format", "hugo", @@ -169,6 +175,7 @@ "zizmor" ], "regex": [ + "gcx", "grafana/docker-otel-lgtm", "micrometer-metrics/micrometer", "prometheus/jmx_exporter" diff --git a/ci/oats/docker-compose.lgtm.yml b/ci/oats/docker-compose.lgtm.yml new file mode 100644 index 000000000..56d5237f4 --- /dev/null +++ b/ci/oats/docker-compose.lgtm.yml @@ -0,0 +1,10 @@ +services: + lgtm: + image: ${LGTM_IMAGE:-docker.io/grafana/otel-lgtm:latest} + ports: + - "3000:3000" + - "4317:4317" + - "4318:4318" + - "3200:3200" + - "4040:4040" + - "9090:9090" diff --git a/ci/oats/gcx-wrapper.sh b/ci/oats/gcx-wrapper.sh new file mode 100755 index 000000000..65c8adc57 --- /dev/null +++ b/ci/oats/gcx-wrapper.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +real_gcx="${REAL_GCX_BIN:-gcx}" +args=() +skip_next=false +for arg in "$@"; do + if [ "$skip_next" = true ]; then + skip_next=false + continue + fi + if [ "$arg" = "--context" ]; then + skip_next=true + continue + fi + args+=("$arg") +done + +for _ in $(seq 1 120); do + token="$(docker exec lgtm cat /tmp/grafana-sa-token 2>/dev/null || true)" + if [ -n "$token" ]; then + export GRAFANA_SERVER="${GRAFANA_SERVER:-http://localhost:3000}" + export GRAFANA_TOKEN="$token" + exec "$real_gcx" "${args[@]}" + fi + sleep 1 +done + +printf 'gcx-wrapper: timed out waiting for grafana service-account token\n' >&2 +exit 1 diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index 899d1cd5d..7fd7d3945 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -1,12 +1,10 @@ -# OATS is an acceptance testing framework for OpenTelemetry - -# https://github.com/grafana/oats/tree/main/yaml -oats-schema-version: 2 -docker-compose: - files: - - ./docker-compose.yml +oats: 2 +name: java agent exporter preserves target_info identity +seed: + type: app expected: custom-checks: - script: ./service_instance_id_check.py metrics: - - promql: "uptime_seconds_total{}" - value: ">= 0" + - promql: 'uptime_seconds_total{}' + value: '>= 0' diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml index dbcfcf84f..a7bdc832c 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml @@ -1,10 +1,8 @@ -# OATS is an acceptance testing framework for OpenTelemetry - -# https://github.com/grafana/oats/tree/main/yaml -oats-schema-version: 2 -docker-compose: - files: - - ./docker-compose.yml +oats: 2 +name: http protobuf exporter emits uptime metric +seed: + type: app expected: metrics: - - promql: "uptime_seconds_total{}" - value: ">= 0" + - promql: 'uptime_seconds_total{}' + value: '>= 0' diff --git a/mise.toml b/mise.toml index 3e1a4b62c..0a2ba924f 100644 --- a/mise.toml +++ b/mise.toml @@ -1,4 +1,5 @@ [tools] +go = "1.25.4" "go:github.com/grafana/oats" = "0.7.0" hugo = "0.163.0" java = "temurin-25.0.3+9.0.LTS" @@ -93,7 +94,23 @@ run = "flint run --fix" [tasks.acceptance-test] description = "Run OATs acceptance tests" depends = "build" -run = "oats -lgtm-version $LGTM_VERSION -timeout 5m examples/" +run = """ +# renovate: datasource=github-releases depName=gcx packageName=grafana/gcx +export GCX_VERSION=v0.4.0 +go install "github.com/grafana/gcx/cmd/gcx@${GCX_VERSION}" + +workdir="$(mktemp -d)" +trap 'rm -rf "$workdir"' EXIT +git clone --depth 1 --branch v2 https://github.com/grafana/oats "$workdir/oats-src" +go build -o "$workdir/oats" "$workdir/oats-src/cmd/v2" + +REAL_GCX_BIN="$(go env GOPATH)/bin/gcx" \ + "$workdir/oats" \ + --config oats.toml \ + --gcx ./ci/oats/gcx-wrapper.sh \ + --no-cache \ + --timeout=5m +""" [tasks.javadoc] description = "Generate Javadoc" diff --git a/oats.toml b/oats.toml new file mode 100644 index 000000000..e02512ffb --- /dev/null +++ b/oats.toml @@ -0,0 +1,28 @@ +[meta] +version = 2 + +[[suite]] +name = "example-exporter-http" +cases = ["examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml"] +fixture = "example-exporter-http" +tags = ["metrics", "http-protobuf"] + +[[suite]] +name = "example-exporter-agent" +cases = ["examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml"] +fixture = "example-exporter-agent" +tags = ["metrics", "custom-check", "javaagent"] + +[fixture.example-exporter-http] +type = "compose" +compose_files = [ + "ci/oats/docker-compose.lgtm.yml", + "examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml", +] + +[fixture.example-exporter-agent] +type = "compose" +compose_files = [ + "ci/oats/docker-compose.lgtm.yml", + "examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml", +] From 2f6dfce49ddf6fcabedaf7fc3c8b40546f092d81 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 10:21:22 +0000 Subject: [PATCH 02/31] Fix current OATS CI bootstrap Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 2 -- mise.toml | 22 ++++++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index 9a9b41979..1e631ed77 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -157,8 +157,6 @@ "aqua:owenlamont/ryl", "biome", "editorconfig-checker", - "go", - "go:github.com/grafana/oats", "google-java-format", "hugo", "java", diff --git a/mise.toml b/mise.toml index 0a2ba924f..35fd2f2c7 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,4 @@ [tools] -go = "1.25.4" -"go:github.com/grafana/oats" = "0.7.0" hugo = "0.163.0" java = "temurin-25.0.3+9.0.LTS" node = "24.16.0" @@ -97,12 +95,28 @@ depends = "build" run = """ # renovate: datasource=github-releases depName=gcx packageName=grafana/gcx export GCX_VERSION=v0.4.0 +gotmp="" + +if ! command -v go >/dev/null 2>&1; then + goversion="1.25.4" + arch="$(uname -m)" + case "$arch" in + x86_64|amd64) goarch="amd64" ;; + aarch64|arm64) goarch="arm64" ;; + *) echo "unsupported architecture: $arch" >&2; exit 1 ;; + esac + gotmp="$(mktemp -d)" + curl -fsSL "https://go.dev/dl/go${goversion}.linux-${goarch}.tar.gz" -o "$gotmp/go.tgz" + tar -C "$gotmp" -xzf "$gotmp/go.tgz" + export PATH="$gotmp/go/bin:$PATH" +fi + go install "github.com/grafana/gcx/cmd/gcx@${GCX_VERSION}" workdir="$(mktemp -d)" -trap 'rm -rf "$workdir"' EXIT +trap 'rm -rf "$workdir" ${gotmp:+"$gotmp"}' EXIT git clone --depth 1 --branch v2 https://github.com/grafana/oats "$workdir/oats-src" -go build -o "$workdir/oats" "$workdir/oats-src/cmd/v2" +GOWORK=off go build -o "$workdir/oats" "$workdir/oats-src/cmd/v2" REAL_GCX_BIN="$(go env GOPATH)/bin/gcx" \ "$workdir/oats" \ From 1a333c36c4e06db41d9cbf008643469aee52af0e Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 10:27:29 +0000 Subject: [PATCH 03/31] Build current OATS from its module root Signed-off-by: Gregor Zeitlinger --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index 35fd2f2c7..d9be6b0f8 100644 --- a/mise.toml +++ b/mise.toml @@ -116,7 +116,7 @@ go install "github.com/grafana/gcx/cmd/gcx@${GCX_VERSION}" workdir="$(mktemp -d)" trap 'rm -rf "$workdir" ${gotmp:+"$gotmp"}' EXIT git clone --depth 1 --branch v2 https://github.com/grafana/oats "$workdir/oats-src" -GOWORK=off go build -o "$workdir/oats" "$workdir/oats-src/cmd/v2" +GOWORK=off go -C "$workdir/oats-src" build -o "$workdir/oats" ./cmd/v2 REAL_GCX_BIN="$(go env GOPATH)/bin/gcx" \ "$workdir/oats" \ From 1b25fb8b774c1647410f2d8a89659bdedeb7c62e Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 10:32:29 +0000 Subject: [PATCH 04/31] Trigger CI for current OATS validation Signed-off-by: Gregor Zeitlinger From fb5349d7a3e1da746c3eca5e45ba05f487bc75e7 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 11:24:15 +0000 Subject: [PATCH 05/31] Resolve merge with current main Signed-off-by: Gregor Zeitlinger --- mise.toml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mise.toml b/mise.toml index d9be6b0f8..538da7f54 100644 --- a/mise.toml +++ b/mise.toml @@ -1,5 +1,6 @@ [tools] -hugo = "0.163.0" +"go:github.com/grafana/oats" = "0.7.0" +hugo = "0.163.2" java = "temurin-25.0.3+9.0.LTS" node = "24.16.0" protoc = "35" @@ -8,14 +9,14 @@ protoc = "35" actionlint = "1.7.12" "aqua:grafana/flint" = "0.22.5" "aqua:jonwiggins/xmloxide" = "v0.4.3" -"aqua:owenlamont/ryl" = "0.14.0" -biome = "2.4.16" +"aqua:owenlamont/ryl" = "0.18.1" +biome = "2.5.0" editorconfig-checker = "3.7.0" google-java-format = "1.35.0" lychee = "0.24.2" -"npm:renovate" = "43.212.4" -ruff = "0.15.16" -rumdl = "0.2.9" +"npm:renovate" = "43.220.0" +ruff = "0.15.17" +rumdl = "v0.2.17" shellcheck = "v0.11.0" shfmt = "3.13.1" taplo = "0.10.0" From 1d368e9690494e4b5a2d70193ed67caf55ffa211 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 11:31:59 +0000 Subject: [PATCH 06/31] Fix renovate dependency tracking Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index 1e631ed77..fba9d60bd 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -157,6 +157,7 @@ "aqua:owenlamont/ryl", "biome", "editorconfig-checker", + "go:github.com/grafana/oats", "google-java-format", "hugo", "java", From c21b152d1b76e13787e65aa514fa1bf475176a07 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 17 Jun 2026 14:05:51 +0000 Subject: [PATCH 07/31] Fix OATS compose build paths Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/docker-compose.yml | 2 +- .../oats-tests/http/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml b/examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml index 2b820bdea..46a541f54 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml @@ -4,7 +4,7 @@ version: "3.4" services: java: build: - context: ../.. + context: ../../examples/example-exporter-opentelemetry dockerfile: oats-tests/agent/Dockerfile environment: OTEL_SERVICE_NAME: "rolldice" diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml b/examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml index 889278010..2743dfef7 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml @@ -4,7 +4,7 @@ version: "3.4" services: java: build: - context: ../.. + context: ../../examples/example-exporter-opentelemetry dockerfile: oats-tests/http/Dockerfile environment: OTEL_SERVICE_NAME: "rolldice" From 84259909e0a7c48bafa3faf25b81beb743b33e5b Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 18 Jun 2026 06:35:04 +0000 Subject: [PATCH 08/31] Use Prometheus custom checks for OATS acceptance Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/check_uptime_metric.py | 11 +++++++++++ .../oats-tests/agent/oats.yaml | 4 +--- .../oats-tests/http/check_uptime_metric.py | 11 +++++++++++ .../oats-tests/http/oats.yaml | 5 ++--- 4 files changed, 25 insertions(+), 6 deletions(-) create mode 100755 examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py create mode 100755 examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py new file mode 100755 index 000000000..ffe1bfc8a --- /dev/null +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 +import json +from urllib.request import urlopen + +def get_json(url): + with urlopen(url) as response: + return json.loads(response.read().decode("utf-8")) + +res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") +results = res["data"]["result"] +assert results, "Expected uptime_seconds_total to be present" diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index 7fd7d3945..1084b162c 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -4,7 +4,5 @@ seed: type: app expected: custom-checks: + - script: ./check_uptime_metric.py - script: ./service_instance_id_check.py - metrics: - - promql: 'uptime_seconds_total{}' - value: '>= 0' diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py new file mode 100755 index 000000000..ffe1bfc8a --- /dev/null +++ b/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 +import json +from urllib.request import urlopen + +def get_json(url): + with urlopen(url) as response: + return json.loads(response.read().decode("utf-8")) + +res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") +results = res["data"]["result"] +assert results, "Expected uptime_seconds_total to be present" diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml index a7bdc832c..443471de4 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml @@ -3,6 +3,5 @@ name: http protobuf exporter emits uptime metric seed: type: app expected: - metrics: - - promql: 'uptime_seconds_total{}' - value: '>= 0' + custom-checks: + - script: ./check_uptime_metric.py From 929a9a497e44fcf5905b9273ec95230782ad71cd Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 18 Jun 2026 06:40:10 +0000 Subject: [PATCH 09/31] Format OATS custom check scripts Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/check_uptime_metric.py | 2 ++ .../oats-tests/http/check_uptime_metric.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py index ffe1bfc8a..a04d66b0e 100755 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py @@ -2,10 +2,12 @@ import json from urllib.request import urlopen + def get_json(url): with urlopen(url) as response: return json.loads(response.read().decode("utf-8")) + res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") results = res["data"]["result"] assert results, "Expected uptime_seconds_total to be present" diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py index ffe1bfc8a..a04d66b0e 100755 --- a/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py +++ b/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py @@ -2,10 +2,12 @@ import json from urllib.request import urlopen + def get_json(url): with urlopen(url) as response: return json.loads(response.read().decode("utf-8")) + res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") results = res["data"]["result"] assert results, "Expected uptime_seconds_total to be present" From 80bc430c2e2f1b1edcaf78d53dc15047d389450e Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 19 Jun 2026 14:06:05 +0200 Subject: [PATCH 10/31] Slim down OATS consumer example wiring Signed-off-by: Gregor Zeitlinger --- ci/oats/docker-compose.lgtm.yml | 10 ------ ci/oats/gcx-wrapper.sh | 30 ------------------ .../oats-tests/agent/check_uptime_metric.py | 13 -------- .../oats-tests/agent/oats.yaml | 8 ++++- .../oats-tests/http/check_uptime_metric.py | 13 -------- .../oats-tests/http/oats.yaml | 9 ++++-- oats.toml | 31 +++---------------- 7 files changed, 19 insertions(+), 95 deletions(-) delete mode 100644 ci/oats/docker-compose.lgtm.yml delete mode 100755 ci/oats/gcx-wrapper.sh delete mode 100755 examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py delete mode 100755 examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py diff --git a/ci/oats/docker-compose.lgtm.yml b/ci/oats/docker-compose.lgtm.yml deleted file mode 100644 index 56d5237f4..000000000 --- a/ci/oats/docker-compose.lgtm.yml +++ /dev/null @@ -1,10 +0,0 @@ -services: - lgtm: - image: ${LGTM_IMAGE:-docker.io/grafana/otel-lgtm:latest} - ports: - - "3000:3000" - - "4317:4317" - - "4318:4318" - - "3200:3200" - - "4040:4040" - - "9090:9090" diff --git a/ci/oats/gcx-wrapper.sh b/ci/oats/gcx-wrapper.sh deleted file mode 100755 index 65c8adc57..000000000 --- a/ci/oats/gcx-wrapper.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -real_gcx="${REAL_GCX_BIN:-gcx}" -args=() -skip_next=false -for arg in "$@"; do - if [ "$skip_next" = true ]; then - skip_next=false - continue - fi - if [ "$arg" = "--context" ]; then - skip_next=true - continue - fi - args+=("$arg") -done - -for _ in $(seq 1 120); do - token="$(docker exec lgtm cat /tmp/grafana-sa-token 2>/dev/null || true)" - if [ -n "$token" ]; then - export GRAFANA_SERVER="${GRAFANA_SERVER:-http://localhost:3000}" - export GRAFANA_TOKEN="$token" - exec "$real_gcx" "${args[@]}" - fi - sleep 1 -done - -printf 'gcx-wrapper: timed out waiting for grafana service-account token\n' >&2 -exit 1 diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py deleted file mode 100755 index a04d66b0e..000000000 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/check_uptime_metric.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python3 -import json -from urllib.request import urlopen - - -def get_json(url): - with urlopen(url) as response: - return json.loads(response.read().decode("utf-8")) - - -res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") -results = res["data"]["result"] -assert results, "Expected uptime_seconds_total to be present" diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index 1084b162c..5dea5fd62 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -1,8 +1,14 @@ oats: 2 name: java agent exporter preserves target_info identity +fixture: + type: compose + template: lgtm + compose_file: docker-compose.yml seed: type: app expected: + metrics: + - promql: 'uptime_seconds_total{}' + value: '>= 0' custom-checks: - - script: ./check_uptime_metric.py - script: ./service_instance_id_check.py diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py b/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py deleted file mode 100755 index a04d66b0e..000000000 --- a/examples/example-exporter-opentelemetry/oats-tests/http/check_uptime_metric.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python3 -import json -from urllib.request import urlopen - - -def get_json(url): - with urlopen(url) as response: - return json.loads(response.read().decode("utf-8")) - - -res = get_json("http://localhost:9090/api/v1/query?query=uptime_seconds_total") -results = res["data"]["result"] -assert results, "Expected uptime_seconds_total to be present" diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml index 443471de4..98844a270 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml @@ -1,7 +1,12 @@ oats: 2 name: http protobuf exporter emits uptime metric +fixture: + type: compose + template: lgtm + compose_file: docker-compose.yml seed: type: app expected: - custom-checks: - - script: ./check_uptime_metric.py + metrics: + - promql: 'uptime_seconds_total{}' + value: '>= 0' diff --git a/oats.toml b/oats.toml index e02512ffb..f7e9fb212 100644 --- a/oats.toml +++ b/oats.toml @@ -1,28 +1,7 @@ -[meta] -version = 2 - -[[suite]] -name = "example-exporter-http" -cases = ["examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml"] -fixture = "example-exporter-http" -tags = ["metrics", "http-protobuf"] - -[[suite]] -name = "example-exporter-agent" -cases = ["examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml"] -fixture = "example-exporter-agent" -tags = ["metrics", "custom-check", "javaagent"] - -[fixture.example-exporter-http] -type = "compose" -compose_files = [ - "ci/oats/docker-compose.lgtm.yml", - "examples/example-exporter-opentelemetry/oats-tests/http/docker-compose.yml", +cases = [ + "examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml", + "examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml", ] -[fixture.example-exporter-agent] -type = "compose" -compose_files = [ - "ci/oats/docker-compose.lgtm.yml", - "examples/example-exporter-opentelemetry/oats-tests/agent/docker-compose.yml", -] +[meta] +version = 2 From eabe2d0db74a6d42e61ad5576ce53d3f5472caf0 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 19 Jun 2026 14:08:38 +0200 Subject: [PATCH 11/31] Replace client_java identity check with PromQL assertions Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/oats.yaml | 6 ++- .../agent/service_instance_id_check.py | 52 ------------------- 2 files changed, 4 insertions(+), 54 deletions(-) delete mode 100755 examples/example-exporter-opentelemetry/oats-tests/agent/service_instance_id_check.py diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index 5dea5fd62..a6362a747 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -10,5 +10,7 @@ expected: metrics: - promql: 'uptime_seconds_total{}' value: '>= 0' - custom-checks: - - script: ./service_instance_id_check.py + - promql: 'count(count by(instance) (target_info{service_name!="otelcol-contrib"}))' + value: '== 1' + - promql: 'count(target_info{service_name!="otelcol-contrib"})' + value: '== 2' diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/service_instance_id_check.py b/examples/example-exporter-opentelemetry/oats-tests/agent/service_instance_id_check.py deleted file mode 100755 index 35ff88b8d..000000000 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/service_instance_id_check.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python3 -""" -Check if the service instance id is present in the exported data. -Returns 0 if the service instance id is present in the exported data. -""" - -import json -import urllib.parse -from urllib.request import urlopen - - -def get_json(url): - with urlopen(url) as response: - return json.loads(response.read().decode("utf-8")) - - -def main(): - # Query Prometheus for target_info - res = get_json("http://localhost:9090/api/v1/query?query=target_info") - - # Uncomment for local debugging - # with open('example_target_info.json') as f: - # res = json.load(f) - - instance_ids = { - r["metric"]["instance"] - for r in res["data"]["result"] - if r["metric"].get("service_name") != "otelcol-contrib" - } - instance_ids = list(instance_ids) - - print(f"Instance ids found:{instance_ids}") - if len(instance_ids) > 1: - print("More than one instance id found") - print(res) - - # Both the agent and the exporter should report the same instance id - assert len(instance_ids) == 1, "Expected exactly one instance id" - - query = f'target_info{{instance="{instance_ids[0]}"}}' - encoded_query = urllib.parse.quote_plus(query) - res = get_json(f"http://localhost:9090/api/v1/query?query={encoded_query}") - - infos = res["data"]["result"] - print(infos) - - # They should not have the same target info (e.g. only the agent has telemetry_distro_name) - assert len(infos) == 2, "Expected two target info results" - - -if __name__ == "__main__": - main() From 3d31b782e5a2b9007bd67e0466a90f44d6942de4 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 23 Jun 2026 15:20:14 +0000 Subject: [PATCH 12/31] fix: refresh renovate tracked deps for OATS changes Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index 881ad6bbb..165086b6b 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -103,11 +103,6 @@ "maven" ] }, - "ci/oats/docker-compose.lgtm.yml": { - "docker-compose": [ - "docker.io/grafana/otel-lgtm" - ] - }, "examples/example-custom-buckets/docker-compose.yaml": { "docker-compose": [ "eclipse-temurin", From b893eafd80ef78eb8b9e2fa3c6a6616bee1a692c Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 25 Jun 2026 13:09:51 +0000 Subject: [PATCH 13/31] test: validate otel exporter via Prometheus custom checks Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/oats.yaml | 31 ++++++++++++++----- .../oats-tests/http/oats.yaml | 18 +++++++++-- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index a6362a747..da1aaf47d 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -7,10 +7,27 @@ fixture: seed: type: app expected: - metrics: - - promql: 'uptime_seconds_total{}' - value: '>= 0' - - promql: 'count(count by(instance) (target_info{service_name!="otelcol-contrib"}))' - value: '== 1' - - promql: 'count(target_info{service_name!="otelcol-contrib"})' - value: '== 2' + custom-checks: + - script: | + set -eu + python3 - <<'PY' + import json, urllib.parse, urllib.request + q = urllib.parse.quote('uptime_seconds_total{job="rolldice"}') + with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r: + uptime = json.load(r) + result = uptime.get('data', {}).get('result', []) + if not result: + raise SystemExit('uptime_seconds_total missing from Prometheus') + if float(result[0]['value'][1]) < 0: + raise SystemExit('uptime_seconds_total must be >= 0') + + q = urllib.parse.quote('target_info{service_name!="otelcol-contrib"}') + with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r: + target_info = json.load(r) + rows = target_info.get('data', {}).get('result', []) + if len(rows) != 2: + raise SystemExit(f'expected 2 non-collector target_info rows, got {len(rows)}') + instances = {row['metric'].get('instance') for row in rows} + if len(instances) != 1: + raise SystemExit(f'expected one shared instance across target_info rows, got {sorted(instances)}') + PY diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml index 98844a270..606e6f4ec 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml @@ -7,6 +7,18 @@ fixture: seed: type: app expected: - metrics: - - promql: 'uptime_seconds_total{}' - value: '>= 0' + custom-checks: + - script: | + set -eu + python3 - <<'PY' + import json, urllib.parse, urllib.request + q = urllib.parse.quote('uptime_seconds_total{job="rolldice"}') + with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r: + data = json.load(r) + result = data.get('data', {}).get('result', []) + if not result: + raise SystemExit('uptime_seconds_total missing from Prometheus') + value = float(result[0]['value'][1]) + if value < 0: + raise SystemExit(f'unexpected negative uptime metric: {value}') + PY From dc49ead6ca04042468125b87f2f0b4f32d15e3cc Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 3 Jul 2026 11:54:58 +0200 Subject: [PATCH 14/31] test: pin OATS via mise go backend Signed-off-by: Gregor Zeitlinger --- .../oats-tests/agent/oats.yaml | 2 +- .../oats-tests/http/oats.yaml | 2 +- mise.toml | 33 +++---------------- 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml index da1aaf47d..345008519 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml @@ -1,4 +1,4 @@ -oats: 2 +oats-schema-version: 3 name: java agent exporter preserves target_info identity fixture: type: compose diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml index 606e6f4ec..0835d07f7 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml @@ -1,4 +1,4 @@ -oats: 2 +oats-schema-version: 3 name: http protobuf exporter emits uptime metric fixture: type: compose diff --git a/mise.toml b/mise.toml index f2aa28f42..e86f0c670 100644 --- a/mise.toml +++ b/mise.toml @@ -1,5 +1,7 @@ [tools] -"go:github.com/grafana/oats" = "0.7.0" +go = "1.26.4" +"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } +"go:github.com/grafana/gcx/cmd/gcx" = "v0.4.0" hugo = "0.163.3" java = "temurin-25.0.3+9.0.LTS" node = "24.17.0" @@ -94,33 +96,8 @@ run = "flint run --fix" description = "Run OATs acceptance tests" depends = "build" run = """ -# renovate: datasource=github-releases depName=gcx packageName=grafana/gcx -export GCX_VERSION=v0.4.0 -gotmp="" - -if ! command -v go >/dev/null 2>&1; then - goversion="1.25.4" - arch="$(uname -m)" - case "$arch" in - x86_64|amd64) goarch="amd64" ;; - aarch64|arm64) goarch="arm64" ;; - *) echo "unsupported architecture: $arch" >&2; exit 1 ;; - esac - gotmp="$(mktemp -d)" - curl -fsSL "https://go.dev/dl/go${goversion}.linux-${goarch}.tar.gz" -o "$gotmp/go.tgz" - tar -C "$gotmp" -xzf "$gotmp/go.tgz" - export PATH="$gotmp/go/bin:$PATH" -fi - -go install "github.com/grafana/gcx/cmd/gcx@${GCX_VERSION}" - -workdir="$(mktemp -d)" -trap 'rm -rf "$workdir" ${gotmp:+"$gotmp"}' EXIT -git clone --depth 1 --branch v2 https://github.com/grafana/oats "$workdir/oats-src" -GOWORK=off go -C "$workdir/oats-src" build -o "$workdir/oats" ./cmd/v2 - -REAL_GCX_BIN="$(go env GOPATH)/bin/gcx" \ - "$workdir/oats" \ +REAL_GCX_BIN="$(command -v gcx)" \ + oats \ --config oats.toml \ --gcx ./ci/oats/gcx-wrapper.sh \ --no-cache \ From 04bf11398dece7682dc677dfd17f9d59e79f1e1e Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 3 Jul 2026 11:56:29 +0200 Subject: [PATCH 15/31] chore: apply flint fixes for OATS tool pins Signed-off-by: Gregor Zeitlinger --- .github/renovate.json5 | 7 +++++++ mise.toml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 72ba8f7ca..4e7609bb5 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -51,6 +51,13 @@ "matchDepNames": [ "protoc" ] + }, + { + "description": "Flint autofix: align extractVersion for protoc", + "extractVersion": "^(?.+)\\.0$", + "matchDepNames": [ + "protoc" + ] } ], customManagers: [ diff --git a/mise.toml b/mise.toml index e86f0c670..cdbb59921 100644 --- a/mise.toml +++ b/mise.toml @@ -1,7 +1,7 @@ [tools] go = "1.26.4" -"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } "go:github.com/grafana/gcx/cmd/gcx" = "v0.4.0" +"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } hugo = "0.163.3" java = "temurin-25.0.3+9.0.LTS" node = "24.17.0" From e1adcb940166a748007c31a6cce0641e4cf99e2b Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 3 Jul 2026 12:04:30 +0200 Subject: [PATCH 16/31] chore: install gcx via aqua Signed-off-by: Gregor Zeitlinger --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index cdbb59921..d09b4c9c6 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,6 @@ [tools] go = "1.26.4" -"go:github.com/grafana/gcx/cmd/gcx" = "v0.4.0" +"aqua:grafana/gcx" = "v0.4.0" "go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } hugo = "0.163.3" java = "temurin-25.0.3+9.0.LTS" From 4f2cca00fe7e353d718d9f7d58c7432ba75b65e9 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 22 Jul 2026 09:17:11 +0000 Subject: [PATCH 17/31] test: validate OATS release candidate in consumer suites Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 3 ++- .../oats-tests/agent/{oats.yaml => oats-case.yaml} | 7 +++---- .../oats-tests/http/{oats.yaml => oats-case.yaml} | 7 +++---- mise.lock | 2 +- mise.toml | 6 +++--- oats-config.yaml | 6 ++++++ oats.toml | 7 ------- 7 files changed, 18 insertions(+), 20 deletions(-) rename examples/example-exporter-opentelemetry/oats-tests/agent/{oats.yaml => oats-case.yaml} (93%) rename examples/example-exporter-opentelemetry/oats-tests/http/{oats.yaml => oats-case.yaml} (88%) create mode 100644 oats-config.yaml delete mode 100644 oats.toml diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index 165086b6b..b5edca1b2 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -148,10 +148,12 @@ "mise": [ "actionlint", "aqua:grafana/flint", + "aqua:grafana/gcx", "aqua:jonwiggins/xmloxide", "aqua:owenlamont/ryl", "biome", "editorconfig-checker", + "go", "go:github.com/grafana/oats", "google-java-format", "hugo", @@ -169,7 +171,6 @@ "zizmor" ], "regex": [ - "gcx", "grafana/docker-otel-lgtm", "micrometer-metrics/micrometer", "prometheus/jmx_exporter" diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml similarity index 93% rename from examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml rename to examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml index 345008519..7c9a94f4d 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml @@ -1,9 +1,8 @@ -oats-schema-version: 3 name: java agent exporter preserves target_info identity fixture: - type: compose - template: lgtm - compose_file: docker-compose.yml + compose: + template: lgtm + file: docker-compose.yml seed: type: app expected: diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml similarity index 88% rename from examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml rename to examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml index 0835d07f7..f3027e6a8 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml +++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml @@ -1,9 +1,8 @@ -oats-schema-version: 3 name: http protobuf exporter emits uptime metric fixture: - type: compose - template: lgtm - compose_file: docker-compose.yml + compose: + template: lgtm + file: docker-compose.yml seed: type: app expected: diff --git a/mise.lock b/mise.lock index 0f9e10b10..3c6ed01a1 100644 --- a/mise.lock +++ b/mise.lock @@ -212,7 +212,7 @@ checksum = "sha256:9c6b8a4cd7ccc5826ab96d34c460f37ab18b9cb50607d3ee9eb743fc47335 url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-windows-amd64.zip" [[tools."go:github.com/grafana/oats"]] -version = "0.7.0" +version = "v0.7.1-0.20260722080634-db417e9ee743" backend = "go:github.com/grafana/oats" [[tools.google-java-format]] diff --git a/mise.toml b/mise.toml index d09b4c9c6..ebfc7c523 100644 --- a/mise.toml +++ b/mise.toml @@ -1,7 +1,7 @@ [tools] -go = "1.26.4" "aqua:grafana/gcx" = "v0.4.0" -"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } +go = "1.26.4" +"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } hugo = "0.163.3" java = "temurin-25.0.3+9.0.LTS" node = "24.17.0" @@ -98,7 +98,7 @@ depends = "build" run = """ REAL_GCX_BIN="$(command -v gcx)" \ oats \ - --config oats.toml \ + --config oats-config.yaml \ --gcx ./ci/oats/gcx-wrapper.sh \ --no-cache \ --timeout=5m diff --git a/oats-config.yaml b/oats-config.yaml new file mode 100644 index 000000000..d23490ffb --- /dev/null +++ b/oats-config.yaml @@ -0,0 +1,6 @@ +meta: + version: 3 + +cases: + - examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml + - examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml diff --git a/oats.toml b/oats.toml deleted file mode 100644 index f7e9fb212..000000000 --- a/oats.toml +++ /dev/null @@ -1,7 +0,0 @@ -cases = [ - "examples/example-exporter-opentelemetry/oats-tests/http/oats.yaml", - "examples/example-exporter-opentelemetry/oats-tests/agent/oats.yaml", -] - -[meta] -version = 2 From 13a353dd08c27d1ec8b1d6b2e72a7040257a8e05 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 22 Jul 2026 09:25:15 +0000 Subject: [PATCH 18/31] Merge upstream main into OATS consumer validation Signed-off-by: Gregor Zeitlinger --- .github/renovate-tracked-deps.json | 10 + .github/renovate.json5 | 16 +- .github/workflows/acceptance-tests.yml | 8 +- .github/workflows/api-diff.yml | 49 +- .github/workflows/approve-workflows.yml | 27 + .github/workflows/build.yml | 10 +- .github/workflows/bump-api-diff-baseline.yml | 10 +- .github/workflows/codeql.yml | 10 +- .github/workflows/detect-api-changes.yml | 117 ++ .github/workflows/generate-protobuf.yml | 25 +- .github/workflows/github-pages.yaml | 8 +- .../issue-management-stale-action.yml | 4 +- .../workflows/java-version-matrix-tests.yml | 10 +- .../workflows/jmx-exporter-compatibility.yml | 10 +- .github/workflows/lint.yml | 8 +- .../workflows/micrometer-compatibility.yml | 10 +- .github/workflows/multi-version-test.yml | 6 +- .github/workflows/native-tests.yml | 8 +- .github/workflows/nightly-benchmarks.yml | 12 +- .github/workflows/pr-benchmark-report.yml | 123 ++ .github/workflows/pr-benchmarks.yml | 176 ++ .../workflows/regenerate-api-diff-otel.yml | 88 + .github/workflows/release.yml | 10 +- .github/workflows/scorecard.yml | 4 +- .github/workflows/test-release-build.yml | 10 +- .mise/tasks/generate_benchmark_summary.py | 353 +++- CONTRIBUTING.md | 12 + .../benchmarks/HistogramBenchmark.java | 30 + ...-metrics-exporter-opentelemetry-shaded.txt | 20 +- ...metheus-metrics-exporter-opentelemetry.txt | 20 +- ...theus-metrics-instrumentation-caffeine.txt | 6 +- ...ometheus-metrics-instrumentation-guava.txt | 6 +- docs/content/internals/stability.md | 19 +- .../docker-compose.yaml | 6 +- .../docker-compose.yaml | 8 +- .../example-greeting-service/pom.xml | 2 +- .../example-hello-world-app/pom.xml | 2 +- .../docker-compose.yaml | 4 +- .../oats-tests/agent/Dockerfile | 2 +- .../oats-tests/http/Dockerfile | 2 +- .../example-exporter-servlet-tomcat/pom.xml | 2 +- .../docker-compose.yaml | 6 +- .../it-exporter-servlet-jetty-sample/pom.xml | 2 +- .../it-exporter-servlet-tomcat-sample/pom.xml | 2 +- .../it-spring-boot-smoke-test/pom.xml | 2 +- .../it/springboot/ApplicationTest.java | 34 + mise.lock | 425 ++-- mise.toml | 6 +- pom.xml | 8 +- .../metrics/core/metrics/Histogram.java | 2 +- .../metrics/core/metrics/GaugeTest.java | 11 +- .../metrics/core/metrics/HistogramTest.java | 33 + .../opentelemetry/OpenTelemetryExporter.java | 10 +- .../pom.xml | 2 +- .../Metrics.java | 1834 ++++++++--------- .../expositionformats/generated/Metrics.java | 2 +- .../PrometheusProtobufDebugFormat.java | 301 +++ .../PrometheusProtobufWriterImpl.java | 6 +- .../ProtobufExpositionFormatsTest.java | 31 + .../PrometheusProtobufDebugFormatTest.java | 124 ++ .../caffeine/CacheMetricsCollector.java | 2 + .../guava/CacheMetricsCollector.java | 2 + prometheus-metrics-parent/pom.xml | 26 + 63 files changed, 2850 insertions(+), 1284 deletions(-) create mode 100644 .github/workflows/approve-workflows.yml create mode 100644 .github/workflows/detect-api-changes.yml create mode 100644 .github/workflows/pr-benchmark-report.yml create mode 100644 .github/workflows/pr-benchmarks.yml create mode 100644 .github/workflows/regenerate-api-diff-otel.yml rename prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/{com_google_protobuf_4_35_0 => com_google_protobuf_4_35_1}/Metrics.java (88%) create mode 100644 prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormat.java create mode 100644 prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormatTest.java diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json index b5edca1b2..17dd0bb15 100644 --- a/.github/renovate-tracked-deps.json +++ b/.github/renovate-tracked-deps.json @@ -73,6 +73,16 @@ "mise" ] }, + ".github/workflows/pr-benchmarks.yml": { + "regex": [ + "mise" + ] + }, + ".github/workflows/regenerate-api-diff-otel.yml": { + "regex": [ + "mise" + ] + }, ".github/workflows/release.yml": { "regex": [ "mise" diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 4e7609bb5..e0f47d2a1 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,6 +1,6 @@ { $schema: "https://docs.renovatebot.com/renovate-schema.json", - extends: ["config:best-practices", "config:recommended", "github>grafana/flint#v0.22.5"], + extends: ["config:best-practices", "config:recommended", "github>grafana/flint#v0.22.7"], platformCommit: "enabled", automerge: true, ignorePaths: [ @@ -45,20 +45,6 @@ groupName: "protobuf", separateMajorMinor: false, }, - { - "description": "Flint autofix: align extractVersion for protoc", - "extractVersion": "^(?.+)\\.0\\.0$", - "matchDepNames": [ - "protoc" - ] - }, - { - "description": "Flint autofix: align extractVersion for protoc", - "extractVersion": "^(?.+)\\.0$", - "matchDepNames": [ - "protoc" - ] - } ], customManagers: [ { diff --git a/.github/workflows/acceptance-tests.yml b/.github/workflows/acceptance-tests.yml index 50fcc992d..4e2204fdd 100644 --- a/.github/workflows/acceptance-tests.yml +++ b/.github/workflows/acceptance-tests.yml @@ -12,10 +12,10 @@ jobs: - name: Check out with: persist-credentials: false - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Run acceptance tests run: mise run acceptance-test diff --git a/.github/workflows/api-diff.yml b/.github/workflows/api-diff.yml index fb0905244..d93f8732e 100644 --- a/.github/workflows/api-diff.yml +++ b/.github/workflows/api-diff.yml @@ -7,8 +7,6 @@ on: - opened - synchronize - reopened - - labeled - - unlabeled workflow_dispatch: inputs: baseline_version: @@ -29,19 +27,17 @@ jobs: # Empty unless overridden via workflow_dispatch; the api-diff task then # falls back to in pom.xml. API_DIFF_BASELINE_VERSION: ${{ inputs.baseline_version }} - BREAKING_API_CHANGE_ACCEPTED: >- - ${{ contains(github.event.pull_request.labels.*.name, 'breaking-api-change-accepted') }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} @@ -54,38 +50,3 @@ jobs: echo "Run 'mise run api-diff' locally and commit the updated docs/apidiffs." exit 1 fi - - name: Fail on incompatible published API changes - run: | - python3 - <<'PY' - import os - from pathlib import Path - import sys - import xml.etree.ElementTree as ET - - failures = [] - for report in sorted(Path(".").glob("**/target/japicmp/api-diff.xml")): - parts = report.parts - module = "/".join(parts[: parts.index("target")]) - tree = ET.parse(report) - for change in tree.findall(".//compatibilityChange"): - binary = change.get("binaryCompatible") == "false" - source = change.get("sourceCompatible") == "false" - if binary or source: - failures.append((module, change.get("type", "unknown"))) - - if not failures: - print("No incompatible published API changes detected.") - sys.exit(0) - - print("Incompatible published API changes detected:") - for module, change_type in failures[:100]: - print(f"- {module}: {change_type}") - if len(failures) > 100: - print(f"... and {len(failures) - 100} more") - if os.environ.get("BREAKING_API_CHANGE_ACCEPTED") == "true": - print("Accepted by PR label `breaking-api-change-accepted`.") - sys.exit(0) - print("Run `mise run api-diff` locally for full japicmp output.") - print("Reports are written to `**/target/japicmp/*`.") - sys.exit(1) - PY diff --git a/.github/workflows/approve-workflows.yml b/.github/workflows/approve-workflows.yml new file mode 100644 index 000000000..f372012f2 --- /dev/null +++ b/.github/workflows/approve-workflows.yml @@ -0,0 +1,27 @@ +--- +### +# This action is synced from https://github.com/prometheus/prometheus +### +name: Approve pending workflows + +on: + issue_comment: + types: [created] + +permissions: read-all + +jobs: + approve: + if: >- + github.event.issue.pull_request && + github.event.comment.body == '/workflow-approve' && + (github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community') + runs-on: ubuntu-latest + permissions: + actions: write + contents: read + pull-requests: write + steps: + - uses: prometheus/promci/approve_workflows@370e8c15dcec50043cbe66f2f34633d9efc0a190 # v0.9.0 + with: + github_token: ${{ github.token }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3b807ed02..f5eb59a36 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,15 +9,15 @@ jobs: build: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/bump-api-diff-baseline.yml b/.github/workflows/bump-api-diff-baseline.yml index 9f737389f..88e276efe 100644 --- a/.github/workflows/bump-api-diff-baseline.yml +++ b/.github/workflows/bump-api-diff-baseline.yml @@ -29,16 +29,16 @@ jobs: permissions: contents: write # push to the snapshot PR branch steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: ref: ${{ env.SNAPSHOT_BRANCH }} persist-credentials: true - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ec5216049..2832d34eb 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -21,23 +21,23 @@ jobs: security-events: write # required for github/codeql-action/analyze to upload SARIF steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - name: Set up Java - uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5 + uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5 with: distribution: temurin java-version: "25" - name: Cache Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-codeql-${{ hashFiles('**/pom.xml') }} - name: Initialize CodeQL - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/init@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2 with: languages: java tools: linked @@ -56,6 +56,6 @@ jobs: -Djavadoc.skip=true - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/analyze@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2 with: category: /language:java diff --git a/.github/workflows/detect-api-changes.yml b/.github/workflows/detect-api-changes.yml new file mode 100644 index 000000000..f0de28c7a --- /dev/null +++ b/.github/workflows/detect-api-changes.yml @@ -0,0 +1,117 @@ +--- +name: Detect API Changes + +on: + # pull_request_target is used so the workflow can update labels and comments + # without checking out or executing code from the PR branch. + # zizmor: ignore[dangerous-triggers] -- this workflow only reads PR metadata + # via the GitHub API and never checks out or executes code from the PR branch. + pull_request_target: + types: + - opened + - synchronize + - reopened + - ready_for_review + +permissions: {} + +jobs: + detect-api-changes: + if: github.repository == 'prometheus/client_java' + runs-on: ubuntu-24.04 + permissions: + issues: write + pull-requests: write + steps: + - name: Check for API changes and update PR + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + REPO: ${{ github.repository }} + run: | + MARKER="" + BREAKING_LABEL="breaking-api-change" + + api_files=$(gh api "repos/${REPO}/pulls/${PR_NUMBER}/files" --paginate \ + --jq '.[] | select(.filename | startswith("docs/apidiffs/current_vs_latest/")) | .filename') + + comment_id=$(gh api "repos/${REPO}/issues/${PR_NUMBER}/comments" --paginate \ + --jq ".[] | select(.body | startswith(\"${MARKER}\")) | .id" | head -1) + + if [[ -z "$api_files" ]]; then + echo "No API diff files changed." + gh pr edit "$PR_NUMBER" --repo "$REPO" --remove-label "api-change" 2>/dev/null || true + gh pr edit "$PR_NUMBER" --repo "$REPO" --remove-label "$BREAKING_LABEL" 2>/dev/null || true + if [[ -n "$comment_id" ]]; then + gh api --method DELETE "repos/${REPO}/issues/comments/${comment_id}" + fi + exit 0 + fi + + echo "API diff files changed:" + echo "$api_files" + + gh pr edit "$PR_NUMBER" --repo "$REPO" --add-label "api-change" + + modules=$(echo "$api_files" \ + | sed 's|docs/apidiffs/current_vs_latest/||' \ + | sed 's|\.txt$||' \ + | sort \ + | sed 's/^/- /') + + HEAD_SHA=$(gh api "repos/${REPO}/pulls/${PR_NUMBER}" --jq .head.sha) + breaking_files=() + while IFS= read -r file; do + [[ -z "$file" ]] && continue + content=$(gh api \ + -H "Accept: application/vnd.github.raw" \ + "repos/${REPO}/contents/${file}?ref=${HEAD_SHA}") + if grep -Eq '^[[:space:]]*(\*\*\*!|---!|\+\+\+!)' <<<"$content"; then + breaking_files+=("$file") + fi + done <<<"$api_files" + + if [[ ${#breaking_files[@]} -gt 0 ]]; then + gh pr edit "$PR_NUMBER" --repo "$REPO" --add-label "$BREAKING_LABEL" + breaking_modules=$(printf '%s\n' "${breaking_files[@]}" \ + | sed 's|docs/apidiffs/current_vs_latest/||' \ + | sed 's|\.txt$||' \ + | sort \ + | sed 's/^/- /') + body=$(cat </dev/null || true + + body=$(cat < /tmp/protobuf-sources.patch + git add -A -- '*.java' + git diff --cached --binary > /tmp/protobuf-sources.patch - name: Upload generated patch uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: @@ -66,7 +68,7 @@ jobs: permissions: contents: write # push regenerated sources back to the renovate branch steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: ref: ${{ github.ref }} # zizmor: ignore[artipacked] -- needs credentials to push @@ -83,11 +85,14 @@ jobs: echo "No generated changes to commit" exit 0 fi - git apply "$PATCH" + git apply --index "$PATCH" + if git diff --cached --quiet; then + echo "No generated changes to commit" + exit 0 + fi # Note: GITHUB_TOKEN pushes don't trigger CI re-runs. # Close and reopen the PR to trigger CI after this commit. git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add '*.java' git commit -m "chore: regenerate protobuf sources" git push diff --git a/.github/workflows/github-pages.yaml b/.github/workflows/github-pages.yaml index 6f7662edf..ff7268e9a 100644 --- a/.github/workflows/github-pages.yaml +++ b/.github/workflows/github-pages.yaml @@ -32,15 +32,15 @@ jobs: if: github.repository == 'prometheus/client_java' runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false fetch-tags: "true" fetch-depth: 0 - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 cache: "false" - name: Setup Pages id: pages diff --git a/.github/workflows/issue-management-stale-action.yml b/.github/workflows/issue-management-stale-action.yml index f06dfb4ec..e90b120a5 100644 --- a/.github/workflows/issue-management-stale-action.yml +++ b/.github/workflows/issue-management-stale-action.yml @@ -25,7 +25,7 @@ jobs: # Handle stale PRs # - After 120 days inactive: Adds "stale" label + warning comment # - After 30 more days inactive: Closes - - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 + - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: days-before-issue-stale: -1 days-before-issue-close: -1 @@ -43,7 +43,7 @@ jobs: # Handle stale issues # - After 360 days (12 months) inactive: Adds "stale" label + warning comment # - After 30 more days inactive: Closes - - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 + - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: days-before-issue-stale: 360 days-before-issue-close: 30 diff --git a/.github/workflows/java-version-matrix-tests.yml b/.github/workflows/java-version-matrix-tests.yml index a86563451..6a78ce47c 100644 --- a/.github/workflows/java-version-matrix-tests.yml +++ b/.github/workflows/java-version-matrix-tests.yml @@ -26,18 +26,18 @@ jobs: java-version: [8, 11, 17, 21, 25] steps: - name: Check out - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up mise - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/jmx-exporter-compatibility.yml b/.github/workflows/jmx-exporter-compatibility.yml index 84ed52577..247a8ecd3 100644 --- a/.github/workflows/jmx-exporter-compatibility.yml +++ b/.github/workflows/jmx-exporter-compatibility.yml @@ -19,16 +19,16 @@ jobs: jmx-exporter-compatibility: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 working_directory: .mise/envs/jmx-exporter - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6104b8241..421a70c17 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,16 +15,16 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false fetch-depth: 0 # needed for git diff --merge-base in lint:links - name: Setup mise - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Lint env: diff --git a/.github/workflows/micrometer-compatibility.yml b/.github/workflows/micrometer-compatibility.yml index d85e1d243..ac154b3c8 100644 --- a/.github/workflows/micrometer-compatibility.yml +++ b/.github/workflows/micrometer-compatibility.yml @@ -27,16 +27,16 @@ jobs: # renovate: datasource=git-refs depName=zeitlinger/micrometer packageName=https://github.com/zeitlinger/micrometer currentValue=feat/prom-client-java-typed-family-descriptor ref: 8f90b70807f5a063c592e3b17ef3b908be894086 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 working_directory: .mise/envs/micrometer - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/multi-version-test.yml b/.github/workflows/multi-version-test.yml index 699029c30..9ab3ac0e3 100644 --- a/.github/workflows/multi-version-test.yml +++ b/.github/workflows/multi-version-test.yml @@ -15,19 +15,19 @@ jobs: java: [17, 21, 25] steps: - name: Check out - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - name: Set up Java ${{ matrix.java }} id: setup-java - uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5 + uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5 with: distribution: "temurin" java-version: ${{ matrix.java }} - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-java${{ matrix.java }}-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 47491ac9d..1e5ad7ede 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -12,11 +12,11 @@ jobs: - name: Check out with: persist-credentials: false - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 working_directory: .mise/envs/native - name: Run native tests working-directory: .mise/envs/native diff --git a/.github/workflows/nightly-benchmarks.yml b/.github/workflows/nightly-benchmarks.yml index 1a8de7cb9..a140e55b0 100644 --- a/.github/workflows/nightly-benchmarks.yml +++ b/.github/workflows/nightly-benchmarks.yml @@ -28,19 +28,19 @@ jobs: contents: read # checkout only steps: - name: Checkout main branch - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false fetch-depth: 0 - name: Setup mise - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} @@ -75,7 +75,7 @@ jobs: contents: write # push generated results to the benchmarks branch steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: # zizmor: ignore[artipacked] -- needs credentials to push to benchmarks branch persist-credentials: true diff --git a/.github/workflows/pr-benchmark-report.yml b/.github/workflows/pr-benchmark-report.yml new file mode 100644 index 000000000..25e3d848e --- /dev/null +++ b/.github/workflows/pr-benchmark-report.yml @@ -0,0 +1,123 @@ +--- +name: PR Benchmark Report + +on: + # zizmor: ignore[dangerous-triggers] -- this workflow never checks out or executes PR code; + # it only reads artifacts produced by the benchmark run and posts a PR comment. + workflow_run: + workflows: + - PR Benchmarks + types: + - completed + +permissions: {} + +jobs: + comment: + if: > + github.event.workflow_run.event == 'pull_request' && + github.event.workflow_run.conclusion != 'cancelled' + runs-on: ubuntu-24.04 + permissions: + actions: read + contents: read + pull-requests: write + steps: + - name: Comment on PR with benchmark results + env: + GH_TOKEN: ${{ github.token }} + REPO: ${{ github.repository }} + RUN_ID: ${{ github.event.workflow_run.id }} + RUN_URL: ${{ github.event.workflow_run.html_url }} + CONCLUSION: ${{ github.event.workflow_run.conclusion }} + run: | + HEAD_SHA=$(gh api "repos/${REPO}/actions/runs/${RUN_ID}" --jq '.head_sha') + PR_NUMBER=$(gh api \ + "repos/${REPO}/actions/runs/${RUN_ID}" \ + --jq '.pull_requests[0].number // ""') + + # workflow_run.pull_requests can be empty for forked PRs. Prefer the + # artifact name because the benchmark workflow had the PR number when it + # uploaded the artifacts, then fall back to the run head repository/branch. + if [[ -z "${PR_NUMBER}" ]]; then + PR_NUMBER=$(gh api "repos/${REPO}/actions/runs/${RUN_ID}/artifacts" \ + --jq '.artifacts[].name + | select(startswith("pr-benchmark-") and endswith("-'"${HEAD_SHA}"'")) + | split("-")[4]' \ + | sort -u | head -1) + fi + if [[ -z "${PR_NUMBER}" ]]; then + HEAD_OWNER=$(gh api \ + "repos/${REPO}/actions/runs/${RUN_ID}" \ + --jq '.head_repository.owner.login // ""') + HEAD_BRANCH=$(gh api \ + "repos/${REPO}/actions/runs/${RUN_ID}" \ + --jq '.head_branch // ""') + if [[ -n "${HEAD_OWNER}" && -n "${HEAD_BRANCH}" ]]; then + PR_NUMBER=$(gh api --method GET "repos/${REPO}/pulls" \ + -f state=open \ + -f head="${HEAD_OWNER}:${HEAD_BRANCH}" \ + --jq '.[].number' \ + | head -1) + fi + fi + if [[ -z "${PR_NUMBER}" ]]; then + PR_NUMBER=$(gh api "repos/${REPO}/commits/${HEAD_SHA}/pulls" \ + --jq '.[] | select(.state == "open") | .number' | head -1) + fi + if [[ -z "${PR_NUMBER}" ]]; then + echo "Could not determine PR number for run ${RUN_ID} (head ${HEAD_SHA})." >&2 + exit 1 + fi + + COMMENT_ARTIFACT_NAME="pr-benchmark-comment-pr-${PR_NUMBER}-${HEAD_SHA}" + RESULTS_ARTIFACT_NAME="pr-benchmark-results-pr-${PR_NUMBER}-${HEAD_SHA}" + COMMENT_ARTIFACT_ID=$(gh api "repos/${REPO}/actions/runs/${RUN_ID}/artifacts" \ + --jq '.artifacts[] + | select(.name == "'"${COMMENT_ARTIFACT_NAME}"'") + | .id' \ + | head -1) + + MARKER="" + + if [[ -n "${COMMENT_ARTIFACT_ID}" ]]; then + gh api \ + "repos/${REPO}/actions/artifacts/${COMMENT_ARTIFACT_ID}/zip" \ + > /tmp/pr-benchmark-comment.zip + unzip -p /tmp/pr-benchmark-comment.zip pr-benchmark-comment.md \ + > /tmp/pr-benchmark-comment.md + SUMMARY_BODY=$(cat /tmp/pr-benchmark-comment.md) + else + SUMMARY_BODY="_Benchmark summary artifact was not found; " + SUMMARY_BODY+="see the workflow run for details._" + fi + + if [[ "${CONCLUSION}" == "success" ]]; then + STATUS_LINE="Benchmark run succeeded for \`${HEAD_SHA}\`." + else + STATUS_LINE="Benchmark run finished with conclusion \`${CONCLUSION}\` " + STATUS_LINE+="for \`${HEAD_SHA}\`." + fi + + body=$(cat < /tmp/apidiffs.patch + - name: Upload generated patch + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: apidiffs-patch + path: /tmp/apidiffs.patch + retention-days: 5 + + publish: + runs-on: ubuntu-24.04 + needs: generate + permissions: + contents: write # push regenerated apidiffs back to the renovate branch + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + with: + ref: ${{ github.ref }} + # zizmor: ignore[artipacked] -- needs credentials to push + persist-credentials: true + - name: Download generated patch + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: apidiffs-patch + path: /tmp/patch + - name: Commit and push regenerated apidiffs + run: | + PATCH=/tmp/patch/apidiffs.patch + if [[ ! -s "$PATCH" ]]; then + echo "No apidiff changes to commit" + exit 0 + fi + git apply "$PATCH" + # Note: GITHUB_TOKEN pushes don't trigger CI re-runs. + # Close and reopen the PR to trigger CI after this commit. + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add docs/apidiffs + git commit -m "chore: regenerate api diff" + git push diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca2495ac3..456173d15 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,22 +64,22 @@ jobs: "If the GPG Key Expired" fi - name: Checkout Plugin Repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: ${{ inputs.tag }} persist-credentials: false - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 cache: false - name: Build release version run: mise run build-release - name: Set up Apache Maven Central - uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5 + uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5 with: distribution: "temurin" java-version: "21" diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index d4dda252c..ee3345250 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -22,7 +22,7 @@ jobs: id-token: write # required by scorecard-action for OIDC token steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false @@ -41,6 +41,6 @@ jobs: retention-days: 5 - name: Upload to code scanning - uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/upload-sarif@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2 with: sarif_file: results.sarif diff --git a/.github/workflows/test-release-build.yml b/.github/workflows/test-release-build.yml index fe69ea110..702d2b2fb 100644 --- a/.github/workflows/test-release-build.yml +++ b/.github/workflows/test-release-build.yml @@ -13,17 +13,17 @@ jobs: build: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false fetch-tags: "true" fetch-depth: 0 - - uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0 + - uses: jdx/mise-action@dad1bfd3df957f44999b559dd69dc1671cb4e9ea # v4.2.1 with: - version: v2026.6.12 - sha256: ff0cf4917acc96b7ffdd0382261d17f405572e9240f95fafb980e44aaf60c514 + version: v2026.7.5 + sha256: 5f7ab76afdf0780d12edeaa67e908094e9ccf7924cfe203e415c1cfb87bbf778 - name: Cache local Maven repository - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.mise/tasks/generate_benchmark_summary.py b/.mise/tasks/generate_benchmark_summary.py index 0b0c4fb01..e37f1e09c 100644 --- a/.mise/tasks/generate_benchmark_summary.py +++ b/.mise/tasks/generate_benchmark_summary.py @@ -7,7 +7,8 @@ Generate a markdown summary from JMH benchmark JSON results. Usage: - python3 .mise/tasks/generate_benchmark_summary.py [--input results.json] [--output-dir ./benchmark-results] + python3 .mise/tasks/generate_benchmark_summary.py \ + [--input results.json] [--output-dir ./benchmark-results] This script: 1. Reads JMH JSON output @@ -22,7 +23,7 @@ import sys from datetime import datetime, timezone from pathlib import Path -from typing import Dict, List, Optional +from typing import Dict, List, Optional, Tuple def parse_args(): @@ -44,6 +45,41 @@ def parse_args(): default=None, help="Git commit SHA (default: read from git or 'local')", ) + parser.add_argument( + "--baseline", + default=None, + help="Optional JMH JSON results file to compare against", + ) + parser.add_argument( + "--baseline-sha", + default=None, + help="Baseline commit SHA (default: read from git or 'local')", + ) + parser.add_argument( + "--baseline-repo", + default=None, + help="Baseline GitHub repository for commit links", + ) + parser.add_argument( + "--comparison-note", + default=None, + help="Optional note to include in the benchmark comparison section", + ) + parser.add_argument( + "--system-info", + default=None, + help="Optional JSON file with system info for the measured run", + ) + parser.add_argument( + "--baseline-system-info", + default=None, + help="Optional JSON file with system info for the baseline run", + ) + parser.add_argument( + "--write-system-info", + default=None, + help="Write current system info to this JSON file and exit", + ) return parser.parse_args() @@ -110,6 +146,39 @@ def get_system_info() -> Dict[str, str]: return info +def read_system_info(path: Optional[str]) -> Dict[str, str]: + """Read system info from JSON, or capture it from the current host.""" + if not path: + return get_system_info() + with open(path, "r") as f: + return json.load(f) + + +def write_system_info(path: str) -> None: + """Write current system info to JSON.""" + output_path = Path(path) + output_path.parent.mkdir(parents=True, exist_ok=True) + with open(output_path, "w") as f: + json.dump(get_system_info(), f, indent=2, sort_keys=True) + f.write("\n") + + +def format_system_info(sysinfo: Optional[Dict[str, str]]) -> str: + """Format captured system info for markdown.""" + if not sysinfo: + return "unknown" + parts = [] + if sysinfo.get("cpu_model"): + parts.append(sysinfo["cpu_model"]) + if sysinfo.get("cpu_cores"): + parts.append(f"{sysinfo['cpu_cores']} cores") + if sysinfo.get("memory_gb"): + parts.append(f"{sysinfo['memory_gb']} GB RAM") + if sysinfo.get("os"): + parts.append(sysinfo["os"]) + return ", ".join(parts) if parts else "unknown" + + def get_commit_sha(provided_sha: Optional[str]) -> str: """Get commit SHA from argument, git, or return 'local'.""" if provided_sha: @@ -134,6 +203,8 @@ def get_commit_sha(provided_sha: Optional[str]) -> str: def format_score(score) -> str: """Format score with appropriate precision.""" + if score is None: + return "" try: val = float(score) if val >= 1_000_000: @@ -160,9 +231,194 @@ def format_error(error) -> str: return "" -def generate_markdown(results: List, commit_sha: str, repo: str) -> str: - """Generate markdown summary from JMH results.""" +def format_commit_link(commit_sha: str, repo: str) -> str: + """Format a commit SHA as a GitHub markdown link.""" commit_short = commit_sha[:7] + if commit_sha != "local": + return f"[`{commit_short}`](https://github.com/{repo}/commit/{commit_sha})" + return f"`{commit_short}` (local run)" + + +def short_benchmark_name(name: str) -> str: + """Remove the common benchmark package prefix.""" + return name.replace("io.prometheus.metrics.benchmarks.", "") + + +def metric_score(result: Dict) -> Optional[float]: + """Extract a benchmark score as a finite float.""" + try: + score = float(result.get("primaryMetric", {}).get("score")) + if score == score: + return score + except (ValueError, TypeError): + pass + return None + + +def score_interval(result: Dict) -> Optional[Tuple[float, float]]: + """Extract the JMH confidence interval for a benchmark result.""" + metric = result.get("primaryMetric", {}) + confidence = metric.get("scoreConfidence") + if isinstance(confidence, list) and len(confidence) == 2: + try: + low = float(confidence[0]) + high = float(confidence[1]) + if low == low and high == high: + return min(low, high), max(low, high) + except (ValueError, TypeError): + pass + + score = metric_score(result) + if score is None: + return None + try: + error = float(metric.get("scoreError")) + if error == error: + return score - error, score + error + except (ValueError, TypeError): + pass + return None + + +def lower_is_better(result: Dict) -> bool: + """Return true for JMH modes where lower score is better.""" + mode = str(result.get("mode", "")) + unit = str(result.get("primaryMetric", {}).get("scoreUnit", "")) + return mode in {"avgt", "sample", "ss"} or unit.endswith("/op") + + +def comparison_status(head: Dict, baseline: Dict) -> str: + """Classify a benchmark comparison using confidence intervals.""" + head_interval = score_interval(head) + baseline_interval = score_interval(baseline) + head_score = metric_score(head) + baseline_score = metric_score(baseline) + if head_score is None or baseline_score is None: + return "" + + is_lower_better = lower_is_better(head) + if head_interval and baseline_interval: + head_low, head_high = head_interval + baseline_low, baseline_high = baseline_interval + if is_lower_better: + if head_high < baseline_low: + return "faster" + if head_low > baseline_high: + return "slower" + else: + if head_low > baseline_high: + return "faster" + if head_high < baseline_low: + return "slower" + return "within noise" + + if is_lower_better: + return "faster" if head_score < baseline_score else "slower" + return "faster" if head_score > baseline_score else "slower" + + +def performance_change(head: Dict, baseline: Dict) -> Optional[float]: + """Return percent performance change, with positive meaning faster.""" + head_score = metric_score(head) + baseline_score = metric_score(baseline) + if head_score is None or baseline_score in (None, 0): + return None + if lower_is_better(head): + return (float(baseline_score) / head_score - 1) * 100 + return (head_score / float(baseline_score) - 1) * 100 + + +def format_change(change: Optional[float]) -> str: + """Format a percent performance change.""" + if change is None: + return "" + return f"{change:+.1f}%" + + +def generate_comparison_section( + results: List, + baseline_results: List, + commit_sha: str, + baseline_sha: str, + repo: str, + baseline_repo: str, + comparison_note: Optional[str] = None, + system_info: Optional[Dict[str, str]] = None, + baseline_system_info: Optional[Dict[str, str]] = None, +) -> List[str]: + """Generate a base-vs-head benchmark comparison section.""" + by_name = {b.get("benchmark", ""): b for b in results if b.get("benchmark")} + baseline_by_name = { + b.get("benchmark", ""): b for b in baseline_results if b.get("benchmark") + } + common_names = sorted(set(by_name) & set(baseline_by_name)) + + md = [] + md.append("## Comparison with base") + md.append("") + md.append(f"- **Head:** {format_commit_link(commit_sha, repo)}") + md.append(f"- **Base:** {format_commit_link(baseline_sha, baseline_repo)}") + md.append("- **Change:** positive means the PR is faster than base.") + if comparison_note: + md.append(f"- **Note:** {comparison_note}") + if baseline_system_info: + md.append(f"- **Head runner:** {format_system_info(system_info)}") + md.append(f"- **Base runner:** {format_system_info(baseline_system_info)}") + md.append( + "- **Note:** base and head run in parallel jobs, so runner " + "hardware can differ and affect results." + ) + md.append("") + + if not common_names: + md.append("_No matching benchmark names were found in the base results._") + md.append("") + return md + + md.append("| Benchmark | PR | Base | Change | Result |") + md.append("|:----------|---:|-----:|-------:|:-------|") + + for name in common_names: + head = by_name[name] + baseline = baseline_by_name[name] + head_score = metric_score(head) + baseline_score = metric_score(baseline) + md.append( + "| " + f"{short_benchmark_name(name)} | " + f"{format_score(head_score)} | " + f"{format_score(baseline_score)} | " + f"{format_change(performance_change(head, baseline))} | " + f"{comparison_status(head, baseline)} |" + ) + + missing_in_base = sorted(set(by_name) - set(baseline_by_name)) + missing_in_head = sorted(set(baseline_by_name) - set(by_name)) + if missing_in_base or missing_in_head: + md.append("") + if missing_in_base: + missing = ", ".join(short_benchmark_name(name) for name in missing_in_base) + md.append(f"- Benchmarks only in PR results: {missing}") + if missing_in_head: + missing = ", ".join(short_benchmark_name(name) for name in missing_in_head) + md.append(f"- Benchmarks only in base results: {missing}") + + md.append("") + return md + + +def generate_markdown( + results: List, + commit_sha: str, + repo: str, + baseline_results: Optional[List] = None, + baseline_sha: Optional[str] = None, + baseline_repo: Optional[str] = None, + comparison_note: Optional[str] = None, + system_info: Optional[Dict[str, str]] = None, + baseline_system_info: Optional[Dict[str, str]] = None, +) -> str: + """Generate markdown summary from JMH results.""" datetime_str = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") # Extract metadata from first result @@ -174,7 +430,7 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: warmup_iters = first.get("warmupIterations", "?") measure_iters = first.get("measurementIterations", "?") - sysinfo = get_system_info() + sysinfo = system_info or get_system_info() md = [] md.append("# Prometheus Java Client Benchmarks") @@ -183,14 +439,12 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: md.append("## Run Information") md.append("") md.append(f"- **Date:** {datetime_str}") - if commit_sha != "local": - md.append( - f"- **Commit:** [`{commit_short}`](https://github.com/{repo}/commit/{commit_sha})" - ) - else: - md.append(f"- **Commit:** `{commit_short}` (local run)") + md.append(f"- **Commit:** {format_commit_link(commit_sha, repo)}") md.append(f"- **JDK:** {jdk_version} ({vm_name})") - bench_cfg = f"{forks} fork(s), {warmup_iters} warmup, {measure_iters} measurement, {threads} threads" + bench_cfg = ( + f"{forks} fork(s), {warmup_iters} warmup, " + f"{measure_iters} measurement, {threads} threads" + ) md.append(f"- **Benchmark config:** {bench_cfg}") hw_parts = [] @@ -207,6 +461,21 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: md.append("") + if baseline_results and baseline_sha and baseline_repo: + md.extend( + generate_comparison_section( + results, + baseline_results, + commit_sha, + baseline_sha, + repo, + baseline_repo, + comparison_note=comparison_note, + system_info=sysinfo, + baseline_system_info=baseline_system_info, + ) + ) + # Group by benchmark class benchmarks_by_class: Dict[str, List] = {} for b in results: @@ -219,7 +488,7 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: class_short = "Other" benchmarks_by_class.setdefault(class_short, []).append(b) - md.append("## Results") + md.append("## Results for PR head") md.append("") # Generate table for each class @@ -235,8 +504,8 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: reverse=True, ) - md.append("| Benchmark | Score | Error | Units | |") - md.append("|:----------|------:|------:|:------|:---|") + md.append("| Benchmark | Score | Error | Units | Within run |") + md.append("|:----------|------:|------:|:------|:-----------|") best_score = ( sorted_benchmarks[0].get("primaryMetric", {}).get("score", 1) @@ -280,7 +549,7 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: ) for b in sorted(results, key=lambda x: x.get("benchmark", "")): - name = b.get("benchmark", "").replace("io.prometheus.metrics.benchmarks.", "") + name = short_benchmark_name(b.get("benchmark", "")) mode = b.get("mode", "thrpt") cnt = b.get("measurementIterations", 0) * b.get("forks", 1) score = b.get("primaryMetric", {}).get("score", 0) @@ -312,6 +581,15 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: md.append("") md.append("- **Score** = Throughput in operations per second (higher is better)") md.append("- **Error** = 99.9% confidence interval") + if baseline_results: + md.append( + "- **Comparison with base** uses JMH confidence intervals when " + 'available; overlapping intervals are marked "within noise".' + ) + md.append( + "- **Within run** compares benchmarks in the same result set, not against " + "the base commit." + ) md.append("") md.append("## Benchmark Descriptions") @@ -336,6 +614,11 @@ def generate_markdown(results: List, commit_sha: str, repo: str) -> str: def main(): args = parse_args() + if args.write_system_info: + write_system_info(args.write_system_info) + print(f"Wrote system info to: {args.write_system_info}") + return + input_path = Path(args.input) if not input_path.exists(): print(f"Error: Input file not found: {input_path}") @@ -350,6 +633,27 @@ def main(): commit_sha = get_commit_sha(args.commit_sha) commit_short = commit_sha[:7] repo = os.environ.get("GITHUB_REPOSITORY", "prometheus/client_java") + baseline_results = None + baseline_sha = None + baseline_repo = args.baseline_repo or os.environ.get("GITHUB_BASE_REPOSITORY", repo) + system_info = read_system_info(args.system_info) + baseline_system_info = None + + baseline_path = Path(args.baseline) if args.baseline else None + if baseline_path: + if not baseline_path.exists(): + print(f"Error: Baseline file not found: {baseline_path}") + sys.exit(1) + print(f"Reading baseline results from: {baseline_path}") + with open(baseline_path, "r") as f: + baseline_results = json.load(f) + baseline_sha = get_commit_sha(args.baseline_sha) + baseline_system_info = ( + read_system_info(args.baseline_system_info) + if args.baseline_system_info + else None + ) + print(f"Found {len(baseline_results)} baseline benchmark results") output_dir = Path(args.output_dir) output_dir.mkdir(parents=True, exist_ok=True) @@ -360,12 +664,27 @@ def main(): shutil.copy(input_path, results_json_path) print(f"Copied results to: {results_json_path}") + if baseline_path: + baseline_json_path = output_dir / "baseline-results.json" + shutil.copy(baseline_path, baseline_json_path) + print(f"Copied baseline results to: {baseline_json_path}") + date_str = datetime.now(timezone.utc).strftime("%Y-%m-%d") history_path = history_dir / f"{date_str}-{commit_short}.json" shutil.copy(input_path, history_path) print(f"Saved historical entry: {history_path}") - markdown = generate_markdown(results, commit_sha, repo) + markdown = generate_markdown( + results, + commit_sha, + repo, + baseline_results=baseline_results, + baseline_sha=baseline_sha, + baseline_repo=baseline_repo, + comparison_note=args.comparison_note, + system_info=system_info, + baseline_system_info=baseline_system_info, + ) readme_path = output_dir / "README.md" with open(readme_path, "w") as f: f.write(markdown) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d2a93b676..519b98fea 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,18 @@ Prometheus uses GitHub to manage reviews of pull requests. This will avoid unnecessary work and surely give you and us a good deal of inspiration. +## Pull Request Titles + +Use a [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)-style +title for pull requests: + +```text +[optional scope]: +``` + +For example: `fix(metrics): handle empty scrapes`. Common types include `feat`, `fix`, +`docs`, `test`, `refactor`, `perf`, `build`, `ci`, `chore`, and `revert`. + ## Signing Off Commits Every commit must include a `Signed-off-by` line, as required by the diff --git a/benchmarks/src/main/java/io/prometheus/metrics/benchmarks/HistogramBenchmark.java b/benchmarks/src/main/java/io/prometheus/metrics/benchmarks/HistogramBenchmark.java index 72cba0f9f..41b7097db 100644 --- a/benchmarks/src/main/java/io/prometheus/metrics/benchmarks/HistogramBenchmark.java +++ b/benchmarks/src/main/java/io/prometheus/metrics/benchmarks/HistogramBenchmark.java @@ -47,6 +47,16 @@ public PrometheusClassicHistogram() { } } + @State(Scope.Thread) + public static class PrometheusClassicHistogramPerThread { + + final Histogram noLabels; + + public PrometheusClassicHistogramPerThread() { + noLabels = Histogram.builder().name("test").help("help").classicOnly().build(); + } + } + @State(Scope.Benchmark) public static class PrometheusNativeHistogram { @@ -143,6 +153,26 @@ public Histogram prometheusClassic( return histogram.noLabels; } + @Benchmark + @Threads(1) + public Histogram prometheusClassicSingleThread( + RandomNumbers randomNumbers, PrometheusClassicHistogram histogram) { + for (int i = 0; i < randomNumbers.randomNumbers.length; i++) { + histogram.noLabels.observe(randomNumbers.randomNumbers[i]); + } + return histogram.noLabels; + } + + @Benchmark + @Threads(4) + public Histogram prometheusClassicPerThread( + RandomNumbers randomNumbers, PrometheusClassicHistogramPerThread histogram) { + for (int i = 0; i < randomNumbers.randomNumbers.length; i++) { + histogram.noLabels.observe(randomNumbers.randomNumbers[i]); + } + return histogram.noLabels; + } + @Benchmark @Threads(4) public Histogram prometheusNative( diff --git a/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry-shaded.txt b/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry-shaded.txt index f6150114c..1b6d81f72 100644 --- a/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry-shaded.txt +++ b/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry-shaded.txt @@ -1,2 +1,20 @@ Comparing source compatibility of prometheus-metrics-exporter-opentelemetry-1.8.1-SNAPSHOT.jar against prometheus-metrics-exporter-opentelemetry-1.8.0.jar -No changes. +***! MODIFIED CLASS: PUBLIC io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + ---! REMOVED CONSTRUCTOR: PUBLIC(-) OpenTelemetryExporter(io.prometheus.metrics.shaded.io_opentelemetry_2_28_1_alpha.sdk.metrics.export.MetricReader) +*** MODIFIED CLASS: PUBLIC STATIC io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter buildAndStart() + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder endpoint(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder header(java.lang.String, java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder intervalSeconds(int) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder preserveNames(boolean) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder protocol(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder registry(io.prometheus.metrics.model.registry.PrometheusRegistry) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder resourceAttribute(java.lang.String, java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceInstanceId(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceName(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceNamespace(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceVersion(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder timeoutSeconds(int) + diff --git a/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry.txt b/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry.txt index 193968d3e..d0177b813 100644 --- a/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry.txt +++ b/docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry.txt @@ -1,2 +1,20 @@ Comparing source compatibility of prometheus-metrics-exporter-opentelemetry-no-otel-1.8.1-SNAPSHOT.jar against prometheus-metrics-exporter-opentelemetry-no-otel-1.8.0.jar -No changes. +***! MODIFIED CLASS: PUBLIC io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + ---! REMOVED CONSTRUCTOR: PUBLIC(-) OpenTelemetryExporter(io.opentelemetry.sdk.metrics.export.MetricReader) +*** MODIFIED CLASS: PUBLIC STATIC io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter buildAndStart() + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder endpoint(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder header(java.lang.String, java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder intervalSeconds(int) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder preserveNames(boolean) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder protocol(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder registry(io.prometheus.metrics.model.registry.PrometheusRegistry) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder resourceAttribute(java.lang.String, java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceInstanceId(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceName(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceNamespace(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder serviceVersion(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.prometheus.metrics.exporter.opentelemetry.OpenTelemetryExporter$Builder timeoutSeconds(int) + diff --git a/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-caffeine.txt b/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-caffeine.txt index 731adee45..2745dbce5 100644 --- a/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-caffeine.txt +++ b/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-caffeine.txt @@ -1,2 +1,6 @@ Comparing source compatibility of prometheus-metrics-instrumentation-caffeine-1.8.1-SNAPSHOT.jar against prometheus-metrics-instrumentation-caffeine-1.8.0.jar -No changes. +=== UNCHANGED CLASS: PUBLIC io.prometheus.metrics.instrumentation.caffeine.CacheMetricsCollector (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + === UNCHANGED METHOD: PUBLIC com.github.benmanes.caffeine.cache.Cache removeCache(java.lang.String) + +++ NEW ANNOTATION: javax.annotation.Nullable + diff --git a/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-guava.txt b/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-guava.txt index 7391e926c..bb87fbec9 100644 --- a/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-guava.txt +++ b/docs/apidiffs/current_vs_latest/prometheus-metrics-instrumentation-guava.txt @@ -1,2 +1,6 @@ Comparing source compatibility of prometheus-metrics-instrumentation-guava-1.8.1-SNAPSHOT.jar against prometheus-metrics-instrumentation-guava-1.8.0.jar -No changes. +=== UNCHANGED CLASS: PUBLIC io.prometheus.metrics.instrumentation.guava.CacheMetricsCollector (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + === UNCHANGED METHOD: PUBLIC com.google.common.cache.Cache removeCache(java.lang.String) + +++ NEW ANNOTATION: javax.annotation.Nullable + diff --git a/docs/content/internals/stability.md b/docs/content/internals/stability.md index 7823f936a..d960c7ffa 100644 --- a/docs/content/internals/stability.md +++ b/docs/content/internals/stability.md @@ -14,23 +14,20 @@ constructors, methods, and fields when only part of a public type is stable. ## API diff check -CI runs [japicmp](https://siom79.github.io/japicmp/) against a pinned baseline release and fails on -incompatible changes to the `@StableApi` surface. Run it locally with: +CI runs [japicmp](https://siom79.github.io/japicmp/) against a pinned baseline release and writes +the published API diffs under `docs/apidiffs/current_vs_latest/`. Pull requests must keep those +checked-in diffs up to date. Run it locally with: ```bash mise run api-diff ``` -Reports are written to `**/target/japicmp/*`. +Raw reports are written to `**/target/japicmp/*`. The baseline version is tracked in `pom.xml` and updated by Renovate; the published baseline diffs are stored under `docs/apidiffs/`. -## Accepting breaking changes - -Backwards-incompatible changes to the `@StableApi` surface are only allowed in a major version -bump. Within a major version line, the API diff check must pass. - -When a major version is being prepared, intentional incompatible changes can be accepted by adding -the `breaking-api-change-accepted` label to the pull request. The label is not an escape hatch for -minor or patch releases. +Pull requests that change `docs/apidiffs/current_vs_latest/` are automatically labeled +`api-change` for additional maintainer review. If the committed API diff contains breaking-change +markers such as `***!`, `---!`, or `+++!`, the pull request is also labeled +`breaking-api-change`. diff --git a/examples/example-custom-buckets/docker-compose.yaml b/examples/example-custom-buckets/docker-compose.yaml index f78a1358c..71884779c 100644 --- a/examples/example-custom-buckets/docker-compose.yaml +++ b/examples/example-custom-buckets/docker-compose.yaml @@ -1,7 +1,7 @@ version: "3" services: example-application: - image: eclipse-temurin:25.0.3_9-jre@sha256:7ea65de6187ad8fbcc0ad155950c38664a7371148bb3ccf1ec1e1b286b44ad08 + image: eclipse-temurin:25.0.3_9-jre@sha256:681c543d6f36c50f45e9b5226930a46203dcfa351d3670e9d0bdf0dabae53539 network_mode: host volumes: - ./target/example-custom-buckets.jar:/example-custom-buckets.jar @@ -10,7 +10,7 @@ services: - -jar - /example-custom-buckets.jar prometheus: - image: prom/prometheus:v3.12.0@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac + image: prom/prometheus:v3.13.1@sha256:3c42b892cf723fa54d2f262c37a0e1f80aa8c8ddb1da7b9b0df9455a35a7f893 network_mode: host volumes: - ./docker-compose/prometheus.yml:/prometheus.yml @@ -18,7 +18,7 @@ services: - --enable-feature=native-histograms - --config.file=/prometheus.yml grafana: - image: grafana/grafana:13.0.2@sha256:5dad0df181cb644a14e13617b913b261a54f7d4fd4510721dba420929f35bea2 + image: grafana/grafana:13.1.1@sha256:1c1bd67c54c5fcf6e759897852b5a584191bd6796e8d328a5ace457799801261 network_mode: host volumes: - ./docker-compose/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/grafana-datasources.yaml diff --git a/examples/example-exemplars-tail-sampling/docker-compose.yaml b/examples/example-exemplars-tail-sampling/docker-compose.yaml index dd63ee54e..7cc0e1a65 100644 --- a/examples/example-exemplars-tail-sampling/docker-compose.yaml +++ b/examples/example-exemplars-tail-sampling/docker-compose.yaml @@ -36,14 +36,14 @@ services: - -jar - /example-greeting-service.jar collector: - image: otel/opentelemetry-collector-contrib:0.154.0@sha256:b3079f45e19bdb7326bf49cdddce6cf60dfd865138db39f2733ea48ab17bc4cb + image: otel/opentelemetry-collector-contrib:0.156.0@sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108 network_mode: host volumes: - ./config/otelcol-config.yaml:/config.yaml command: - --config=file:/config.yaml prometheus: - image: prom/prometheus:v3.12.0@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac + image: prom/prometheus:v3.13.1@sha256:3c42b892cf723fa54d2f262c37a0e1f80aa8c8ddb1da7b9b0df9455a35a7f893 network_mode: host volumes: - ./config/prometheus.yaml:/prometheus.yaml @@ -59,7 +59,7 @@ services: command: - --config.file=/config.yaml grafana: - image: grafana/grafana:13.0.2@sha256:5dad0df181cb644a14e13617b913b261a54f7d4fd4510721dba420929f35bea2 + image: grafana/grafana:13.1.1@sha256:1c1bd67c54c5fcf6e759897852b5a584191bd6796e8d328a5ace457799801261 network_mode: host ports: - "3000:3000" @@ -68,7 +68,7 @@ services: - ./config/grafana-dashboards.yaml:/etc/grafana/provisioning/dashboards/grafana-dashboards.yaml - ./config/grafana-example-dashboard.json:/etc/grafana/example-dashboard.json k6: - image: grafana/k6@sha256:632ddbc81a4a9fdc9e597da91ab1d8fcf1916dd988b43b4a4559d2f8d8e73d47 + image: grafana/k6@sha256:e7eeddf1ce2361df6920d925297f487c0ba549c44be242c6a9c22f28d9b08efa network_mode: host volumes: - ./config/k6-script.js:/k6-script.js diff --git a/examples/example-exemplars-tail-sampling/example-greeting-service/pom.xml b/examples/example-exemplars-tail-sampling/example-greeting-service/pom.xml index a8d7f6735..578178661 100644 --- a/examples/example-exemplars-tail-sampling/example-greeting-service/pom.xml +++ b/examples/example-exemplars-tail-sampling/example-greeting-service/pom.xml @@ -45,7 +45,7 @@ org.apache.tomcat.embed tomcat-embed-core - 11.0.23 + 11.0.24 diff --git a/examples/example-exemplars-tail-sampling/example-hello-world-app/pom.xml b/examples/example-exemplars-tail-sampling/example-hello-world-app/pom.xml index 822d21d4b..5022bc327 100644 --- a/examples/example-exemplars-tail-sampling/example-hello-world-app/pom.xml +++ b/examples/example-exemplars-tail-sampling/example-hello-world-app/pom.xml @@ -45,7 +45,7 @@ org.apache.tomcat.embed tomcat-embed-core - 11.0.23 + 11.0.24 diff --git a/examples/example-exporter-opentelemetry/docker-compose.yaml b/examples/example-exporter-opentelemetry/docker-compose.yaml index 3e6df8db6..300bd18ef 100644 --- a/examples/example-exporter-opentelemetry/docker-compose.yaml +++ b/examples/example-exporter-opentelemetry/docker-compose.yaml @@ -13,14 +13,14 @@ services: #- -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 - /example-exporter-opentelemetry.jar collector: - image: otel/opentelemetry-collector-contrib:0.154.0@sha256:b3079f45e19bdb7326bf49cdddce6cf60dfd865138db39f2733ea48ab17bc4cb + image: otel/opentelemetry-collector-contrib:0.156.0@sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108 network_mode: host volumes: - ./config/otelcol-config.yaml:/config.yaml command: - --config=file:/config.yaml prometheus: - image: prom/prometheus:v3.12.0@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac + image: prom/prometheus:v3.13.1@sha256:3c42b892cf723fa54d2f262c37a0e1f80aa8c8ddb1da7b9b0df9455a35a7f893 network_mode: host volumes: - ./config/prometheus.yaml:/prometheus.yaml diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/Dockerfile b/examples/example-exporter-opentelemetry/oats-tests/agent/Dockerfile index abbc7b32f..86fc52f9c 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/agent/Dockerfile +++ b/examples/example-exporter-opentelemetry/oats-tests/agent/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:25.0.3_9-jre@sha256:7ea65de6187ad8fbcc0ad155950c38664a7371148bb3ccf1ec1e1b286b44ad08 +FROM eclipse-temurin:25.0.3_9-jre@sha256:681c543d6f36c50f45e9b5226930a46203dcfa351d3670e9d0bdf0dabae53539 COPY target/example-exporter-opentelemetry.jar ./app.jar # check that the resource attributes from the agent are used, epsecially the service.instance.id should be the same diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/Dockerfile b/examples/example-exporter-opentelemetry/oats-tests/http/Dockerfile index c753a54f6..89915692d 100644 --- a/examples/example-exporter-opentelemetry/oats-tests/http/Dockerfile +++ b/examples/example-exporter-opentelemetry/oats-tests/http/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:25.0.3_9-jre@sha256:7ea65de6187ad8fbcc0ad155950c38664a7371148bb3ccf1ec1e1b286b44ad08 +FROM eclipse-temurin:25.0.3_9-jre@sha256:681c543d6f36c50f45e9b5226930a46203dcfa351d3670e9d0bdf0dabae53539 COPY target/example-exporter-opentelemetry.jar ./app.jar diff --git a/examples/example-exporter-servlet-tomcat/pom.xml b/examples/example-exporter-servlet-tomcat/pom.xml index d2e21d705..197676b31 100644 --- a/examples/example-exporter-servlet-tomcat/pom.xml +++ b/examples/example-exporter-servlet-tomcat/pom.xml @@ -44,7 +44,7 @@ org.apache.tomcat.embed tomcat-embed-core - 11.0.23 + 11.0.24 diff --git a/examples/example-native-histogram/docker-compose.yaml b/examples/example-native-histogram/docker-compose.yaml index 51fb2ac0c..a24c34aca 100644 --- a/examples/example-native-histogram/docker-compose.yaml +++ b/examples/example-native-histogram/docker-compose.yaml @@ -1,7 +1,7 @@ version: "3" services: example-application: - image: eclipse-temurin:25.0.3_9-jre@sha256:7ea65de6187ad8fbcc0ad155950c38664a7371148bb3ccf1ec1e1b286b44ad08 + image: eclipse-temurin:25.0.3_9-jre@sha256:681c543d6f36c50f45e9b5226930a46203dcfa351d3670e9d0bdf0dabae53539 network_mode: host volumes: - ./target/example-native-histogram.jar:/example-native-histogram.jar @@ -10,7 +10,7 @@ services: - -jar - /example-native-histogram.jar prometheus: - image: prom/prometheus:v3.12.0@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac + image: prom/prometheus:v3.13.1@sha256:3c42b892cf723fa54d2f262c37a0e1f80aa8c8ddb1da7b9b0df9455a35a7f893 network_mode: host volumes: - ./docker-compose/prometheus.yml:/prometheus.yml @@ -18,7 +18,7 @@ services: - --enable-feature=native-histograms - --config.file=/prometheus.yml grafana: - image: grafana/grafana:13.0.2@sha256:5dad0df181cb644a14e13617b913b261a54f7d4fd4510721dba420929f35bea2 + image: grafana/grafana:13.1.1@sha256:1c1bd67c54c5fcf6e759897852b5a584191bd6796e8d328a5ace457799801261 network_mode: host volumes: - ./docker-compose/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/grafana-datasources.yaml diff --git a/integration-tests/it-exporter/it-exporter-servlet-jetty-sample/pom.xml b/integration-tests/it-exporter/it-exporter-servlet-jetty-sample/pom.xml index 6fb9c7483..e17e391a0 100644 --- a/integration-tests/it-exporter/it-exporter-servlet-jetty-sample/pom.xml +++ b/integration-tests/it-exporter/it-exporter-servlet-jetty-sample/pom.xml @@ -15,7 +15,7 @@ Jetty Sample for the Exporter Integration Test - 12.1.10 + 12.1.11 25 diff --git a/integration-tests/it-exporter/it-exporter-servlet-tomcat-sample/pom.xml b/integration-tests/it-exporter/it-exporter-servlet-tomcat-sample/pom.xml index ddbe6e1ec..1d56f2bb8 100644 --- a/integration-tests/it-exporter/it-exporter-servlet-tomcat-sample/pom.xml +++ b/integration-tests/it-exporter/it-exporter-servlet-tomcat-sample/pom.xml @@ -33,7 +33,7 @@ org.apache.tomcat.embed tomcat-embed-core - 11.0.23 + 11.0.24 diff --git a/integration-tests/it-spring-boot-smoke-test/pom.xml b/integration-tests/it-spring-boot-smoke-test/pom.xml index c2a091e1b..7261a024f 100644 --- a/integration-tests/it-spring-boot-smoke-test/pom.xml +++ b/integration-tests/it-spring-boot-smoke-test/pom.xml @@ -20,7 +20,7 @@ 25 - 6.1.0 + 6.1.2 diff --git a/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java b/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java index 357c08edf..c56634624 100644 --- a/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java +++ b/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java @@ -3,7 +3,12 @@ import static org.assertj.core.api.Assertions.assertThat; import io.prometheus.client.it.common.ExporterTest; +import io.prometheus.metrics.config.EscapingScheme; import io.prometheus.metrics.expositionformats.generated.Metrics; +import io.prometheus.metrics.expositionformats.internal.PrometheusProtobufWriterImpl; +import io.prometheus.metrics.model.snapshots.HistogramSnapshot; +import io.prometheus.metrics.model.snapshots.MetricSnapshots; +import io.prometheus.metrics.model.snapshots.NativeHistogramBuckets; import java.io.IOException; import java.net.URI; import java.util.List; @@ -31,4 +36,33 @@ void testPrometheusProtobufFormat() throws IOException { .findFirst(); assertThat(metric).isPresent(); } + + @Test + void testPrometheusProtobufDebugFormat() throws IOException { + HistogramSnapshot histogram = + HistogramSnapshot.builder() + .name("native_debug_repro_seconds") + .help("native debug repro") + .dataPoint( + HistogramSnapshot.HistogramDataPointSnapshot.builder() + .sum(0.123) + .nativeSchema(5) + .nativeZeroThreshold(2.938735877055719E-39) + .nativeZeroCount(0) + .nativeBucketsForPositiveValues( + NativeHistogramBuckets.builder().bucket(-96, 1).build()) + .build()) + .build(); + + String debugString = + new PrometheusProtobufWriterImpl() + .toDebugString(MetricSnapshots.of(histogram), EscapingScheme.UNDERSCORE_ESCAPING); + + assertThat(debugString) + .contains( + "name: \"native_debug_repro_seconds\"", + "type: HISTOGRAM", + "schema: 5", + "positive_span"); + } } diff --git a/mise.lock b/mise.lock index 3c6ed01a1..1d97e7a7f 100644 --- a/mise.lock +++ b/mise.lock @@ -7,71 +7,83 @@ backend = "aqua:rhysd/actionlint" [tools.actionlint."platforms.linux-arm64"] checksum = "sha256:325e971b6ba9bfa504672e29be93c24981eeb1c07576d730e9f7c8805afff0c6" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924897" provenance = "github-attestations" [tools.actionlint."platforms.linux-arm64-musl"] checksum = "sha256:325e971b6ba9bfa504672e29be93c24981eeb1c07576d730e9f7c8805afff0c6" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924897" provenance = "github-attestations" [tools.actionlint."platforms.linux-x64"] checksum = "sha256:8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924896" provenance = "github-attestations" [tools.actionlint."platforms.linux-x64-musl"] checksum = "sha256:8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924896" provenance = "github-attestations" [tools.actionlint."platforms.macos-arm64"] checksum = "sha256:aba9ced2dee8d27fecca3dc7feb1a7f9a52caefa1eb46f3271ea66b6e0e6953f" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_darwin_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924893" provenance = "github-attestations" [tools.actionlint."platforms.macos-x64"] checksum = "sha256:5b44c3bc2255115c9b69e30efc0fecdf498fdb63c5d58e17084fd5f16324c644" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_darwin_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924880" provenance = "github-attestations" [tools.actionlint."platforms.windows-x64"] checksum = "sha256:6e7241b51e6817ea6a047693d8e6fed13b31819c9a0dd6c5a726e1592d22f6e9" url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_windows_amd64.zip" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924919" provenance = "github-attestations" [[tools."aqua:grafana/flint"]] -version = "0.22.5" +version = "0.22.7" backend = "aqua:grafana/flint" [tools."aqua:grafana/flint"."platforms.linux-arm64"] -checksum = "sha256:65689b4bd6d021f34e2c599e8eeedd50464b09cef3f6203c5494b5af42cb4ff6" -url = "https://github.com/grafana/flint/releases/download/v0.22.5/flint-aarch64-unknown-linux-gnu.tar.gz" +checksum = "sha256:a9dc15057dee4a896b0015c5574a330865b5f031f9b67e64a50c342f04d70de1" +url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-aarch64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469225119" provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.linux-arm64-musl"] provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.linux-x64"] -checksum = "sha256:4f44e7546c82288327e78a6529e88f312bf005b6dbecd30c9e0b3aa54ecb84c3" -url = "https://github.com/grafana/flint/releases/download/v0.22.5/flint-x86_64-unknown-linux-gnu.tar.gz" +checksum = "sha256:9a0fdec27fa1d101b139e73ba73c4837210a8659903e0a3fefb83b7fadb60048" +url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-x86_64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469224671" provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.linux-x64-musl"] provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.macos-arm64"] -checksum = "sha256:76bcd4a3229784988e288ef083540b49d9c965afa6613ec548b2d51ffd5d0ab8" -url = "https://github.com/grafana/flint/releases/download/v0.22.5/flint-aarch64-apple-darwin.tar.gz" +checksum = "sha256:e3a7df200923fc22d34df5e67caebe949a6f7fa9a4ebaf3afd51f3c92bc85f63" +url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469225067" provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.macos-x64"] -checksum = "sha256:d4045aeef258f80aea9ba5a8ee880db95473d3eb75606c1d3a3fbeb0d2b3c052" -url = "https://github.com/grafana/flint/releases/download/v0.22.5/flint-x86_64-apple-darwin.tar.gz" +checksum = "sha256:79c85a3abd9cbec8c1d2844cf0c5d2c2da1857278149df38d8075e48775bef34" +url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469226207" provenance = "github-attestations" [tools."aqua:grafana/flint"."platforms.windows-x64"] -checksum = "sha256:d6b9915500850c9657da2233ecd0f4d35a57e062393d45d24ec1bed7f9c3b50a" -url = "https://github.com/grafana/flint/releases/download/v0.22.5/flint-x86_64-pc-windows-msvc.zip" +checksum = "sha256:a42a94ba2b7035d1d21f5ba34b64093c2e7c9c2af2b151adab113c787e6c0220" +url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469229804" provenance = "github-attestations" [[tools."aqua:jonwiggins/xmloxide"]] @@ -81,135 +93,162 @@ backend = "aqua:jonwiggins/xmloxide" [tools."aqua:jonwiggins/xmloxide"."platforms.linux-arm64"] checksum = "sha256:abb840c558fdc94b4c1eddb1e4a3901d6c8129dcb76f387428dc2b30a7364967" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_linux-aarch64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587060" [tools."aqua:jonwiggins/xmloxide"."platforms.linux-arm64-musl"] checksum = "sha256:abb840c558fdc94b4c1eddb1e4a3901d6c8129dcb76f387428dc2b30a7364967" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_linux-aarch64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587060" [tools."aqua:jonwiggins/xmloxide"."platforms.linux-x64"] checksum = "sha256:46ccd30ff3a242b3d01ab72366cc3b6762882be604ebceaa32123a40d0af2dfc" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_linux-x86-64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587058" [tools."aqua:jonwiggins/xmloxide"."platforms.linux-x64-musl"] checksum = "sha256:46ccd30ff3a242b3d01ab72366cc3b6762882be604ebceaa32123a40d0af2dfc" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_linux-x86-64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587058" [tools."aqua:jonwiggins/xmloxide"."platforms.macos-arm64"] checksum = "sha256:6a2cb055e63ae97d75cd346c34138a9e31626e1dfc0983006c422c203b5cc288" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_darwin-aarch64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587063" [tools."aqua:jonwiggins/xmloxide"."platforms.macos-x64"] checksum = "sha256:e83cbba88862d009405b5ce9e48025ff84b683a39a0832dde2db5395cb54734f" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_darwin-x86-64" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587061" [tools."aqua:jonwiggins/xmloxide"."platforms.windows-x64"] checksum = "sha256:22872cad20b8ce8ccab28c42ce17acc9aa64b82cbad7d130ee74196cd74cd414" url = "https://github.com/jonwiggins/xmloxide/releases/download/v0.4.3/xmllint_windows-x86-64.exe" +url_api = "https://api.github.com/repos/jonwiggins/xmloxide/releases/assets/411587062" [[tools."aqua:owenlamont/ryl"]] -version = "0.18.1" +version = "0.21.0" backend = "aqua:owenlamont/ryl" [tools."aqua:owenlamont/ryl"."platforms.linux-arm64"] -checksum = "sha256:145987f79f6ae4063530671549adf6d77fae74aab1fcfc6289e74e9775441dcf" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:134dfccd5dd7fd13092dbaf482e14e1e9c2b238ecf4306ac020b036212f85abc" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375977" provenance = "github-attestations" [tools."aqua:owenlamont/ryl"."platforms.linux-arm64-musl"] -checksum = "sha256:145987f79f6ae4063530671549adf6d77fae74aab1fcfc6289e74e9775441dcf" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:134dfccd5dd7fd13092dbaf482e14e1e9c2b238ecf4306ac020b036212f85abc" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375977" provenance = "github-attestations" [tools."aqua:owenlamont/ryl"."platforms.linux-x64"] -checksum = "sha256:4ec8bd26035d2030dcdf3869f2a4bf7f75076aadbeebb27e59410290d2873bab" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:36867148c4e7415b5f8dd24a1c4e3212e8ec016a6a16d1d1e0d16d7c2f641214" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375995" provenance = "github-attestations" [tools."aqua:owenlamont/ryl"."platforms.linux-x64-musl"] -checksum = "sha256:4ec8bd26035d2030dcdf3869f2a4bf7f75076aadbeebb27e59410290d2873bab" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:36867148c4e7415b5f8dd24a1c4e3212e8ec016a6a16d1d1e0d16d7c2f641214" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375995" provenance = "github-attestations" [tools."aqua:owenlamont/ryl"."platforms.macos-arm64"] -checksum = "sha256:526486a1642c4a79438e9e8e69c4e829904024138931f9f7415a78aaed336952" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-aarch64-apple-darwin.tar.gz" +checksum = "sha256:ed5e23a5634f138aac5c2c15e72975f0f485f694582ef6874625e38460b0c3b4" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375976" provenance = "github-attestations" [tools."aqua:owenlamont/ryl"."platforms.windows-x64"] -checksum = "sha256:1a45f217c38e303cfe437da39716259545a105f808be4ac9798e3d91413ec41c" -url = "https://github.com/owenlamont/ryl/releases/download/v0.18.1/ryl-x86_64-pc-windows-msvc.zip" +checksum = "sha256:7522a1fde12775ad43b74e154a6abe3affb676bb52d719ac9e7eb6980bda856d" +url = "https://github.com/owenlamont/ryl/releases/download/v0.21.0/ryl-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/454375990" provenance = "github-attestations" [[tools.biome]] -version = "2.5.0" +version = "2.5.3" backend = "aqua:biomejs/biome" [tools.biome."platforms.linux-arm64"] -checksum = "sha256:27c9bc5994dfb5711f5f09a4c3c35749ca9c4a898a063bb062e6b932dbc2571d" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-linux-arm64" +checksum = "sha256:b642ded43aebcad738926b40eefd4dc2187a206d1fbfb37a45f1db4986804dbd" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-linux-arm64" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058837" provenance = "github-attestations" [tools.biome."platforms.linux-arm64-musl"] -checksum = "sha256:fb6b47765cdc5bf4e5af9fdf18c17aa1306c8eb7f227a36d6580d67472a77dbb" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-linux-arm64-musl" +checksum = "sha256:1a69ea4eb55baaec0bedd7d6ada3b1e626e2b430ecfc9a8f1b90373ca78aeb70" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-linux-arm64-musl" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058836" provenance = "github-attestations" [tools.biome."platforms.linux-x64"] -checksum = "sha256:e7df298f0551dd90bea4425779369aa3130d9817f4acc4f663ef63c327206a19" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-linux-x64" +checksum = "sha256:ab8e74af2366127306e250652d2f32bd193601f208fcd0604112080c0ca3245b" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-linux-x64" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058832" provenance = "github-attestations" [tools.biome."platforms.linux-x64-musl"] -checksum = "sha256:16620d56fd50c5b3dc689a80611a2b58dd22a55918894b2520b534da877d2e66" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-linux-x64-musl" +checksum = "sha256:03cf125720b1d791093c9c68be34875d08638c314b3e1e63db1a45f2b418b1ca" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-linux-x64-musl" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058833" provenance = "github-attestations" [tools.biome."platforms.macos-arm64"] -checksum = "sha256:9b9e04f749db6b037b0ad38ba0c5cce63b185a7cc3b049e577dad3c18f4adb2c" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-darwin-arm64" +checksum = "sha256:610d3e1e770d373368d4ccee5a19c5e1735b0235024fcbed6ae07eb080d3bb09" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-darwin-arm64" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058834" provenance = "github-attestations" [tools.biome."platforms.macos-x64"] -checksum = "sha256:0c7002cc808eebabe7852c8417b9deb1a5615342e6881c588b49367c6c56db8c" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-darwin-x64" +checksum = "sha256:4df90556830ed35e6238e4b976b942d369a5378447c8d68b260b7a38e08b26f9" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-darwin-x64" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058835" provenance = "github-attestations" [tools.biome."platforms.windows-x64"] -checksum = "sha256:84d4e71fdbb4b15b1aa83c1b1cc033aae9856d48a7a857c1381b1bd499430f7c" -url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.0/biome-win32-x64.exe" +checksum = "sha256:04c9ca46af43a0d060b22b21f94c7e1a9e8c57963a09778b8ff1d808ed536b31" +url = "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.5.3/biome-win32-x64.exe" +url_api = "https://api.github.com/repos/biomejs/biome/releases/assets/470058831" provenance = "github-attestations" [[tools.editorconfig-checker]] -version = "3.7.0" +version = "3.8.0" backend = "aqua:editorconfig-checker/editorconfig-checker" [tools.editorconfig-checker."platforms.linux-arm64"] -checksum = "sha256:e978f3f0940469989930311af8e101dd9ce8c2ee4da69264f3d76a3787e961ad" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-linux-arm64.tar.gz" +checksum = "sha256:5676889ac4eed1036180ffbe2aeb2062d985ac50f7e6035fe61160c6b8be2c33" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248498" [tools.editorconfig-checker."platforms.linux-arm64-musl"] -checksum = "sha256:e978f3f0940469989930311af8e101dd9ce8c2ee4da69264f3d76a3787e961ad" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-linux-arm64.tar.gz" +checksum = "sha256:5676889ac4eed1036180ffbe2aeb2062d985ac50f7e6035fe61160c6b8be2c33" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248498" [tools.editorconfig-checker."platforms.linux-x64"] -checksum = "sha256:9a0c3a5170bffa24f9e5f0def53d285777b6c5284a95367f40d399d0b76af552" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-linux-amd64.tar.gz" +checksum = "sha256:613bd88f34165a334adcb6b7e92a123c9de0eada65846d31af63613b779ff3be" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248510" [tools.editorconfig-checker."platforms.linux-x64-musl"] -checksum = "sha256:9a0c3a5170bffa24f9e5f0def53d285777b6c5284a95367f40d399d0b76af552" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-linux-amd64.tar.gz" +checksum = "sha256:613bd88f34165a334adcb6b7e92a123c9de0eada65846d31af63613b779ff3be" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248510" [tools.editorconfig-checker."platforms.macos-arm64"] -checksum = "sha256:727e6ef506c6fbe7719cc29c69b495715b64514a00059f3f179077bfad0580e5" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-darwin-arm64.tar.gz" +checksum = "sha256:73bbb23c24b94c9e61d7ed3694cc313943c59e5e8bc5bee9f186a997a45eb046" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-darwin-arm64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248516" [tools.editorconfig-checker."platforms.macos-x64"] -checksum = "sha256:6cd2e4aa2a374d391e3baeaae43fc28906fd15b09490f5669eee206a63eef00a" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-darwin-amd64.tar.gz" +checksum = "sha256:ee0d45c94b9808a5aa15e08f94333a81842b456f511f29f71a8fe589b82d72a1" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-darwin-amd64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248506" [tools.editorconfig-checker."platforms.windows-x64"] -checksum = "sha256:9c6b8a4cd7ccc5826ab96d34c460f37ab18b9cb50607d3ee9eb743fc47335da7" -url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.7.0/ec-windows-amd64.zip" +checksum = "sha256:7ec31e1a6a9983aa2a4942cb66dfd35e8b61e76263460413988438ae1426906a" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v3.8.0/ec-windows-amd64.zip" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248513" [[tools."go:github.com/grafana/oats"]] version = "v0.7.1-0.20260722080634-db417e9ee743" @@ -222,58 +261,71 @@ backend = "aqua:google/google-java-format" [tools.google-java-format."platforms.linux-arm64"] checksum = "sha256:a69b2e85deb681f3eae4c946b948908e162e76ef27d752fa31830866dd7aa764" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_linux-arm64" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365933462" [tools.google-java-format."platforms.linux-arm64-musl"] checksum = "sha256:a69b2e85deb681f3eae4c946b948908e162e76ef27d752fa31830866dd7aa764" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_linux-arm64" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365933462" [tools.google-java-format."platforms.linux-x64"] checksum = "sha256:e0f95ad6d26b8fbd5b1e3fd3014f8306c4eb3b29d2a6b15fab62d0a364629437" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_linux-x86-64" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365933717" [tools.google-java-format."platforms.linux-x64-musl"] checksum = "sha256:e0f95ad6d26b8fbd5b1e3fd3014f8306c4eb3b29d2a6b15fab62d0a364629437" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_linux-x86-64" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365933717" [tools.google-java-format."platforms.macos-arm64"] checksum = "sha256:563f066c324687885b5f4039325f8952fbb9aaf3d67c68e0b2eafccc8069d3b8" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_darwin-arm64" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365933286" [tools.google-java-format."platforms.windows-x64"] checksum = "sha256:2451e70f7805ce51dc026c0ca6b76b689b20c99c5e5769412ae5235f59f3a427" url = "https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format_windows-x86-64.exe" +url_api = "https://api.github.com/repos/google/google-java-format/releases/assets/365934498" [[tools.hugo]] -version = "0.163.3" +version = "0.164.0" backend = "aqua:gohugoio/hugo" [tools.hugo."platforms.linux-arm64"] -checksum = "sha256:a4185cf0308ff3a61a2828563f70f476fcef30d02e9b00fb562eb1bd085195a5" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-arm64.tar.gz" +checksum = "sha256:948ee5f0ed30175f31937d592d63a2712f0761a69f1cbe812f780eb918a08b8e" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320173" [tools.hugo."platforms.linux-arm64-musl"] -checksum = "sha256:a4185cf0308ff3a61a2828563f70f476fcef30d02e9b00fb562eb1bd085195a5" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-arm64.tar.gz" +checksum = "sha256:948ee5f0ed30175f31937d592d63a2712f0761a69f1cbe812f780eb918a08b8e" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320173" [tools.hugo."platforms.linux-x64"] -checksum = "sha256:ec422258f9a4ffc241de8707297e32311cd86fcc9b2813632617ff4d44935d91" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-amd64.tar.gz" +checksum = "sha256:d9c8b17285ea4ec004d9f814273ea910f2051ce02c284993fd1f91ba455ae50d" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320170" [tools.hugo."platforms.linux-x64-musl"] -checksum = "sha256:ec422258f9a4ffc241de8707297e32311cd86fcc9b2813632617ff4d44935d91" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_linux-amd64.tar.gz" +checksum = "sha256:d9c8b17285ea4ec004d9f814273ea910f2051ce02c284993fd1f91ba455ae50d" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320170" [tools.hugo."platforms.macos-arm64"] -checksum = "sha256:a59f749a6dbf613da9ec9c51ab670add0ca72b7eed6590bbff779a6fd6b70f0c" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_darwin-universal.pkg" +checksum = "sha256:c994e2cc6946838bb76521039509a7ce71282827e7035e344b6c225a83a5d0d3" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_darwin-universal.pkg" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320272" [tools.hugo."platforms.macos-x64"] -checksum = "sha256:a59f749a6dbf613da9ec9c51ab670add0ca72b7eed6590bbff779a6fd6b70f0c" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_darwin-universal.pkg" +checksum = "sha256:c994e2cc6946838bb76521039509a7ce71282827e7035e344b6c225a83a5d0d3" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_darwin-universal.pkg" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320272" [tools.hugo."platforms.windows-x64"] -checksum = "sha256:f330476374b604d3bc0e33a929ff476e9623bc62938f16846e832620545cd705" -url = "https://github.com/gohugoio/hugo/releases/download/v0.163.3/hugo_0.163.3_windows-amd64.zip" +checksum = "sha256:dadf3499d4c6a27f6bc9d56d5a992ba62d82a74a3771fcc165c364ec1eeaac1c" +url = "https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_0.164.0_windows-amd64.zip" +url_api = "https://api.github.com/repos/gohugoio/hugo/releases/assets/468320283" [[tools.java]] version = "temurin-25.0.3+9.0.LTS" @@ -314,175 +366,203 @@ backend = "aqua:lycheeverse/lychee" [tools.lychee."platforms.linux-arm64"] checksum = "sha256:5d0b0e3aeab240f41920c633a6eaf97599be6eedda034b36e858ede7dba5e535" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409958602" [tools.lychee."platforms.linux-arm64-musl"] checksum = "sha256:5d0b0e3aeab240f41920c633a6eaf97599be6eedda034b36e858ede7dba5e535" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409958602" [tools.lychee."platforms.linux-x64"] checksum = "sha256:73657a111819a30c47c08352896796f23d64e4eb2b3ed39b6d32149241566fc5" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959271" [tools.lychee."platforms.linux-x64-musl"] checksum = "sha256:73657a111819a30c47c08352896796f23d64e4eb2b3ed39b6d32149241566fc5" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959271" [tools.lychee."platforms.macos-arm64"] checksum = "sha256:c9d3740ea2d891854d37116c9fba840f37b6e7c89d330e7db84ac333631c4977" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409957951" [tools.lychee."platforms.macos-x64"] checksum = "sha256:887503a9cff667d322b8d0892b40bf49976eb9507af8483220a3706cdad55978" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409957687" [tools.lychee."platforms.windows-x64"] checksum = "sha256:32975d1493ee1a975d6bb41e4fb56fe419cb442ded628bb772ba2e614acfacad" url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959491" [[tools.node]] -version = "24.17.0" +version = "24.18.0" backend = "core:node" [tools.node."platforms.linux-arm64"] -checksum = "sha256:faa0d59ba7fe7045c950ed09b190578fb8eee73e4358686d38fcc99ca58c1480" -url = "https://nodejs.org/dist/v24.17.0/node-v24.17.0-linux-arm64.tar.gz" +checksum = "sha256:6b4484c2190274175df9aa8f28e2d758a819cb1c1fe6ab481e2f95b463ab8508" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-linux-arm64.tar.gz" [tools.node."platforms.linux-arm64-musl"] -checksum = "sha256:cc54f73a1a4108d9e325eb201d90b25eeab60edc92b2a13240b2877a74c596da" -url = "https://unofficial-builds.nodejs.org/download/release/v24.17.0/node-v24.17.0-linux-arm64-musl.tar.gz" +checksum = "sha256:b1c6c2dc31b46dd8fb2322f4fe75b07e775c5120bc37251deeea28f529d4567b" +url = "https://unofficial-builds.nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-arm64-musl.tar.gz" [tools.node."platforms.linux-x64"] -checksum = "sha256:e0472427aa791ad80bdc426ff7cc73cdd28ed0f616d1ff9689a23a7f47f1265f" -url = "https://nodejs.org/dist/v24.17.0/node-v24.17.0-linux-x64.tar.gz" +checksum = "sha256:783130984963db7ba9cbd01089eaf2c2efb055c7c1693c943174b967b3050cb8" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-linux-x64.tar.gz" [tools.node."platforms.linux-x64-musl"] -checksum = "sha256:f884c958c0652f7cd0ea43fdc39dddd1a98456ea9b1adeca85964847e2e39fb0" -url = "https://unofficial-builds.nodejs.org/download/release/v24.17.0/node-v24.17.0-linux-x64-musl.tar.gz" +checksum = "sha256:ea58409911e141ec6b19d9178efa2d9185a13295005b1cbf5521b3157eed1d95" +url = "https://unofficial-builds.nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-x64-musl.tar.gz" [tools.node."platforms.macos-arm64"] -checksum = "sha256:4fc3266a3702eebc39cc37661cf4eeceeade307e242ab64e4d7ce7949197e11f" -url = "https://nodejs.org/dist/v24.17.0/node-v24.17.0-darwin-arm64.tar.gz" +checksum = "sha256:e1a97e14c99c803e96c7339403282ea05a499c32f8d83defe9ef5ec66f979ed1" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-darwin-arm64.tar.gz" [tools.node."platforms.macos-x64"] -checksum = "sha256:80da552fe037290cb130e9dea590f5eeeb7aa450636f0c89ab41415511c1ec27" -url = "https://nodejs.org/dist/v24.17.0/node-v24.17.0-darwin-x64.tar.gz" +checksum = "sha256:dfd0dbd3e721503434df7b7205e719f61b3a3a31b2bcf9729b8b91fea240f080" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-darwin-x64.tar.gz" [tools.node."platforms.windows-x64"] -checksum = "sha256:f2aa33b35b75aca5f3f7b85675a6f6423201053e9381911e64961f3bda2528ab" -url = "https://nodejs.org/dist/v24.17.0/node-v24.17.0-win-x64.zip" +checksum = "sha256:0ae68406b42d7725661da979b1403ec9926da205c6770827f33aac9d8f26e821" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-win-x64.zip" [[tools."npm:renovate"]] -version = "43.220.0" +version = "43.257.4" backend = "npm:renovate" [[tools.protoc]] -version = "35.0" +version = "35.1" backend = "aqua:protocolbuffers/protobuf/protoc" [tools.protoc."platforms.linux-arm64"] -checksum = "sha256:36b518ac14d90351cc6598228ed2bbe5afe4e357b1af470b07e0ec1609875de2" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-linux-aarch_64.zip" +checksum = "sha256:01bf9d08808c7f96678b63f4bd8efa559bb4f83d5a7a270d5edaf507f9d5d9cf" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-linux-aarch_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060236" [tools.protoc."platforms.linux-arm64-musl"] -checksum = "sha256:36b518ac14d90351cc6598228ed2bbe5afe4e357b1af470b07e0ec1609875de2" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-linux-aarch_64.zip" +checksum = "sha256:01bf9d08808c7f96678b63f4bd8efa559bb4f83d5a7a270d5edaf507f9d5d9cf" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-linux-aarch_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060236" [tools.protoc."platforms.linux-x64"] -checksum = "sha256:a45cda0989c17dd950db55f6fbe1e5814c50fda08e87aa422980ac1f89dddbbc" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-linux-x86_64.zip" +checksum = "sha256:6930ebf62bd4ea607b98fff052596c6ee564b9835b4ce172c75a3f53ae9d91b7" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-linux-x86_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060247" [tools.protoc."platforms.linux-x64-musl"] -checksum = "sha256:a45cda0989c17dd950db55f6fbe1e5814c50fda08e87aa422980ac1f89dddbbc" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-linux-x86_64.zip" +checksum = "sha256:6930ebf62bd4ea607b98fff052596c6ee564b9835b4ce172c75a3f53ae9d91b7" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-linux-x86_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060247" [tools.protoc."platforms.macos-arm64"] -checksum = "sha256:45444963204757fd3e2fbe304bc1fdadfb488d8556ff099c4cc06575eab88976" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-osx-aarch_64.zip" +checksum = "sha256:193289af0470c6a1aada357d4fba0bbf8d78bfaac8b5e42ca30af2ef75583de2" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-osx-aarch_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060249" [tools.protoc."platforms.macos-x64"] -checksum = "sha256:3580c2d115fccb5b0239960c8f70f8da14787b1973a46b2f39c315ad71c11e01" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-osx-x86_64.zip" +checksum = "sha256:537d73604a344ded6fc94e98e07e529d4fe3e4a0b09e59905353950fafc2a1f7" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-osx-x86_64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060254" [tools.protoc."platforms.windows-x64"] -checksum = "sha256:d1cede9e308cc3eb072392af1c02ccae4bdd3d2f374ec2970dbd8cdfdaa91363" -url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.0/protoc-35.0-win64.zip" +checksum = "sha256:5d3ff218d7d91eea95f7569bcb5a98f3030f8996d44151279d9772edcff76082" +url = "https://github.com/protocolbuffers/protobuf/releases/download/v35.1/protoc-35.1-win64.zip" +url_api = "https://api.github.com/repos/protocolbuffers/protobuf/releases/assets/445060259" [[tools.ruff]] -version = "0.15.17" +version = "0.15.21" backend = "aqua:astral-sh/ruff" [tools.ruff."platforms.linux-arm64"] -checksum = "sha256:211d610dd81ef472d3b1404b28eaa19a62cb41ab9374584847307b97821a4ab8" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:2ec7c0077431f96f74c3c72aea6505e902bc2ff47127653c8de1389ee30a3cb3" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700003" provenance = "github-attestations" [tools.ruff."platforms.linux-arm64-musl"] -checksum = "sha256:211d610dd81ef472d3b1404b28eaa19a62cb41ab9374584847307b97821a4ab8" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:2ec7c0077431f96f74c3c72aea6505e902bc2ff47127653c8de1389ee30a3cb3" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700003" provenance = "github-attestations" [tools.ruff."platforms.linux-x64"] -checksum = "sha256:cbf85fc152b7fc25cb27f0233b325e9c72cb26965152050164e7608b72515189" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:7e157ff9a2e13676118c587e6db0ec02d040e415b21014346d230e64789c0e78" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700081" provenance = "github-attestations" [tools.ruff."platforms.linux-x64-musl"] -checksum = "sha256:cbf85fc152b7fc25cb27f0233b325e9c72cb26965152050164e7608b72515189" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:7e157ff9a2e13676118c587e6db0ec02d040e415b21014346d230e64789c0e78" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700081" provenance = "github-attestations" [tools.ruff."platforms.macos-arm64"] -checksum = "sha256:81f372886fb7a0056949356c615fa689a091cf79b0b54ed914c810cdbc6d85e9" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-aarch64-apple-darwin.tar.gz" +checksum = "sha256:0452f9d5da6e8051d332cf21ae82a608d8e2cfeec5a71a46ffa9e50adbb2381d" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471699864" provenance = "github-attestations" [tools.ruff."platforms.macos-x64"] -checksum = "sha256:5522e517bd67ee8c2cb0d6a8298388d8edc8621a0bc5dc773f65e06c953693f6" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-x86_64-apple-darwin.tar.gz" +checksum = "sha256:7e6ff3bd585b5b7c47634c957ac84fb5806d3c7ab4ef0e5ec1c53ce272f489da" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700061" provenance = "github-attestations" [tools.ruff."platforms.windows-x64"] -checksum = "sha256:08b6cb2bd20f3d19e3cf6e768d8d8105c8337de1c52e90c7dc1deea483d68c86" -url = "https://github.com/astral-sh/ruff/releases/download/0.15.17/ruff-x86_64-pc-windows-msvc.zip" +checksum = "sha256:035c59abfd7bd1102e0b656f5771e6ae7a712a45ef54b5ab575541c7ff7d1eb0" +url = "https://github.com/astral-sh/ruff/releases/download/0.15.21/ruff-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/astral-sh/ruff/releases/assets/471700068" provenance = "github-attestations" [[tools.rumdl]] -version = "v0.2.17" +version = "v0.2.31" backend = "aqua:rvben/rumdl" [tools.rumdl."platforms.linux-arm64"] -checksum = "sha256:373126181bd8da7a1571d8ab5a6a2f917122f803a419588007b8cc463dec8539" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:d5aa4ac3f94de9b6508021f70d78be592c6dc8b67ea499c6e203c1e3daf044b0" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381480" provenance = "github-attestations" [tools.rumdl."platforms.linux-arm64-musl"] -checksum = "sha256:373126181bd8da7a1571d8ab5a6a2f917122f803a419588007b8cc463dec8539" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:d5aa4ac3f94de9b6508021f70d78be592c6dc8b67ea499c6e203c1e3daf044b0" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381480" provenance = "github-attestations" [tools.rumdl."platforms.linux-x64"] -checksum = "sha256:8629b7e34fd722910b5412347ab22890a8c4c5740caa13660ea30ab7aeb85f53" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:5550f7954457248c6e29715b69d4ec2e9394613de51f98b50fa81f197a29af92" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381477" provenance = "github-attestations" [tools.rumdl."platforms.linux-x64-musl"] -checksum = "sha256:8629b7e34fd722910b5412347ab22890a8c4c5740caa13660ea30ab7aeb85f53" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:5550f7954457248c6e29715b69d4ec2e9394613de51f98b50fa81f197a29af92" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381477" provenance = "github-attestations" [tools.rumdl."platforms.macos-arm64"] -checksum = "sha256:b458250418ac87d32031cd7bfcbb9daed085a325390995aa8253467797c97443" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-aarch64-apple-darwin.tar.gz" +checksum = "sha256:368a02639247be530043abc36c40310090c09ef69b32f5744f9a0d9cc2673be5" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381484" provenance = "github-attestations" [tools.rumdl."platforms.macos-x64"] -checksum = "sha256:b30dd76a93c2b06330b65a75e533a34447762ca1407876e577e606b3fee1ea74" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-x86_64-apple-darwin.tar.gz" +checksum = "sha256:bc8933e04b5c83b8b14c21793c7f7902bc8b1a841bb1f1964c5f177b3cf7d05f" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381479" provenance = "github-attestations" [tools.rumdl."platforms.windows-x64"] -checksum = "sha256:050bdfdb465f48b78f7f4310694fc38352ce10d08884ccaaa88d901ba2c72884" -url = "https://github.com/rvben/rumdl/releases/download/v0.2.17/rumdl-v0.2.17-x86_64-pc-windows-msvc.zip" +checksum = "sha256:f8a4b2abf774301fd4ffd04f56e12fb0b2bf4357b28c63ec355405d57f0cfe88" +url = "https://github.com/rvben/rumdl/releases/download/v0.2.31/rumdl-v0.2.31-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/rvben/rumdl/releases/assets/474381488" provenance = "github-attestations" [[tools.shellcheck]] @@ -492,30 +572,37 @@ backend = "aqua:koalaman/shellcheck" [tools.shellcheck."platforms.linux-arm64"] checksum = "sha256:12b331c1d2db6b9eb13cfca64306b1b157a86eb69db83023e261eaa7e7c14588" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056934" [tools.shellcheck."platforms.linux-arm64-musl"] checksum = "sha256:12b331c1d2db6b9eb13cfca64306b1b157a86eb69db83023e261eaa7e7c14588" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056934" [tools.shellcheck."platforms.linux-x64"] checksum = "sha256:8c3be12b05d5c177a04c29e3c78ce89ac86f1595681cab149b65b97c4e227198" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056942" [tools.shellcheck."platforms.linux-x64-musl"] checksum = "sha256:8c3be12b05d5c177a04c29e3c78ce89ac86f1595681cab149b65b97c4e227198" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056942" [tools.shellcheck."platforms.macos-arm64"] checksum = "sha256:56affdd8de5527894dca6dc3d7e0a99a873b0f004d7aabc30ae407d3f48b0a79" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.darwin.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056932" [tools.shellcheck."platforms.macos-x64"] checksum = "sha256:3c89db4edcab7cf1c27bff178882e0f6f27f7afdf54e859fa041fca10febe4c6" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.darwin.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056930" [tools.shellcheck."platforms.windows-x64"] checksum = "sha256:8a4e35ab0b331c85d73567b12f2a444df187f483e5079ceffa6bda1faa2e740e" url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.zip" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056944" [[tools.shfmt]] version = "3.13.1" @@ -524,30 +611,37 @@ backend = "aqua:mvdan/sh" [tools.shfmt."platforms.linux-arm64"] checksum = "sha256:32d92acaa5cd8abb29fc49dac123dc412442d5713967819d8af2c29f1b3857c7" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_linux_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322859" [tools.shfmt."platforms.linux-arm64-musl"] checksum = "sha256:32d92acaa5cd8abb29fc49dac123dc412442d5713967819d8af2c29f1b3857c7" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_linux_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322859" [tools.shfmt."platforms.linux-x64"] checksum = "sha256:fb096c5d1ac6beabbdbaa2874d025badb03ee07929f0c9ff67563ce8c75398b1" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_linux_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322866" [tools.shfmt."platforms.linux-x64-musl"] checksum = "sha256:fb096c5d1ac6beabbdbaa2874d025badb03ee07929f0c9ff67563ce8c75398b1" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_linux_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322866" [tools.shfmt."platforms.macos-arm64"] checksum = "sha256:9680526be4a66ea1ffe988ed08af58e1400fe1e4f4aef5bd88b20bb9b3da33f8" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_darwin_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322881" [tools.shfmt."platforms.macos-x64"] checksum = "sha256:6feedafc72915794163114f512348e2437d080d0047ef8b8fa2ec63b575f12af" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_darwin_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322886" [tools.shfmt."platforms.windows-x64"] checksum = "sha256:60cd368533d0ad73fa86d93d5bbf95ef40587245ce684ed138c1b31557b5fe97" url = "https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_windows_amd64.exe" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/390322844" [[tools.taplo]] version = "0.10.0" @@ -555,88 +649,107 @@ backend = "aqua:tamasfe/taplo" [tools.taplo."platforms.linux-arm64"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-aarch64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257322597" [tools.taplo."platforms.linux-arm64-musl"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-aarch64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257322597" [tools.taplo."platforms.linux-x64"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-x86_64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257322600" [tools.taplo."platforms.linux-x64-musl"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-linux-x86_64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257322600" [tools.taplo."platforms.macos-arm64"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-darwin-aarch64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257323110" [tools.taplo."platforms.macos-x64"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-darwin-x86_64.gz" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257323116" [tools.taplo."platforms.windows-x64"] url = "https://github.com/tamasfe/taplo/releases/download/0.10.0/taplo-windows-x86_64.zip" +url_api = "https://api.github.com/repos/tamasfe/taplo/releases/assets/257323062" [[tools.typos]] -version = "1.47.2" +version = "1.48.0" backend = "aqua:crate-ci/typos" [tools.typos."platforms.linux-arm64"] -checksum = "sha256:596d5c6b9ecf34307f68bea649178c5b45a4398fe3a1fcef9598e85aa2ccb742" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:2960ae07bc1ffe19e4895e4359394dd349c9c31de78aac3a124b6e4aeb206698" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462429655" [tools.typos."platforms.linux-arm64-musl"] -checksum = "sha256:596d5c6b9ecf34307f68bea649178c5b45a4398fe3a1fcef9598e85aa2ccb742" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-aarch64-unknown-linux-musl.tar.gz" +checksum = "sha256:2960ae07bc1ffe19e4895e4359394dd349c9c31de78aac3a124b6e4aeb206698" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462429655" [tools.typos."platforms.linux-x64"] -checksum = "sha256:7aef58932fc123b4cf4b40d86468e89a3297d80169051d7cfd13a235e05fc426" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:72a930c9a94fc3914aa56835c5b859c892a797d40c1c42638b98d93f16ff519c" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462429902" [tools.typos."platforms.linux-x64-musl"] -checksum = "sha256:7aef58932fc123b4cf4b40d86468e89a3297d80169051d7cfd13a235e05fc426" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-x86_64-unknown-linux-musl.tar.gz" +checksum = "sha256:72a930c9a94fc3914aa56835c5b859c892a797d40c1c42638b98d93f16ff519c" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462429902" [tools.typos."platforms.macos-arm64"] -checksum = "sha256:23ca24a9186b5cb395b5f6c8eea8cdb02911c8980833e016454b56e90c3bd474" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-aarch64-apple-darwin.tar.gz" +checksum = "sha256:7dcaf386ec255995dcbaf629641f961574b7e8785203921115eab75cbf1ca107" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462430254" [tools.typos."platforms.macos-x64"] -checksum = "sha256:469a2d9fc894b0cdcec6e4fa3719b4c4638e195feee6517d4845450f8e8985c6" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-x86_64-apple-darwin.tar.gz" +checksum = "sha256:f4335c255db3d57374484e0e96505c8910c0e2fa6d8813b15de529c98f93b1a9" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462431306" [tools.typos."platforms.windows-x64"] -checksum = "sha256:f4a12400c48cc08e7f5435b64d0ecb08c54091b97c3ccabf6cea178d0969ca1f" -url = "https://github.com/crate-ci/typos/releases/download/v1.47.2/typos-v1.47.2-x86_64-pc-windows-msvc.zip" +checksum = "sha256:ce018a2352da7c1b23bd2684019ee279d2080dc063087020e80c1247d11b0743" +url = "https://github.com/crate-ci/typos/releases/download/v1.48.0/typos-v1.48.0-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/crate-ci/typos/releases/assets/462430871" [[tools.zizmor]] -version = "1.25.2" +version = "1.26.1" backend = "aqua:zizmorcore/zizmor" [tools.zizmor."platforms.linux-arm64"] -checksum = "sha256:4b4b9491112c2a09b318101c0d3349b73af1c4f532e097dd6d0164f2abda760d" -url = "https://github.com/zizmorcore/zizmor/releases/download/v1.25.2/zizmor-aarch64-unknown-linux-gnu.tar.gz" +checksum = "sha256:711f5af366b299128f9a04b1470e37d990b41fbd21f14a1a4148d25004a83762" +url = "https://github.com/zizmorcore/zizmor/releases/download/v1.26.1/zizmor-aarch64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/zizmorcore/zizmor/releases/assets/453417983" provenance = "github-attestations" [tools.zizmor."platforms.linux-arm64-musl"] provenance = "github-attestations" [tools.zizmor."platforms.linux-x64"] -checksum = "sha256:aa1facd105f0d83fe5c55b1adcd9d7417de5d83aa27471f91dc0b66cf3803577" -url = "https://github.com/zizmorcore/zizmor/releases/download/v1.25.2/zizmor-x86_64-unknown-linux-gnu.tar.gz" +checksum = "sha256:8556289a64e7aaf2400cd516f61a471aa91c5902cc56ad96a82fd12f90c2ef73" +url = "https://github.com/zizmorcore/zizmor/releases/download/v1.26.1/zizmor-x86_64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/zizmorcore/zizmor/releases/assets/453417985" provenance = "github-attestations" [tools.zizmor."platforms.linux-x64-musl"] provenance = "github-attestations" [tools.zizmor."platforms.macos-arm64"] -checksum = "sha256:624ef0e09521aecd862126be0f6d7754669af2646750d68ac48a114be33c3146" -url = "https://github.com/zizmorcore/zizmor/releases/download/v1.25.2/zizmor-aarch64-apple-darwin.tar.gz" +checksum = "sha256:68ab2b37836bbd44f6cfffcc102b9ffffbc20c5d67d84293dafb63bd2775a1da" +url = "https://github.com/zizmorcore/zizmor/releases/download/v1.26.1/zizmor-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/zizmorcore/zizmor/releases/assets/453417984" provenance = "github-attestations" [tools.zizmor."platforms.macos-x64"] -checksum = "sha256:353271b9ec301dd4ba158af481323c831c6e9b494d5ac3f5aa58cf4b207699cc" -url = "https://github.com/zizmorcore/zizmor/releases/download/v1.25.2/zizmor-x86_64-apple-darwin.tar.gz" +checksum = "sha256:2967414a561f8c1264121e8f723c3b5abcf3d1bf7ce5063114df99985dd75801" +url = "https://github.com/zizmorcore/zizmor/releases/download/v1.26.1/zizmor-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/zizmorcore/zizmor/releases/assets/453417982" provenance = "github-attestations" [tools.zizmor."platforms.windows-x64"] -checksum = "sha256:65d46a8144f701200621b580f632076d80d082d60856de9f88793a95fb5882d7" -url = "https://github.com/zizmorcore/zizmor/releases/download/v1.25.2/zizmor-x86_64-pc-windows-msvc.zip" +checksum = "sha256:c6cea156935e3b9d36faeca4fd8f622d23f7a7578da26adb34e6456abd9beb9a" +url = "https://github.com/zizmorcore/zizmor/releases/download/v1.26.1/zizmor-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/zizmorcore/zizmor/releases/assets/453417981" provenance = "github-attestations" diff --git a/mise.toml b/mise.toml index ebfc7c523..af32a0b5c 100644 --- a/mise.toml +++ b/mise.toml @@ -2,10 +2,10 @@ "aqua:grafana/gcx" = "v0.4.0" go = "1.26.4" "go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } } -hugo = "0.163.3" +hugo = "0.164.0" java = "temurin-25.0.3+9.0.LTS" -node = "24.17.0" -protoc = "35" +node = "24.18.0" +protoc = "35.1" # Linters actionlint = "1.7.12" diff --git a/pom.xml b/pom.xml index b64c86d7b..f9126506f 100644 --- a/pom.xml +++ b/pom.xml @@ -20,13 +20,13 @@ UTF-8 --module-name-need-to-be-overridden-- - 4.35.0 + 4.35.1 33.6.0-jre 2.3.0 4.3.0 3.13.2 - 6.1.0 - 2.28.1-alpha + 6.1.2 + 2.29.0-alpha 8 25 @@ -505,7 +505,7 @@ com.uber.nullaway nullaway - 0.13.7 + 0.13.8 diff --git a/prometheus-metrics-core/src/main/java/io/prometheus/metrics/core/metrics/Histogram.java b/prometheus-metrics-core/src/main/java/io/prometheus/metrics/core/metrics/Histogram.java index 9a7f9b7c9..c4bb1f5fe 100644 --- a/prometheus-metrics-core/src/main/java/io/prometheus/metrics/core/metrics/Histogram.java +++ b/prometheus-metrics-core/src/main/java/io/prometheus/metrics/core/metrics/Histogram.java @@ -614,7 +614,7 @@ private void doubleBucketWidth(Map buckets) { } buckets.clear(); for (i = 0; i < keys.length; i++) { - int index = (keys[i] + 1) / 2; + int index = (keys[i] > 0 ? keys[i] + 1 : keys[i]) / 2; LongAdder count = buckets.computeIfAbsent(index, k -> new LongAdder()); count.add(values[i]); } diff --git a/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/GaugeTest.java b/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/GaugeTest.java index 9d101e8be..93ea1d5e5 100644 --- a/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/GaugeTest.java +++ b/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/GaugeTest.java @@ -82,12 +82,11 @@ void testSet() { } @Test - @SuppressWarnings("try") - public void testTimer() throws InterruptedException { - try (Timer ignored = noLabels.startTimer()) { - Thread.sleep(12); - } - assertThat(getValue(noLabels)).isGreaterThan(0.01); + void testTimer() { + Timer timer = noLabels.startTimer(); + double duration = timer.observeDuration(); + assertThat(duration).isPositive(); + assertThat(getValue(noLabels)).isEqualTo(duration); } @Test diff --git a/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/HistogramTest.java b/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/HistogramTest.java index 69518205d..cbfd5fade 100644 --- a/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/HistogramTest.java +++ b/prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/HistogramTest.java @@ -28,7 +28,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Random; import java.util.concurrent.CompletionService; import java.util.concurrent.CountDownLatch; @@ -39,6 +41,7 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.LongAdder; import java.util.stream.Collectors; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -836,6 +839,36 @@ void testNativeBucketIndexToUpperBound() } } + @Test + void testDoubleBucketWidthMergesNegativeIndexesCorrectly() + throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + Histogram histogram = Histogram.builder().name("test").nativeOnly().build(); + Histogram.DataPoint dataPoint = histogram.newDataPoint(); + + Method doubleBucketWidth = + Histogram.DataPoint.class.getDeclaredMethod("doubleBucketWidth", Map.class); + doubleBucketWidth.setAccessible(true); + + int[] keys = {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5}; + int[] expectedMergedIndexes = {-2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3}; + + for (int i = 0; i < keys.length; i++) { + Map buckets = new HashMap<>(); + LongAdder adder = new LongAdder(); + adder.add(7); + buckets.put(keys[i], adder); + + doubleBucketWidth.invoke(dataPoint, buckets); + + assertThat(buckets.keySet()) + .as("merged index for original key " + keys[i]) + .containsExactly(expectedMergedIndexes[i]); + assertThat(buckets.get(expectedMergedIndexes[i]).sum()) + .as("count preserved for original key " + keys[i]) + .isEqualTo(7); + } + } + /** * Test if lowerBound < value <= upperBound is true for the bucket index returned by * findBucketIndex() diff --git a/prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java b/prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java index 1ca92c2c7..afc3018c9 100644 --- a/prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java +++ b/prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java @@ -8,27 +8,35 @@ import java.util.Map; import javax.annotation.Nullable; -@StableApi public class OpenTelemetryExporter implements AutoCloseable { private final MetricReader reader; + /** + * @deprecated This constructor is not part of the stable API. Use {@link #builder()} or {@link + * #builder(PrometheusProperties)} instead. + */ + @Deprecated public OpenTelemetryExporter(MetricReader reader) { this.reader = reader; } + @StableApi @Override public void close() { reader.shutdown(); } + @StableApi public static Builder builder() { return new Builder(PrometheusProperties.get()); } + @StableApi public static Builder builder(PrometheusProperties config) { return new Builder(config); } + @StableApi public static class Builder { private final PrometheusProperties config; diff --git a/prometheus-metrics-exporter-pushgateway/pom.xml b/prometheus-metrics-exporter-pushgateway/pom.xml index 547fad762..b83119bbb 100644 --- a/prometheus-metrics-exporter-pushgateway/pom.xml +++ b/prometheus-metrics-exporter-pushgateway/pom.xml @@ -35,7 +35,7 @@ org.mock-server mockserver-netty-no-dependencies - 7.1.0 + 7.4.0 test diff --git a/prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_0/Metrics.java b/prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_1/Metrics.java similarity index 88% rename from prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_0/Metrics.java rename to prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_1/Metrics.java index cb15f5a2a..95cb3afee 100644 --- a/prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_0/Metrics.java +++ b/prometheus-metrics-exposition-formats/src/main/generated/io/prometheus/metrics/expositionformats/generated/com_google_protobuf_4_35_1/Metrics.java @@ -2,9 +2,9 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // NO CHECKED-IN PROTOBUF GENCODE // source: src/main/protobuf/metrics.proto -// Protobuf Java Version: 4.35.0 +// Protobuf Java Version: 4.35.1 -package io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0; +package io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1; @com.google.protobuf.Generated public class Metrics extends com.google.protobuf.GeneratedFile { @@ -14,7 +14,7 @@ protected Metrics() {} com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Metrics"); } @@ -87,7 +87,7 @@ public enum MetricType com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "MetricType"); } @@ -193,7 +193,7 @@ public MetricType findValueByNumber(int number) { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.getDescriptor().getEnumType(0); + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.getDescriptor().getEnumType(0); } private static final MetricType[] VALUES = values(); @@ -267,7 +267,7 @@ public static final class LabelPair extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "LabelPair"); } @@ -282,20 +282,20 @@ private LabelPair() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder.class); } private int bitField0_; @@ -446,10 +446,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair) obj; if (hasName() != other.hasName()) return false; if (hasName()) { @@ -485,44 +485,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -530,26 +530,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -562,7 +562,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -583,21 +583,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.LabelPair) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.newBuilder() private Builder() { } @@ -619,17 +619,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_LabelPair_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -637,14 +637,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -660,16 +660,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance()) return this; if (other.hasName()) { name_ = other.name_; bitField0_ |= 0x00000001; @@ -897,12 +897,12 @@ public Builder setValueBytes( } // @@protoc_insertion_point(class_scope:io.prometheus.client.LabelPair) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -938,7 +938,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -972,7 +972,7 @@ public static final class Gauge extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Gauge"); } @@ -985,20 +985,20 @@ private Gauge() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder.class); } private int bitField0_; @@ -1065,10 +1065,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge) obj; if (hasValue() != other.hasValue()) return false; if (hasValue()) { @@ -1097,44 +1097,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1142,26 +1142,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1174,7 +1174,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -1195,21 +1195,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.Gauge) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.newBuilder() private Builder() { } @@ -1230,17 +1230,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Gauge_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -1248,14 +1248,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -1267,16 +1267,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance()) return this; if (other.hasValue()) { setValue(other.getValue()); } @@ -1372,12 +1372,12 @@ public Builder clearValue() { } // @@protoc_insertion_point(class_scope:io.prometheus.client.Gauge) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -1413,7 +1413,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -1443,11 +1443,11 @@ public interface CounterOrBuilder extends * optional .io.prometheus.client.Exemplar exemplar = 2; * @return The exemplar. */ - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar(); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar(); /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder(); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder(); /** * optional .google.protobuf.Timestamp created_timestamp = 3; @@ -1477,7 +1477,7 @@ public static final class Counter extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Counter"); } @@ -1490,20 +1490,20 @@ private Counter() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder.class); } private int bitField0_; @@ -1527,7 +1527,7 @@ public double getValue() { } public static final int EXEMPLAR_FIELD_NUMBER = 2; - private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar exemplar_; + private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar exemplar_; /** * optional .io.prometheus.client.Exemplar exemplar = 2; * @return Whether the exemplar field is set. @@ -1541,15 +1541,15 @@ public boolean hasExemplar() { * @return The exemplar. */ @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar() { - return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_; + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar() { + return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_; } /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder() { - return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_; + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder() { + return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_; } public static final int CREATED_TIMESTAMP_FIELD_NUMBER = 3; @@ -1636,10 +1636,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter) obj; if (hasValue() != other.hasValue()) return false; if (hasValue()) { @@ -1686,44 +1686,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1731,26 +1731,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1763,7 +1763,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -1784,21 +1784,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.Counter) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -1836,17 +1836,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Counter_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Counter_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -1854,14 +1854,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -1885,16 +1885,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance()) return this; if (other.hasValue()) { setValue(other.getValue()); } @@ -2006,9 +2006,9 @@ public Builder clearValue() { return this; } - private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar exemplar_; + private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar exemplar_; private com.google.protobuf.SingleFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> exemplarBuilder_; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> exemplarBuilder_; /** * optional .io.prometheus.client.Exemplar exemplar = 2; * @return Whether the exemplar field is set. @@ -2020,9 +2020,9 @@ public boolean hasExemplar() { * optional .io.prometheus.client.Exemplar exemplar = 2; * @return The exemplar. */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar() { if (exemplarBuilder_ == null) { - return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_; + return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_; } else { return exemplarBuilder_.getMessage(); } @@ -2030,7 +2030,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ - public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) { + public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) { if (exemplarBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -2047,7 +2047,7 @@ public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com * optional .io.prometheus.client.Exemplar exemplar = 2; */ public Builder setExemplar( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder builderForValue) { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder builderForValue) { if (exemplarBuilder_ == null) { exemplar_ = builderForValue.build(); } else { @@ -2060,11 +2060,11 @@ public Builder setExemplar( /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ - public Builder mergeExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) { + public Builder mergeExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) { if (exemplarBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && exemplar_ != null && - exemplar_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance()) { + exemplar_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance()) { getExemplarBuilder().mergeFrom(value); } else { exemplar_ = value; @@ -2094,7 +2094,7 @@ public Builder clearExemplar() { /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder getExemplarBuilder() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder getExemplarBuilder() { bitField0_ |= 0x00000002; onChanged(); return internalGetExemplarFieldBuilder().getBuilder(); @@ -2102,23 +2102,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder() { if (exemplarBuilder_ != null) { return exemplarBuilder_.getMessageOrBuilder(); } else { return exemplar_ == null ? - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_; } } /** * optional .io.prometheus.client.Exemplar exemplar = 2; */ private com.google.protobuf.SingleFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> internalGetExemplarFieldBuilder() { if (exemplarBuilder_ == null) { exemplarBuilder_ = new com.google.protobuf.SingleFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder>( + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder>( getExemplar(), getParentForChildren(), isClean()); @@ -2252,12 +2252,12 @@ public com.google.protobuf.TimestampOrBuilder getCreatedTimestampOrBuilder() { } // @@protoc_insertion_point(class_scope:io.prometheus.client.Counter) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -2293,7 +2293,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -2338,7 +2338,7 @@ public static final class Quantile extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Quantile"); } @@ -2351,20 +2351,20 @@ private Quantile() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder.class); } private int bitField0_; @@ -2457,10 +2457,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile) obj; if (hasQuantile() != other.hasQuantile()) return false; if (hasQuantile()) { @@ -2500,44 +2500,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2545,26 +2545,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2577,7 +2577,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2598,21 +2598,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.Quantile) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.newBuilder() private Builder() { } @@ -2634,17 +2634,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Quantile_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -2652,14 +2652,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -2675,16 +2675,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.getDefaultInstance()) return this; if (other.hasQuantile()) { setQuantile(other.getQuantile()); } @@ -2828,12 +2828,12 @@ public Builder clearValue() { } // @@protoc_insertion_point(class_scope:io.prometheus.client.Quantile) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -2869,7 +2869,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -2904,12 +2904,12 @@ public interface SummaryOrBuilder extends /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - java.util.List + java.util.List getQuantileList(); /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getQuantile(int index); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getQuantile(int index); /** * repeated .io.prometheus.client.Quantile quantile = 3; */ @@ -2917,12 +2917,12 @@ public interface SummaryOrBuilder extends /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - java.util.List + java.util.List getQuantileOrBuilderList(); /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder getQuantileOrBuilder( + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder getQuantileOrBuilder( int index); /** @@ -2953,7 +2953,7 @@ public static final class Summary extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Summary"); } @@ -2967,20 +2967,20 @@ private Summary() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder.class); } private int bitField0_; @@ -3024,19 +3024,19 @@ public double getSampleSum() { public static final int QUANTILE_FIELD_NUMBER = 3; @SuppressWarnings("serial") - private java.util.List quantile_; + private java.util.List quantile_; /** * repeated .io.prometheus.client.Quantile quantile = 3; */ @java.lang.Override - public java.util.List getQuantileList() { + public java.util.List getQuantileList() { return quantile_; } /** * repeated .io.prometheus.client.Quantile quantile = 3; */ @java.lang.Override - public java.util.List + public java.util.List getQuantileOrBuilderList() { return quantile_; } @@ -3051,14 +3051,14 @@ public int getQuantileCount() { * repeated .io.prometheus.client.Quantile quantile = 3; */ @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getQuantile(int index) { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getQuantile(int index) { return quantile_.get(index); } /** * repeated .io.prometheus.client.Quantile quantile = 3; */ @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder getQuantileOrBuilder( + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder getQuantileOrBuilder( int index) { return quantile_.get(index); } @@ -3159,10 +3159,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary) obj; if (hasSampleCount() != other.hasSampleCount()) return false; if (hasSampleCount()) { @@ -3216,44 +3216,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3261,26 +3261,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3293,7 +3293,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -3314,21 +3314,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.Summary) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -3369,17 +3369,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Summary_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Summary_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3387,15 +3387,15 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary result) { + private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary result) { if (quantileBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { quantile_ = java.util.Collections.unmodifiableList(quantile_); @@ -3407,7 +3407,7 @@ private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats. } } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -3429,16 +3429,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance()) return this; if (other.hasSampleCount()) { setSampleCount(other.getSampleCount()); } @@ -3511,9 +3511,9 @@ public Builder mergeFrom( break; } // case 17 case 26: { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile m = + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile m = input.readMessage( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.parser(), + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.parser(), extensionRegistry); if (quantileBuilder_ == null) { ensureQuantileIsMutable(); @@ -3627,22 +3627,22 @@ public Builder clearSampleSum() { return this; } - private java.util.List quantile_ = + private java.util.List quantile_ = java.util.Collections.emptyList(); private void ensureQuantileIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { - quantile_ = new java.util.ArrayList(quantile_); + quantile_ = new java.util.ArrayList(quantile_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder> quantileBuilder_; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder> quantileBuilder_; /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public java.util.List getQuantileList() { + public java.util.List getQuantileList() { if (quantileBuilder_ == null) { return java.util.Collections.unmodifiableList(quantile_); } else { @@ -3662,7 +3662,7 @@ public int getQuantileCount() { /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile getQuantile(int index) { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile getQuantile(int index) { if (quantileBuilder_ == null) { return quantile_.get(index); } else { @@ -3673,7 +3673,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder setQuantile( - int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile value) { + int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile value) { if (quantileBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3690,7 +3690,7 @@ public Builder setQuantile( * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder setQuantile( - int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder builderForValue) { + int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder builderForValue) { if (quantileBuilder_ == null) { ensureQuantileIsMutable(); quantile_.set(index, builderForValue.build()); @@ -3703,7 +3703,7 @@ public Builder setQuantile( /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public Builder addQuantile(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile value) { + public Builder addQuantile(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile value) { if (quantileBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3720,7 +3720,7 @@ public Builder addQuantile(io.prometheus.metrics.expositionformats.generated.com * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder addQuantile( - int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile value) { + int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile value) { if (quantileBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3737,7 +3737,7 @@ public Builder addQuantile( * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder addQuantile( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder builderForValue) { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder builderForValue) { if (quantileBuilder_ == null) { ensureQuantileIsMutable(); quantile_.add(builderForValue.build()); @@ -3751,7 +3751,7 @@ public Builder addQuantile( * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder addQuantile( - int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder builderForValue) { + int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder builderForValue) { if (quantileBuilder_ == null) { ensureQuantileIsMutable(); quantile_.add(index, builderForValue.build()); @@ -3765,7 +3765,7 @@ public Builder addQuantile( * repeated .io.prometheus.client.Quantile quantile = 3; */ public Builder addAllQuantile( - java.lang.Iterable values) { + java.lang.Iterable values) { if (quantileBuilder_ == null) { ensureQuantileIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( @@ -3805,14 +3805,14 @@ public Builder removeQuantile(int index) { /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder getQuantileBuilder( + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder getQuantileBuilder( int index) { return internalGetQuantileFieldBuilder().getBuilder(index); } /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder getQuantileOrBuilder( + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder getQuantileOrBuilder( int index) { if (quantileBuilder_ == null) { return quantile_.get(index); } else { @@ -3822,7 +3822,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public java.util.List + public java.util.List getQuantileOrBuilderList() { if (quantileBuilder_ != null) { return quantileBuilder_.getMessageOrBuilderList(); @@ -3833,31 +3833,31 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder addQuantileBuilder() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder addQuantileBuilder() { return internalGetQuantileFieldBuilder().addBuilder( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.getDefaultInstance()); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.getDefaultInstance()); } /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder addQuantileBuilder( + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder addQuantileBuilder( int index) { return internalGetQuantileFieldBuilder().addBuilder( - index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.getDefaultInstance()); + index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.getDefaultInstance()); } /** * repeated .io.prometheus.client.Quantile quantile = 3; */ - public java.util.List + public java.util.List getQuantileBuilderList() { return internalGetQuantileFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder> + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder> internalGetQuantileFieldBuilder() { if (quantileBuilder_ == null) { quantileBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.QuantileOrBuilder>( + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Quantile.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.QuantileOrBuilder>( quantile_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), @@ -3992,12 +3992,12 @@ public com.google.protobuf.TimestampOrBuilder getCreatedTimestampOrBuilder() { } // @@protoc_insertion_point(class_scope:io.prometheus.client.Summary) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -4033,7 +4033,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -4067,7 +4067,7 @@ public static final class Untyped extends com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, /* minor= */ 35, - /* patch= */ 0, + /* patch= */ 1, /* suffix= */ "", "Untyped"); } @@ -4080,20 +4080,20 @@ private Untyped() { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder.class); } private int bitField0_; @@ -4160,10 +4160,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped)) { + if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped)) { return super.equals(obj); } - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped) obj; + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped) obj; if (hasValue() != other.hasValue()) return false; if (hasValue()) { @@ -4192,44 +4192,44 @@ public int hashCode() { return hash; } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom(byte[] data) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4237,26 +4237,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseDelimitedFrom(java.io.InputStream input) + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseDelimitedFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped parseFrom( + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4269,7 +4269,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped prototype) { + public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4290,21 +4290,21 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:io.prometheus.client.Untyped) - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_fieldAccessorTable + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder.class); + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder.class); } - // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.newBuilder() + // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.newBuilder() private Builder() { } @@ -4325,17 +4325,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Untyped_descriptor; } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getDefaultInstanceForType() { - return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getDefaultInstanceForType() { + return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance(); } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped build() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped result = buildPartial(); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped build() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4343,14 +4343,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3 } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped buildPartial() { - io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped(this); + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped buildPartial() { + io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped result) { + private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -4362,16 +4362,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped) { - return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped)other); + if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped) { + return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped other) { - if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance()) return this; + public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped other) { + if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance()) return this; if (other.hasValue()) { setValue(other.getValue()); } @@ -4467,12 +4467,12 @@ public Builder clearValue() { } // @@protoc_insertion_point(class_scope:io.prometheus.client.Untyped) - private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped DEFAULT_INSTANCE; + private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped(); + DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped(); } - public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getDefaultInstance() { + public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -4508,7 +4508,7 @@ public com.google.protobuf.Parser getParserForType() { } @java.lang.Override - public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getDefaultInstanceForType() { + public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -4566,7 +4566,7 @@ public interface HistogramOrBuilder extends * * repeated .io.prometheus.client.Bucket bucket = 3; */ - java.util.List + java.util.List getBucketList(); /** *
@@ -4575,7 +4575,7 @@ public interface HistogramOrBuilder extends
      *
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getBucket(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getBucket(int index);
     /**
      * 
      * Buckets for the conventional histogram.
@@ -4591,7 +4591,7 @@ public interface HistogramOrBuilder extends
      *
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
-    java.util.List 
+    java.util.List 
         getBucketOrBuilderList();
     /**
      * 
@@ -4600,7 +4600,7 @@ public interface HistogramOrBuilder extends
      *
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder getBucketOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder getBucketOrBuilder(
         int index);
 
     /**
@@ -4709,7 +4709,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
-    java.util.List 
+    java.util.List 
         getNegativeSpanList();
     /**
      * 
@@ -4718,7 +4718,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getNegativeSpan(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getNegativeSpan(int index);
     /**
      * 
      * Negative buckets for the native histogram.
@@ -4734,7 +4734,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
-    java.util.List 
+    java.util.List 
         getNegativeSpanOrBuilderList();
     /**
      * 
@@ -4743,7 +4743,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
         int index);
 
     /**
@@ -4820,7 +4820,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
-    java.util.List 
+    java.util.List 
         getPositiveSpanList();
     /**
      * 
@@ -4832,7 +4832,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getPositiveSpan(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getPositiveSpan(int index);
     /**
      * 
      * Positive buckets for the native histogram.
@@ -4854,7 +4854,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
-    java.util.List 
+    java.util.List 
         getPositiveSpanOrBuilderList();
     /**
      * 
@@ -4866,7 +4866,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
         int index);
 
     /**
@@ -4940,7 +4940,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
-    java.util.List 
+    java.util.List 
         getExemplarsList();
     /**
      * 
@@ -4949,7 +4949,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplars(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplars(int index);
     /**
      * 
      * Only used for native histograms. These exemplars MUST have a timestamp.
@@ -4965,7 +4965,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
-    java.util.List 
+    java.util.List 
         getExemplarsOrBuilderList();
     /**
      * 
@@ -4974,7 +4974,7 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      *
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
         int index);
   }
   /**
@@ -4990,7 +4990,7 @@ public static final class Histogram extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "Histogram");
     }
@@ -5011,20 +5011,20 @@ private Histogram() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder.class);
     }
 
     private int bitField0_;
@@ -5095,7 +5095,7 @@ public double getSampleSum() {
 
     public static final int BUCKET_FIELD_NUMBER = 3;
     @SuppressWarnings("serial")
-    private java.util.List bucket_;
+    private java.util.List bucket_;
     /**
      * 
      * Buckets for the conventional histogram.
@@ -5104,7 +5104,7 @@ public double getSampleSum() {
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
     @java.lang.Override
-    public java.util.List getBucketList() {
+    public java.util.List getBucketList() {
       return bucket_;
     }
     /**
@@ -5115,7 +5115,7 @@ public java.util.Listrepeated .io.prometheus.client.Bucket bucket = 3;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getBucketOrBuilderList() {
       return bucket_;
     }
@@ -5138,7 +5138,7 @@ public int getBucketCount() {
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getBucket(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getBucket(int index) {
       return bucket_.get(index);
     }
     /**
@@ -5149,7 +5149,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
      * repeated .io.prometheus.client.Bucket bucket = 3;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder getBucketOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder getBucketOrBuilder(
         int index) {
       return bucket_.get(index);
     }
@@ -5298,7 +5298,7 @@ public double getZeroCountFloat() {
 
     public static final int NEGATIVE_SPAN_FIELD_NUMBER = 9;
     @SuppressWarnings("serial")
-    private java.util.List negativeSpan_;
+    private java.util.List negativeSpan_;
     /**
      * 
      * Negative buckets for the native histogram.
@@ -5307,7 +5307,7 @@ public double getZeroCountFloat() {
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
     @java.lang.Override
-    public java.util.List getNegativeSpanList() {
+    public java.util.List getNegativeSpanList() {
       return negativeSpan_;
     }
     /**
@@ -5318,7 +5318,7 @@ public java.util.Listrepeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getNegativeSpanOrBuilderList() {
       return negativeSpan_;
     }
@@ -5341,7 +5341,7 @@ public int getNegativeSpanCount() {
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getNegativeSpan(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getNegativeSpan(int index) {
       return negativeSpan_.get(index);
     }
     /**
@@ -5352,7 +5352,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
      * repeated .io.prometheus.client.BucketSpan negative_span = 9;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
         int index) {
       return negativeSpan_.get(index);
     }
@@ -5447,7 +5447,7 @@ public double getNegativeCount(int index) {
 
     public static final int POSITIVE_SPAN_FIELD_NUMBER = 12;
     @SuppressWarnings("serial")
-    private java.util.List positiveSpan_;
+    private java.util.List positiveSpan_;
     /**
      * 
      * Positive buckets for the native histogram.
@@ -5459,7 +5459,7 @@ public double getNegativeCount(int index) {
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
     @java.lang.Override
-    public java.util.List getPositiveSpanList() {
+    public java.util.List getPositiveSpanList() {
       return positiveSpan_;
     }
     /**
@@ -5473,7 +5473,7 @@ public java.util.Listrepeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getPositiveSpanOrBuilderList() {
       return positiveSpan_;
     }
@@ -5502,7 +5502,7 @@ public int getPositiveSpanCount() {
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getPositiveSpan(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getPositiveSpan(int index) {
       return positiveSpan_.get(index);
     }
     /**
@@ -5516,7 +5516,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
      * repeated .io.prometheus.client.BucketSpan positive_span = 12;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
         int index) {
       return positiveSpan_.get(index);
     }
@@ -5611,7 +5611,7 @@ public double getPositiveCount(int index) {
 
     public static final int EXEMPLARS_FIELD_NUMBER = 16;
     @SuppressWarnings("serial")
-    private java.util.List exemplars_;
+    private java.util.List exemplars_;
     /**
      * 
      * Only used for native histograms. These exemplars MUST have a timestamp.
@@ -5620,7 +5620,7 @@ public double getPositiveCount(int index) {
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
     @java.lang.Override
-    public java.util.List getExemplarsList() {
+    public java.util.List getExemplarsList() {
       return exemplars_;
     }
     /**
@@ -5631,7 +5631,7 @@ public java.util.Listrepeated .io.prometheus.client.Exemplar exemplars = 16;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getExemplarsOrBuilderList() {
       return exemplars_;
     }
@@ -5654,7 +5654,7 @@ public int getExemplarsCount() {
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplars(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplars(int index) {
       return exemplars_.get(index);
     }
     /**
@@ -5665,7 +5665,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
      * repeated .io.prometheus.client.Exemplar exemplars = 16;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
         int index) {
       return exemplars_.get(index);
     }
@@ -5853,10 +5853,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram) obj;
 
       if (hasSampleCount() != other.hasSampleCount()) return false;
       if (hasSampleCount()) {
@@ -6004,44 +6004,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -6049,26 +6049,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -6081,7 +6081,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -6102,21 +6102,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.Histogram)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -6190,17 +6190,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Histogram_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -6208,15 +6208,15 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram(this);
         buildPartialRepeatedFields(result);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram result) {
+      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram result) {
         if (bucketBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0)) {
             bucket_ = java.util.Collections.unmodifiableList(bucket_);
@@ -6255,7 +6255,7 @@ private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.
         }
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -6313,16 +6313,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance()) return this;
         if (other.hasSampleCount()) {
           setSampleCount(other.getSampleCount());
         }
@@ -6532,9 +6532,9 @@ public Builder mergeFrom(
                 break;
               } // case 17
               case 26: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.parser(),
                         extensionRegistry);
                 if (bucketBuilder_ == null) {
                   ensureBucketIsMutable();
@@ -6570,9 +6570,9 @@ public Builder mergeFrom(
                 break;
               } // case 65
               case 74: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.parser(),
                         extensionRegistry);
                 if (negativeSpanBuilder_ == null) {
                   ensureNegativeSpanIsMutable();
@@ -6616,9 +6616,9 @@ public Builder mergeFrom(
                 break;
               } // case 90
               case 98: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.parser(),
                         extensionRegistry);
                 if (positiveSpanBuilder_ == null) {
                   ensurePositiveSpanIsMutable();
@@ -6669,9 +6669,9 @@ public Builder mergeFrom(
                 break;
               } // case 122
               case 130: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.parser(),
                         extensionRegistry);
                 if (exemplarsBuilder_ == null) {
                   ensureExemplarsIsMutable();
@@ -6834,17 +6834,17 @@ public Builder clearSampleSum() {
         return this;
       }
 
-      private java.util.List bucket_ =
+      private java.util.List bucket_ =
         java.util.Collections.emptyList();
       private void ensureBucketIsMutable() {
         if (!((bitField0_ & 0x00000008) != 0)) {
-          bucket_ = new java.util.ArrayList(bucket_);
+          bucket_ = new java.util.ArrayList(bucket_);
           bitField0_ |= 0x00000008;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder> bucketBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder> bucketBuilder_;
 
       /**
        * 
@@ -6853,7 +6853,7 @@ private void ensureBucketIsMutable() {
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public java.util.List getBucketList() {
+      public java.util.List getBucketList() {
         if (bucketBuilder_ == null) {
           return java.util.Collections.unmodifiableList(bucket_);
         } else {
@@ -6881,7 +6881,7 @@ public int getBucketCount() {
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getBucket(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getBucket(int index) {
         if (bucketBuilder_ == null) {
           return bucket_.get(index);
         } else {
@@ -6896,7 +6896,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder setBucket(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket value) {
         if (bucketBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6917,7 +6917,7 @@ public Builder setBucket(
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder setBucket(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder builderForValue) {
         if (bucketBuilder_ == null) {
           ensureBucketIsMutable();
           bucket_.set(index, builderForValue.build());
@@ -6934,7 +6934,7 @@ public Builder setBucket(
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public Builder addBucket(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket value) {
+      public Builder addBucket(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket value) {
         if (bucketBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6955,7 +6955,7 @@ public Builder addBucket(io.prometheus.metrics.expositionformats.generated.com_g
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder addBucket(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket value) {
         if (bucketBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6976,7 +6976,7 @@ public Builder addBucket(
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder addBucket(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder builderForValue) {
         if (bucketBuilder_ == null) {
           ensureBucketIsMutable();
           bucket_.add(builderForValue.build());
@@ -6994,7 +6994,7 @@ public Builder addBucket(
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder addBucket(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder builderForValue) {
         if (bucketBuilder_ == null) {
           ensureBucketIsMutable();
           bucket_.add(index, builderForValue.build());
@@ -7012,7 +7012,7 @@ public Builder addBucket(
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
       public Builder addAllBucket(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (bucketBuilder_ == null) {
           ensureBucketIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -7064,7 +7064,7 @@ public Builder removeBucket(int index) {
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder getBucketBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder getBucketBuilder(
           int index) {
         return internalGetBucketFieldBuilder().getBuilder(index);
       }
@@ -7075,7 +7075,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder getBucketOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder getBucketOrBuilder(
           int index) {
         if (bucketBuilder_ == null) {
           return bucket_.get(index);  } else {
@@ -7089,7 +7089,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public java.util.List 
+      public java.util.List 
            getBucketOrBuilderList() {
         if (bucketBuilder_ != null) {
           return bucketBuilder_.getMessageOrBuilderList();
@@ -7104,9 +7104,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder addBucketBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder addBucketBuilder() {
         return internalGetBucketFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.getDefaultInstance());
       }
       /**
        * 
@@ -7115,10 +7115,10 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder addBucketBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder addBucketBuilder(
           int index) {
         return internalGetBucketFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.getDefaultInstance());
       }
       /**
        * 
@@ -7127,16 +7127,16 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Bucket bucket = 3;
        */
-      public java.util.List 
+      public java.util.List 
            getBucketBuilderList() {
         return internalGetBucketFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder> 
           internalGetBucketFieldBuilder() {
         if (bucketBuilder_ == null) {
           bucketBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder>(
                   bucket_,
                   ((bitField0_ & 0x00000008) != 0),
                   getParentForChildren(),
@@ -7507,17 +7507,17 @@ public Builder clearZeroCountFloat() {
         return this;
       }
 
-      private java.util.List negativeSpan_ =
+      private java.util.List negativeSpan_ =
         java.util.Collections.emptyList();
       private void ensureNegativeSpanIsMutable() {
         if (!((bitField0_ & 0x00000200) != 0)) {
-          negativeSpan_ = new java.util.ArrayList(negativeSpan_);
+          negativeSpan_ = new java.util.ArrayList(negativeSpan_);
           bitField0_ |= 0x00000200;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder> negativeSpanBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder> negativeSpanBuilder_;
 
       /**
        * 
@@ -7526,7 +7526,7 @@ private void ensureNegativeSpanIsMutable() {
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public java.util.List getNegativeSpanList() {
+      public java.util.List getNegativeSpanList() {
         if (negativeSpanBuilder_ == null) {
           return java.util.Collections.unmodifiableList(negativeSpan_);
         } else {
@@ -7554,7 +7554,7 @@ public int getNegativeSpanCount() {
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getNegativeSpan(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getNegativeSpan(int index) {
         if (negativeSpanBuilder_ == null) {
           return negativeSpan_.get(index);
         } else {
@@ -7569,7 +7569,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder setNegativeSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (negativeSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -7590,7 +7590,7 @@ public Builder setNegativeSpan(
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder setNegativeSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (negativeSpanBuilder_ == null) {
           ensureNegativeSpanIsMutable();
           negativeSpan_.set(index, builderForValue.build());
@@ -7607,7 +7607,7 @@ public Builder setNegativeSpan(
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public Builder addNegativeSpan(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+      public Builder addNegativeSpan(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (negativeSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -7628,7 +7628,7 @@ public Builder addNegativeSpan(io.prometheus.metrics.expositionformats.generated
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder addNegativeSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (negativeSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -7649,7 +7649,7 @@ public Builder addNegativeSpan(
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder addNegativeSpan(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (negativeSpanBuilder_ == null) {
           ensureNegativeSpanIsMutable();
           negativeSpan_.add(builderForValue.build());
@@ -7667,7 +7667,7 @@ public Builder addNegativeSpan(
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder addNegativeSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (negativeSpanBuilder_ == null) {
           ensureNegativeSpanIsMutable();
           negativeSpan_.add(index, builderForValue.build());
@@ -7685,7 +7685,7 @@ public Builder addNegativeSpan(
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
       public Builder addAllNegativeSpan(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (negativeSpanBuilder_ == null) {
           ensureNegativeSpanIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -7737,7 +7737,7 @@ public Builder removeNegativeSpan(int index) {
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder getNegativeSpanBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder getNegativeSpanBuilder(
           int index) {
         return internalGetNegativeSpanFieldBuilder().getBuilder(index);
       }
@@ -7748,7 +7748,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getNegativeSpanOrBuilder(
           int index) {
         if (negativeSpanBuilder_ == null) {
           return negativeSpan_.get(index);  } else {
@@ -7762,7 +7762,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public java.util.List 
+      public java.util.List 
            getNegativeSpanOrBuilderList() {
         if (negativeSpanBuilder_ != null) {
           return negativeSpanBuilder_.getMessageOrBuilderList();
@@ -7777,9 +7777,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder addNegativeSpanBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder addNegativeSpanBuilder() {
         return internalGetNegativeSpanFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance());
       }
       /**
        * 
@@ -7788,10 +7788,10 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder addNegativeSpanBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder addNegativeSpanBuilder(
           int index) {
         return internalGetNegativeSpanFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance());
       }
       /**
        * 
@@ -7800,16 +7800,16 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan negative_span = 9;
        */
-      public java.util.List 
+      public java.util.List 
            getNegativeSpanBuilderList() {
         return internalGetNegativeSpanFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder> 
           internalGetNegativeSpanFieldBuilder() {
         if (negativeSpanBuilder_ == null) {
           negativeSpanBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder>(
                   negativeSpan_,
                   ((bitField0_ & 0x00000200) != 0),
                   getParentForChildren(),
@@ -8063,17 +8063,17 @@ public Builder clearNegativeCount() {
         return this;
       }
 
-      private java.util.List positiveSpan_ =
+      private java.util.List positiveSpan_ =
         java.util.Collections.emptyList();
       private void ensurePositiveSpanIsMutable() {
         if (!((bitField0_ & 0x00001000) != 0)) {
-          positiveSpan_ = new java.util.ArrayList(positiveSpan_);
+          positiveSpan_ = new java.util.ArrayList(positiveSpan_);
           bitField0_ |= 0x00001000;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder> positiveSpanBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder> positiveSpanBuilder_;
 
       /**
        * 
@@ -8085,7 +8085,7 @@ private void ensurePositiveSpanIsMutable() {
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public java.util.List getPositiveSpanList() {
+      public java.util.List getPositiveSpanList() {
         if (positiveSpanBuilder_ == null) {
           return java.util.Collections.unmodifiableList(positiveSpan_);
         } else {
@@ -8119,7 +8119,7 @@ public int getPositiveSpanCount() {
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getPositiveSpan(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getPositiveSpan(int index) {
         if (positiveSpanBuilder_ == null) {
           return positiveSpan_.get(index);
         } else {
@@ -8137,7 +8137,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder setPositiveSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (positiveSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8161,7 +8161,7 @@ public Builder setPositiveSpan(
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder setPositiveSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (positiveSpanBuilder_ == null) {
           ensurePositiveSpanIsMutable();
           positiveSpan_.set(index, builderForValue.build());
@@ -8181,7 +8181,7 @@ public Builder setPositiveSpan(
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public Builder addPositiveSpan(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+      public Builder addPositiveSpan(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (positiveSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8205,7 +8205,7 @@ public Builder addPositiveSpan(io.prometheus.metrics.expositionformats.generated
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder addPositiveSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan value) {
         if (positiveSpanBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8229,7 +8229,7 @@ public Builder addPositiveSpan(
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder addPositiveSpan(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (positiveSpanBuilder_ == null) {
           ensurePositiveSpanIsMutable();
           positiveSpan_.add(builderForValue.build());
@@ -8250,7 +8250,7 @@ public Builder addPositiveSpan(
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder addPositiveSpan(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder builderForValue) {
         if (positiveSpanBuilder_ == null) {
           ensurePositiveSpanIsMutable();
           positiveSpan_.add(index, builderForValue.build());
@@ -8271,7 +8271,7 @@ public Builder addPositiveSpan(
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
       public Builder addAllPositiveSpan(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (positiveSpanBuilder_ == null) {
           ensurePositiveSpanIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -8332,7 +8332,7 @@ public Builder removePositiveSpan(int index) {
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder getPositiveSpanBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder getPositiveSpanBuilder(
           int index) {
         return internalGetPositiveSpanFieldBuilder().getBuilder(index);
       }
@@ -8346,7 +8346,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder getPositiveSpanOrBuilder(
           int index) {
         if (positiveSpanBuilder_ == null) {
           return positiveSpan_.get(index);  } else {
@@ -8363,7 +8363,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public java.util.List 
+      public java.util.List 
            getPositiveSpanOrBuilderList() {
         if (positiveSpanBuilder_ != null) {
           return positiveSpanBuilder_.getMessageOrBuilderList();
@@ -8381,9 +8381,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder addPositiveSpanBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder addPositiveSpanBuilder() {
         return internalGetPositiveSpanFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance());
       }
       /**
        * 
@@ -8395,10 +8395,10 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder addPositiveSpanBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder addPositiveSpanBuilder(
           int index) {
         return internalGetPositiveSpanFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance());
       }
       /**
        * 
@@ -8410,16 +8410,16 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.BucketSpan positive_span = 12;
        */
-      public java.util.List 
+      public java.util.List 
            getPositiveSpanBuilderList() {
         return internalGetPositiveSpanFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder> 
           internalGetPositiveSpanFieldBuilder() {
         if (positiveSpanBuilder_ == null) {
           positiveSpanBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder>(
                   positiveSpan_,
                   ((bitField0_ & 0x00001000) != 0),
                   getParentForChildren(),
@@ -8673,17 +8673,17 @@ public Builder clearPositiveCount() {
         return this;
       }
 
-      private java.util.List exemplars_ =
+      private java.util.List exemplars_ =
         java.util.Collections.emptyList();
       private void ensureExemplarsIsMutable() {
         if (!((bitField0_ & 0x00008000) != 0)) {
-          exemplars_ = new java.util.ArrayList(exemplars_);
+          exemplars_ = new java.util.ArrayList(exemplars_);
           bitField0_ |= 0x00008000;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> exemplarsBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> exemplarsBuilder_;
 
       /**
        * 
@@ -8692,7 +8692,7 @@ private void ensureExemplarsIsMutable() {
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public java.util.List getExemplarsList() {
+      public java.util.List getExemplarsList() {
         if (exemplarsBuilder_ == null) {
           return java.util.Collections.unmodifiableList(exemplars_);
         } else {
@@ -8720,7 +8720,7 @@ public int getExemplarsCount() {
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplars(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplars(int index) {
         if (exemplarsBuilder_ == null) {
           return exemplars_.get(index);
         } else {
@@ -8735,7 +8735,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder setExemplars(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) {
         if (exemplarsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8756,7 +8756,7 @@ public Builder setExemplars(
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder setExemplars(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder builderForValue) {
         if (exemplarsBuilder_ == null) {
           ensureExemplarsIsMutable();
           exemplars_.set(index, builderForValue.build());
@@ -8773,7 +8773,7 @@ public Builder setExemplars(
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public Builder addExemplars(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) {
+      public Builder addExemplars(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) {
         if (exemplarsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8794,7 +8794,7 @@ public Builder addExemplars(io.prometheus.metrics.expositionformats.generated.co
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder addExemplars(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) {
         if (exemplarsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8815,7 +8815,7 @@ public Builder addExemplars(
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder addExemplars(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder builderForValue) {
         if (exemplarsBuilder_ == null) {
           ensureExemplarsIsMutable();
           exemplars_.add(builderForValue.build());
@@ -8833,7 +8833,7 @@ public Builder addExemplars(
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder addExemplars(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder builderForValue) {
         if (exemplarsBuilder_ == null) {
           ensureExemplarsIsMutable();
           exemplars_.add(index, builderForValue.build());
@@ -8851,7 +8851,7 @@ public Builder addExemplars(
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
       public Builder addAllExemplars(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (exemplarsBuilder_ == null) {
           ensureExemplarsIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -8903,7 +8903,7 @@ public Builder removeExemplars(int index) {
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder getExemplarsBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder getExemplarsBuilder(
           int index) {
         return internalGetExemplarsFieldBuilder().getBuilder(index);
       }
@@ -8914,7 +8914,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarsOrBuilder(
           int index) {
         if (exemplarsBuilder_ == null) {
           return exemplars_.get(index);  } else {
@@ -8928,7 +8928,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public java.util.List 
+      public java.util.List 
            getExemplarsOrBuilderList() {
         if (exemplarsBuilder_ != null) {
           return exemplarsBuilder_.getMessageOrBuilderList();
@@ -8943,9 +8943,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder addExemplarsBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder addExemplarsBuilder() {
         return internalGetExemplarsFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance());
       }
       /**
        * 
@@ -8954,10 +8954,10 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder addExemplarsBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder addExemplarsBuilder(
           int index) {
         return internalGetExemplarsFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance());
       }
       /**
        * 
@@ -8966,16 +8966,16 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        *
        * repeated .io.prometheus.client.Exemplar exemplars = 16;
        */
-      public java.util.List 
+      public java.util.List 
            getExemplarsBuilderList() {
         return internalGetExemplarsFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> 
           internalGetExemplarsFieldBuilder() {
         if (exemplarsBuilder_ == null) {
           exemplarsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder>(
                   exemplars_,
                   ((bitField0_ & 0x00008000) != 0),
                   getParentForChildren(),
@@ -8989,12 +8989,12 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.Histogram)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -9030,7 +9030,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -9106,11 +9106,11 @@ public interface BucketOrBuilder extends
      * optional .io.prometheus.client.Exemplar exemplar = 3;
      * @return The exemplar.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar();
     /**
      * optional .io.prometheus.client.Exemplar exemplar = 3;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder();
   }
   /**
    * 
@@ -9130,7 +9130,7 @@ public static final class Bucket extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "Bucket");
     }
@@ -9143,20 +9143,20 @@ private Bucket() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder.class);
     }
 
     private int bitField0_;
@@ -9242,7 +9242,7 @@ public double getUpperBound() {
     }
 
     public static final int EXEMPLAR_FIELD_NUMBER = 3;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar exemplar_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar exemplar_;
     /**
      * optional .io.prometheus.client.Exemplar exemplar = 3;
      * @return Whether the exemplar field is set.
@@ -9256,15 +9256,15 @@ public boolean hasExemplar() {
      * @return The exemplar.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar() {
-      return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar() {
+      return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_;
     }
     /**
      * optional .io.prometheus.client.Exemplar exemplar = 3;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder() {
-      return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder() {
+      return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -9332,10 +9332,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket) obj;
 
       if (hasCumulativeCount() != other.hasCumulativeCount()) return false;
       if (hasCumulativeCount()) {
@@ -9394,44 +9394,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -9439,26 +9439,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -9471,7 +9471,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -9497,21 +9497,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.Bucket)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -9545,17 +9545,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Bucket_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -9563,14 +9563,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket(this);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -9596,16 +9596,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket.getDefaultInstance()) return this;
         if (other.hasCumulativeCount()) {
           setCumulativeCount(other.getCumulativeCount());
         }
@@ -9851,9 +9851,9 @@ public Builder clearUpperBound() {
         return this;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar exemplar_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar exemplar_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> exemplarBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> exemplarBuilder_;
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        * @return Whether the exemplar field is set.
@@ -9865,9 +9865,9 @@ public boolean hasExemplar() {
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        * @return The exemplar.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getExemplar() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getExemplar() {
         if (exemplarBuilder_ == null) {
-          return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_;
+          return exemplar_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_;
         } else {
           return exemplarBuilder_.getMessage();
         }
@@ -9875,7 +9875,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
-      public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) {
+      public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) {
         if (exemplarBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -9892,7 +9892,7 @@ public Builder setExemplar(io.prometheus.metrics.expositionformats.generated.com
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
       public Builder setExemplar(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder builderForValue) {
         if (exemplarBuilder_ == null) {
           exemplar_ = builderForValue.build();
         } else {
@@ -9905,11 +9905,11 @@ public Builder setExemplar(
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
-      public Builder mergeExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar value) {
+      public Builder mergeExemplar(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar value) {
         if (exemplarBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0) &&
             exemplar_ != null &&
-            exemplar_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance()) {
+            exemplar_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance()) {
             getExemplarBuilder().mergeFrom(value);
           } else {
             exemplar_ = value;
@@ -9939,7 +9939,7 @@ public Builder clearExemplar() {
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder getExemplarBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder getExemplarBuilder() {
         bitField0_ |= 0x00000008;
         onChanged();
         return internalGetExemplarFieldBuilder().getBuilder();
@@ -9947,23 +9947,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder getExemplarOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder getExemplarOrBuilder() {
         if (exemplarBuilder_ != null) {
           return exemplarBuilder_.getMessageOrBuilder();
         } else {
           return exemplar_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance() : exemplar_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance() : exemplar_;
         }
       }
       /**
        * optional .io.prometheus.client.Exemplar exemplar = 3;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder> 
           internalGetExemplarFieldBuilder() {
         if (exemplarBuilder_ == null) {
           exemplarBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder>(
                   getExemplar(),
                   getParentForChildren(),
                   isClean());
@@ -9976,12 +9976,12 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.Bucket)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -10017,7 +10017,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Bucket getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Bucket getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -10087,7 +10087,7 @@ public static final class BucketSpan extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "BucketSpan");
     }
@@ -10100,20 +10100,20 @@ private BucketSpan() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder.class);
     }
 
     private int bitField0_;
@@ -10222,10 +10222,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan) obj;
 
       if (hasOffset() != other.hasOffset()) return false;
       if (hasOffset()) {
@@ -10261,44 +10261,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -10306,26 +10306,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -10338,7 +10338,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -10368,21 +10368,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.BucketSpan)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpanOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpanOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.newBuilder()
       private Builder() {
 
       }
@@ -10404,17 +10404,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_BucketSpan_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -10422,14 +10422,14 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan(this);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -10445,16 +10445,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan.getDefaultInstance()) return this;
         if (other.hasOffset()) {
           setOffset(other.getOffset());
         }
@@ -10630,12 +10630,12 @@ public Builder clearLength() {
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.BucketSpan)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -10671,7 +10671,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.BucketSpan getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.BucketSpan getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -10684,12 +10684,12 @@ public interface ExemplarOrBuilder extends
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    java.util.List 
+    java.util.List 
         getLabelList();
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index);
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
@@ -10697,12 +10697,12 @@ public interface ExemplarOrBuilder extends
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    java.util.List 
+    java.util.List 
         getLabelOrBuilderList();
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
         int index);
 
     /**
@@ -10756,7 +10756,7 @@ public static final class Exemplar extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "Exemplar");
     }
@@ -10770,38 +10770,38 @@ private Exemplar() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder.class);
     }
 
     private int bitField0_;
     public static final int LABEL_FIELD_NUMBER = 1;
     @SuppressWarnings("serial")
-    private java.util.List label_;
+    private java.util.List label_;
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public java.util.List getLabelList() {
+    public java.util.List getLabelList() {
       return label_;
     }
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getLabelOrBuilderList() {
       return label_;
     }
@@ -10816,14 +10816,14 @@ public int getLabelCount() {
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index) {
       return label_.get(index);
     }
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
         int index) {
       return label_.get(index);
     }
@@ -10948,10 +10948,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar) obj;
 
       if (!getLabelList()
           .equals(other.getLabelList())) return false;
@@ -10995,44 +10995,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -11040,26 +11040,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -11072,7 +11072,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -11093,21 +11093,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.Exemplar)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.ExemplarOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.ExemplarOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -11147,17 +11147,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Exemplar_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -11165,15 +11165,15 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar(this);
         buildPartialRepeatedFields(result);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar result) {
+      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar result) {
         if (labelBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             label_ = java.util.Collections.unmodifiableList(label_);
@@ -11185,7 +11185,7 @@ private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.
         }
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -11203,16 +11203,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar.getDefaultInstance()) return this;
         if (labelBuilder_ == null) {
           if (!other.label_.isEmpty()) {
             if (label_.isEmpty()) {
@@ -11272,9 +11272,9 @@ public Builder mergeFrom(
                 done = true;
                 break;
               case 10: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.parser(),
                         extensionRegistry);
                 if (labelBuilder_ == null) {
                   ensureLabelIsMutable();
@@ -11313,22 +11313,22 @@ public Builder mergeFrom(
       }
       private int bitField0_;
 
-      private java.util.List label_ =
+      private java.util.List label_ =
         java.util.Collections.emptyList();
       private void ensureLabelIsMutable() {
         if (!((bitField0_ & 0x00000001) != 0)) {
-          label_ = new java.util.ArrayList(label_);
+          label_ = new java.util.ArrayList(label_);
           bitField0_ |= 0x00000001;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder> labelBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder> labelBuilder_;
 
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List getLabelList() {
+      public java.util.List getLabelList() {
         if (labelBuilder_ == null) {
           return java.util.Collections.unmodifiableList(label_);
         } else {
@@ -11348,7 +11348,7 @@ public int getLabelCount() {
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index) {
         if (labelBuilder_ == null) {
           return label_.get(index);
         } else {
@@ -11359,7 +11359,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder setLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -11376,7 +11376,7 @@ public Builder setLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder setLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.set(index, builderForValue.build());
@@ -11389,7 +11389,7 @@ public Builder setLabel(
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+      public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -11406,7 +11406,7 @@ public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_go
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -11423,7 +11423,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.add(builderForValue.build());
@@ -11437,7 +11437,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.add(index, builderForValue.build());
@@ -11451,7 +11451,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addAllLabel(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -11491,14 +11491,14 @@ public Builder removeLabel(int index) {
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder getLabelBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder getLabelBuilder(
           int index) {
         return internalGetLabelFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
           int index) {
         if (labelBuilder_ == null) {
           return label_.get(index);  } else {
@@ -11508,7 +11508,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List 
+      public java.util.List 
            getLabelOrBuilderList() {
         if (labelBuilder_ != null) {
           return labelBuilder_.getMessageOrBuilderList();
@@ -11519,31 +11519,31 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder addLabelBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder addLabelBuilder() {
         return internalGetLabelFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder addLabelBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder addLabelBuilder(
           int index) {
         return internalGetLabelFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List 
+      public java.util.List 
            getLabelBuilderList() {
         return internalGetLabelFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder> 
           internalGetLabelFieldBuilder() {
         if (labelBuilder_ == null) {
           labelBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder>(
                   label_,
                   ((bitField0_ & 0x00000001) != 0),
                   getParentForChildren(),
@@ -11754,12 +11754,12 @@ public com.google.protobuf.TimestampOrBuilder getTimestampOrBuilder() {
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.Exemplar)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -11795,7 +11795,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Exemplar getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Exemplar getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -11808,12 +11808,12 @@ public interface MetricOrBuilder extends
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    java.util.List 
+    java.util.List 
         getLabelList();
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index);
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
@@ -11821,12 +11821,12 @@ public interface MetricOrBuilder extends
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    java.util.List 
+    java.util.List 
         getLabelOrBuilderList();
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
         int index);
 
     /**
@@ -11838,11 +11838,11 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      * optional .io.prometheus.client.Gauge gauge = 2;
      * @return The gauge.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getGauge();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getGauge();
     /**
      * optional .io.prometheus.client.Gauge gauge = 2;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder getGaugeOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder getGaugeOrBuilder();
 
     /**
      * optional .io.prometheus.client.Counter counter = 3;
@@ -11853,11 +11853,11 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      * optional .io.prometheus.client.Counter counter = 3;
      * @return The counter.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getCounter();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getCounter();
     /**
      * optional .io.prometheus.client.Counter counter = 3;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder getCounterOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder getCounterOrBuilder();
 
     /**
      * optional .io.prometheus.client.Summary summary = 4;
@@ -11868,11 +11868,11 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      * optional .io.prometheus.client.Summary summary = 4;
      * @return The summary.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getSummary();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getSummary();
     /**
      * optional .io.prometheus.client.Summary summary = 4;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder getSummaryOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder getSummaryOrBuilder();
 
     /**
      * optional .io.prometheus.client.Untyped untyped = 5;
@@ -11883,11 +11883,11 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      * optional .io.prometheus.client.Untyped untyped = 5;
      * @return The untyped.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getUntyped();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getUntyped();
     /**
      * optional .io.prometheus.client.Untyped untyped = 5;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder getUntypedOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder getUntypedOrBuilder();
 
     /**
      * optional .io.prometheus.client.Histogram histogram = 7;
@@ -11898,11 +11898,11 @@ io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Met
      * optional .io.prometheus.client.Histogram histogram = 7;
      * @return The histogram.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getHistogram();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getHistogram();
     /**
      * optional .io.prometheus.client.Histogram histogram = 7;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder getHistogramOrBuilder();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder getHistogramOrBuilder();
 
     /**
      * optional int64 timestamp_ms = 6;
@@ -11928,7 +11928,7 @@ public static final class Metric extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "Metric");
     }
@@ -11942,38 +11942,38 @@ private Metric() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder.class);
     }
 
     private int bitField0_;
     public static final int LABEL_FIELD_NUMBER = 1;
     @SuppressWarnings("serial")
-    private java.util.List label_;
+    private java.util.List label_;
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public java.util.List getLabelList() {
+    public java.util.List getLabelList() {
       return label_;
     }
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getLabelOrBuilderList() {
       return label_;
     }
@@ -11988,20 +11988,20 @@ public int getLabelCount() {
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index) {
       return label_.get(index);
     }
     /**
      * repeated .io.prometheus.client.LabelPair label = 1;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
         int index) {
       return label_.get(index);
     }
 
     public static final int GAUGE_FIELD_NUMBER = 2;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge gauge_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge gauge_;
     /**
      * optional .io.prometheus.client.Gauge gauge = 2;
      * @return Whether the gauge field is set.
@@ -12015,19 +12015,19 @@ public boolean hasGauge() {
      * @return The gauge.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getGauge() {
-      return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance() : gauge_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getGauge() {
+      return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance() : gauge_;
     }
     /**
      * optional .io.prometheus.client.Gauge gauge = 2;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder getGaugeOrBuilder() {
-      return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance() : gauge_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder getGaugeOrBuilder() {
+      return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance() : gauge_;
     }
 
     public static final int COUNTER_FIELD_NUMBER = 3;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter counter_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter counter_;
     /**
      * optional .io.prometheus.client.Counter counter = 3;
      * @return Whether the counter field is set.
@@ -12041,19 +12041,19 @@ public boolean hasCounter() {
      * @return The counter.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getCounter() {
-      return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance() : counter_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getCounter() {
+      return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance() : counter_;
     }
     /**
      * optional .io.prometheus.client.Counter counter = 3;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder getCounterOrBuilder() {
-      return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance() : counter_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder getCounterOrBuilder() {
+      return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance() : counter_;
     }
 
     public static final int SUMMARY_FIELD_NUMBER = 4;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary summary_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary summary_;
     /**
      * optional .io.prometheus.client.Summary summary = 4;
      * @return Whether the summary field is set.
@@ -12067,19 +12067,19 @@ public boolean hasSummary() {
      * @return The summary.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getSummary() {
-      return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance() : summary_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getSummary() {
+      return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance() : summary_;
     }
     /**
      * optional .io.prometheus.client.Summary summary = 4;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder getSummaryOrBuilder() {
-      return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance() : summary_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder getSummaryOrBuilder() {
+      return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance() : summary_;
     }
 
     public static final int UNTYPED_FIELD_NUMBER = 5;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped untyped_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped untyped_;
     /**
      * optional .io.prometheus.client.Untyped untyped = 5;
      * @return Whether the untyped field is set.
@@ -12093,19 +12093,19 @@ public boolean hasUntyped() {
      * @return The untyped.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getUntyped() {
-      return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance() : untyped_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getUntyped() {
+      return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance() : untyped_;
     }
     /**
      * optional .io.prometheus.client.Untyped untyped = 5;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder getUntypedOrBuilder() {
-      return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance() : untyped_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder getUntypedOrBuilder() {
+      return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance() : untyped_;
     }
 
     public static final int HISTOGRAM_FIELD_NUMBER = 7;
-    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram histogram_;
+    private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram histogram_;
     /**
      * optional .io.prometheus.client.Histogram histogram = 7;
      * @return Whether the histogram field is set.
@@ -12119,15 +12119,15 @@ public boolean hasHistogram() {
      * @return The histogram.
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getHistogram() {
-      return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance() : histogram_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getHistogram() {
+      return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance() : histogram_;
     }
     /**
      * optional .io.prometheus.client.Histogram histogram = 7;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder getHistogramOrBuilder() {
-      return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance() : histogram_;
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder getHistogramOrBuilder() {
+      return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance() : histogram_;
     }
 
     public static final int TIMESTAMP_MS_FIELD_NUMBER = 6;
@@ -12240,10 +12240,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric) obj;
 
       if (!getLabelList()
           .equals(other.getLabelList())) return false;
@@ -12322,44 +12322,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -12367,26 +12367,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -12399,7 +12399,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -12420,21 +12420,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.Metric)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -12498,17 +12498,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_Metric_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -12516,15 +12516,15 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric(this);
         buildPartialRepeatedFields(result);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric result) {
+      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric result) {
         if (labelBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             label_ = java.util.Collections.unmodifiableList(label_);
@@ -12536,7 +12536,7 @@ private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.
         }
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -12578,16 +12578,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.getDefaultInstance()) return this;
         if (labelBuilder_ == null) {
           if (!other.label_.isEmpty()) {
             if (label_.isEmpty()) {
@@ -12659,9 +12659,9 @@ public Builder mergeFrom(
                 done = true;
                 break;
               case 10: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.parser(),
                         extensionRegistry);
                 if (labelBuilder_ == null) {
                   ensureLabelIsMutable();
@@ -12728,22 +12728,22 @@ public Builder mergeFrom(
       }
       private int bitField0_;
 
-      private java.util.List label_ =
+      private java.util.List label_ =
         java.util.Collections.emptyList();
       private void ensureLabelIsMutable() {
         if (!((bitField0_ & 0x00000001) != 0)) {
-          label_ = new java.util.ArrayList(label_);
+          label_ = new java.util.ArrayList(label_);
           bitField0_ |= 0x00000001;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder> labelBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder> labelBuilder_;
 
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List getLabelList() {
+      public java.util.List getLabelList() {
         if (labelBuilder_ == null) {
           return java.util.Collections.unmodifiableList(label_);
         } else {
@@ -12763,7 +12763,7 @@ public int getLabelCount() {
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair getLabel(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair getLabel(int index) {
         if (labelBuilder_ == null) {
           return label_.get(index);
         } else {
@@ -12774,7 +12774,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder setLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -12791,7 +12791,7 @@ public Builder setLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder setLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.set(index, builderForValue.build());
@@ -12804,7 +12804,7 @@ public Builder setLabel(
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+      public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -12821,7 +12821,7 @@ public Builder addLabel(io.prometheus.metrics.expositionformats.generated.com_go
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair value) {
         if (labelBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -12838,7 +12838,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.add(builderForValue.build());
@@ -12852,7 +12852,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addLabel(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder builderForValue) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           label_.add(index, builderForValue.build());
@@ -12866,7 +12866,7 @@ public Builder addLabel(
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
       public Builder addAllLabel(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (labelBuilder_ == null) {
           ensureLabelIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -12906,14 +12906,14 @@ public Builder removeLabel(int index) {
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder getLabelBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder getLabelBuilder(
           int index) {
         return internalGetLabelFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder getLabelOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder getLabelOrBuilder(
           int index) {
         if (labelBuilder_ == null) {
           return label_.get(index);  } else {
@@ -12923,7 +12923,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List 
+      public java.util.List 
            getLabelOrBuilderList() {
         if (labelBuilder_ != null) {
           return labelBuilder_.getMessageOrBuilderList();
@@ -12934,31 +12934,31 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder addLabelBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder addLabelBuilder() {
         return internalGetLabelFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder addLabelBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder addLabelBuilder(
           int index) {
         return internalGetLabelFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.LabelPair label = 1;
        */
-      public java.util.List 
+      public java.util.List 
            getLabelBuilderList() {
         return internalGetLabelFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder> 
           internalGetLabelFieldBuilder() {
         if (labelBuilder_ == null) {
           labelBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.LabelPairOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPair.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.LabelPairOrBuilder>(
                   label_,
                   ((bitField0_ & 0x00000001) != 0),
                   getParentForChildren(),
@@ -12968,9 +12968,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
         return labelBuilder_;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge gauge_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge gauge_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder> gaugeBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder> gaugeBuilder_;
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        * @return Whether the gauge field is set.
@@ -12982,9 +12982,9 @@ public boolean hasGauge() {
        * optional .io.prometheus.client.Gauge gauge = 2;
        * @return The gauge.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge getGauge() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge getGauge() {
         if (gaugeBuilder_ == null) {
-          return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance() : gauge_;
+          return gauge_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance() : gauge_;
         } else {
           return gaugeBuilder_.getMessage();
         }
@@ -12992,7 +12992,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
-      public Builder setGauge(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge value) {
+      public Builder setGauge(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge value) {
         if (gaugeBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13009,7 +13009,7 @@ public Builder setGauge(io.prometheus.metrics.expositionformats.generated.com_go
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
       public Builder setGauge(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder builderForValue) {
         if (gaugeBuilder_ == null) {
           gauge_ = builderForValue.build();
         } else {
@@ -13022,11 +13022,11 @@ public Builder setGauge(
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
-      public Builder mergeGauge(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge value) {
+      public Builder mergeGauge(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge value) {
         if (gaugeBuilder_ == null) {
           if (((bitField0_ & 0x00000002) != 0) &&
             gauge_ != null &&
-            gauge_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance()) {
+            gauge_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance()) {
             getGaugeBuilder().mergeFrom(value);
           } else {
             gauge_ = value;
@@ -13056,7 +13056,7 @@ public Builder clearGauge() {
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder getGaugeBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder getGaugeBuilder() {
         bitField0_ |= 0x00000002;
         onChanged();
         return internalGetGaugeFieldBuilder().getBuilder();
@@ -13064,23 +13064,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder getGaugeOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder getGaugeOrBuilder() {
         if (gaugeBuilder_ != null) {
           return gaugeBuilder_.getMessageOrBuilder();
         } else {
           return gauge_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.getDefaultInstance() : gauge_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.getDefaultInstance() : gauge_;
         }
       }
       /**
        * optional .io.prometheus.client.Gauge gauge = 2;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder> 
           internalGetGaugeFieldBuilder() {
         if (gaugeBuilder_ == null) {
           gaugeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.GaugeOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Gauge.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.GaugeOrBuilder>(
                   getGauge(),
                   getParentForChildren(),
                   isClean());
@@ -13089,9 +13089,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
         return gaugeBuilder_;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter counter_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter counter_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder> counterBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder> counterBuilder_;
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        * @return Whether the counter field is set.
@@ -13103,9 +13103,9 @@ public boolean hasCounter() {
        * optional .io.prometheus.client.Counter counter = 3;
        * @return The counter.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter getCounter() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter getCounter() {
         if (counterBuilder_ == null) {
-          return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance() : counter_;
+          return counter_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance() : counter_;
         } else {
           return counterBuilder_.getMessage();
         }
@@ -13113,7 +13113,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        */
-      public Builder setCounter(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter value) {
+      public Builder setCounter(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter value) {
         if (counterBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13130,7 +13130,7 @@ public Builder setCounter(io.prometheus.metrics.expositionformats.generated.com_
        * optional .io.prometheus.client.Counter counter = 3;
        */
       public Builder setCounter(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder builderForValue) {
         if (counterBuilder_ == null) {
           counter_ = builderForValue.build();
         } else {
@@ -13143,11 +13143,11 @@ public Builder setCounter(
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        */
-      public Builder mergeCounter(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter value) {
+      public Builder mergeCounter(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter value) {
         if (counterBuilder_ == null) {
           if (((bitField0_ & 0x00000004) != 0) &&
             counter_ != null &&
-            counter_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance()) {
+            counter_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance()) {
             getCounterBuilder().mergeFrom(value);
           } else {
             counter_ = value;
@@ -13177,7 +13177,7 @@ public Builder clearCounter() {
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder getCounterBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder getCounterBuilder() {
         bitField0_ |= 0x00000004;
         onChanged();
         return internalGetCounterFieldBuilder().getBuilder();
@@ -13185,23 +13185,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder getCounterOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder getCounterOrBuilder() {
         if (counterBuilder_ != null) {
           return counterBuilder_.getMessageOrBuilder();
         } else {
           return counter_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.getDefaultInstance() : counter_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.getDefaultInstance() : counter_;
         }
       }
       /**
        * optional .io.prometheus.client.Counter counter = 3;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder> 
           internalGetCounterFieldBuilder() {
         if (counterBuilder_ == null) {
           counterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.CounterOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Counter.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.CounterOrBuilder>(
                   getCounter(),
                   getParentForChildren(),
                   isClean());
@@ -13210,9 +13210,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
         return counterBuilder_;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary summary_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary summary_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder> summaryBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder> summaryBuilder_;
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        * @return Whether the summary field is set.
@@ -13224,9 +13224,9 @@ public boolean hasSummary() {
        * optional .io.prometheus.client.Summary summary = 4;
        * @return The summary.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary getSummary() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary getSummary() {
         if (summaryBuilder_ == null) {
-          return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance() : summary_;
+          return summary_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance() : summary_;
         } else {
           return summaryBuilder_.getMessage();
         }
@@ -13234,7 +13234,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        */
-      public Builder setSummary(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary value) {
+      public Builder setSummary(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary value) {
         if (summaryBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13251,7 +13251,7 @@ public Builder setSummary(io.prometheus.metrics.expositionformats.generated.com_
        * optional .io.prometheus.client.Summary summary = 4;
        */
       public Builder setSummary(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder builderForValue) {
         if (summaryBuilder_ == null) {
           summary_ = builderForValue.build();
         } else {
@@ -13264,11 +13264,11 @@ public Builder setSummary(
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        */
-      public Builder mergeSummary(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary value) {
+      public Builder mergeSummary(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary value) {
         if (summaryBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0) &&
             summary_ != null &&
-            summary_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance()) {
+            summary_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance()) {
             getSummaryBuilder().mergeFrom(value);
           } else {
             summary_ = value;
@@ -13298,7 +13298,7 @@ public Builder clearSummary() {
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder getSummaryBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder getSummaryBuilder() {
         bitField0_ |= 0x00000008;
         onChanged();
         return internalGetSummaryFieldBuilder().getBuilder();
@@ -13306,23 +13306,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder getSummaryOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder getSummaryOrBuilder() {
         if (summaryBuilder_ != null) {
           return summaryBuilder_.getMessageOrBuilder();
         } else {
           return summary_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.getDefaultInstance() : summary_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.getDefaultInstance() : summary_;
         }
       }
       /**
        * optional .io.prometheus.client.Summary summary = 4;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder> 
           internalGetSummaryFieldBuilder() {
         if (summaryBuilder_ == null) {
           summaryBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.SummaryOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Summary.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.SummaryOrBuilder>(
                   getSummary(),
                   getParentForChildren(),
                   isClean());
@@ -13331,9 +13331,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
         return summaryBuilder_;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped untyped_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped untyped_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder> untypedBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder> untypedBuilder_;
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        * @return Whether the untyped field is set.
@@ -13345,9 +13345,9 @@ public boolean hasUntyped() {
        * optional .io.prometheus.client.Untyped untyped = 5;
        * @return The untyped.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped getUntyped() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped getUntyped() {
         if (untypedBuilder_ == null) {
-          return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance() : untyped_;
+          return untyped_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance() : untyped_;
         } else {
           return untypedBuilder_.getMessage();
         }
@@ -13355,7 +13355,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
-      public Builder setUntyped(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped value) {
+      public Builder setUntyped(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped value) {
         if (untypedBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13372,7 +13372,7 @@ public Builder setUntyped(io.prometheus.metrics.expositionformats.generated.com_
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
       public Builder setUntyped(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder builderForValue) {
         if (untypedBuilder_ == null) {
           untyped_ = builderForValue.build();
         } else {
@@ -13385,11 +13385,11 @@ public Builder setUntyped(
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
-      public Builder mergeUntyped(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped value) {
+      public Builder mergeUntyped(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped value) {
         if (untypedBuilder_ == null) {
           if (((bitField0_ & 0x00000010) != 0) &&
             untyped_ != null &&
-            untyped_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance()) {
+            untyped_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance()) {
             getUntypedBuilder().mergeFrom(value);
           } else {
             untyped_ = value;
@@ -13419,7 +13419,7 @@ public Builder clearUntyped() {
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder getUntypedBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder getUntypedBuilder() {
         bitField0_ |= 0x00000010;
         onChanged();
         return internalGetUntypedFieldBuilder().getBuilder();
@@ -13427,23 +13427,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder getUntypedOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder getUntypedOrBuilder() {
         if (untypedBuilder_ != null) {
           return untypedBuilder_.getMessageOrBuilder();
         } else {
           return untyped_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.getDefaultInstance() : untyped_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.getDefaultInstance() : untyped_;
         }
       }
       /**
        * optional .io.prometheus.client.Untyped untyped = 5;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder> 
           internalGetUntypedFieldBuilder() {
         if (untypedBuilder_ == null) {
           untypedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.UntypedOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Untyped.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.UntypedOrBuilder>(
                   getUntyped(),
                   getParentForChildren(),
                   isClean());
@@ -13452,9 +13452,9 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
         return untypedBuilder_;
       }
 
-      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram histogram_;
+      private io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram histogram_;
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder> histogramBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder> histogramBuilder_;
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        * @return Whether the histogram field is set.
@@ -13466,9 +13466,9 @@ public boolean hasHistogram() {
        * optional .io.prometheus.client.Histogram histogram = 7;
        * @return The histogram.
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram getHistogram() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram getHistogram() {
         if (histogramBuilder_ == null) {
-          return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance() : histogram_;
+          return histogram_ == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance() : histogram_;
         } else {
           return histogramBuilder_.getMessage();
         }
@@ -13476,7 +13476,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
-      public Builder setHistogram(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram value) {
+      public Builder setHistogram(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram value) {
         if (histogramBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -13493,7 +13493,7 @@ public Builder setHistogram(io.prometheus.metrics.expositionformats.generated.co
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
       public Builder setHistogram(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder builderForValue) {
         if (histogramBuilder_ == null) {
           histogram_ = builderForValue.build();
         } else {
@@ -13506,11 +13506,11 @@ public Builder setHistogram(
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
-      public Builder mergeHistogram(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram value) {
+      public Builder mergeHistogram(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram value) {
         if (histogramBuilder_ == null) {
           if (((bitField0_ & 0x00000020) != 0) &&
             histogram_ != null &&
-            histogram_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance()) {
+            histogram_ != io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance()) {
             getHistogramBuilder().mergeFrom(value);
           } else {
             histogram_ = value;
@@ -13540,7 +13540,7 @@ public Builder clearHistogram() {
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder getHistogramBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder getHistogramBuilder() {
         bitField0_ |= 0x00000020;
         onChanged();
         return internalGetHistogramFieldBuilder().getBuilder();
@@ -13548,23 +13548,23 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder getHistogramOrBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder getHistogramOrBuilder() {
         if (histogramBuilder_ != null) {
           return histogramBuilder_.getMessageOrBuilder();
         } else {
           return histogram_ == null ?
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.getDefaultInstance() : histogram_;
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.getDefaultInstance() : histogram_;
         }
       }
       /**
        * optional .io.prometheus.client.Histogram histogram = 7;
        */
       private com.google.protobuf.SingleFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder> 
           internalGetHistogramFieldBuilder() {
         if (histogramBuilder_ == null) {
           histogramBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.HistogramOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Histogram.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.HistogramOrBuilder>(
                   getHistogram(),
                   getParentForChildren(),
                   isClean());
@@ -13617,12 +13617,12 @@ public Builder clearTimestampMs() {
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.Metric)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -13658,7 +13658,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -13711,17 +13711,17 @@ public interface MetricFamilyOrBuilder extends
      * optional .io.prometheus.client.MetricType type = 3;
      * @return The type.
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType getType();
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType getType();
 
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
-    java.util.List 
+    java.util.List 
         getMetricList();
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getMetric(int index);
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getMetric(int index);
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
@@ -13729,12 +13729,12 @@ public interface MetricFamilyOrBuilder extends
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
-    java.util.List 
+    java.util.List 
         getMetricOrBuilderList();
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
-    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder getMetricOrBuilder(
+    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder getMetricOrBuilder(
         int index);
 
     /**
@@ -13767,7 +13767,7 @@ public static final class MetricFamily extends
         com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
         /* major= */ 4,
         /* minor= */ 35,
-        /* patch= */ 0,
+        /* patch= */ 1,
         /* suffix= */ "",
         "MetricFamily");
     }
@@ -13785,20 +13785,20 @@ private MetricFamily() {
 
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
     }
 
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_fieldAccessorTable
+      return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.Builder.class);
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.Builder.class);
     }
 
     private int bitField0_;
@@ -13913,26 +13913,26 @@ public java.lang.String getHelp() {
      * optional .io.prometheus.client.MetricType type = 3;
      * @return The type.
      */
-    @java.lang.Override public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType getType() {
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType result = io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType.forNumber(type_);
-      return result == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType.COUNTER : result;
+    @java.lang.Override public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType getType() {
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType result = io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType.forNumber(type_);
+      return result == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType.COUNTER : result;
     }
 
     public static final int METRIC_FIELD_NUMBER = 4;
     @SuppressWarnings("serial")
-    private java.util.List metric_;
+    private java.util.List metric_;
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
     @java.lang.Override
-    public java.util.List getMetricList() {
+    public java.util.List getMetricList() {
       return metric_;
     }
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
     @java.lang.Override
-    public java.util.List 
+    public java.util.List 
         getMetricOrBuilderList() {
       return metric_;
     }
@@ -13947,14 +13947,14 @@ public int getMetricCount() {
      * repeated .io.prometheus.client.Metric metric = 4;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getMetric(int index) {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getMetric(int index) {
       return metric_.get(index);
     }
     /**
      * repeated .io.prometheus.client.Metric metric = 4;
      */
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder getMetricOrBuilder(
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder getMetricOrBuilder(
         int index) {
       return metric_.get(index);
     }
@@ -14082,10 +14082,10 @@ public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily)) {
+      if (!(obj instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily)) {
         return super.equals(obj);
       }
-      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily) obj;
+      io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily other = (io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily) obj;
 
       if (hasName() != other.hasName()) return false;
       if (hasName()) {
@@ -14144,44 +14144,44 @@ public int hashCode() {
       return hash;
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(byte[] data)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -14189,26 +14189,26 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseDelimitedFrom(java.io.InputStream input)
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseDelimitedFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily parseFrom(
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -14221,7 +14221,7 @@ public static io.prometheus.metrics.expositionformats.generated.com_google_proto
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily prototype) {
+    public static Builder newBuilder(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -14242,21 +14242,21 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder implements
         // @@protoc_insertion_point(builder_implements:io.prometheus.client.MetricFamily)
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamilyOrBuilder {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamilyOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_fieldAccessorTable
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.Builder.class);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.class, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.Builder.class);
       }
 
-      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.newBuilder()
+      // Construct using io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.newBuilder()
       private Builder() {
 
       }
@@ -14287,17 +14287,17 @@ public Builder clear() {
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.internal_static_io_prometheus_client_MetricFamily_descriptor;
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily getDefaultInstanceForType() {
-        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.getDefaultInstance();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily getDefaultInstanceForType() {
+        return io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.getDefaultInstance();
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily build() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily result = buildPartial();
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily build() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -14305,15 +14305,15 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       }
 
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily buildPartial() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily(this);
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily buildPartial() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily result = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily(this);
         buildPartialRepeatedFields(result);
         if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily result) {
+      private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily result) {
         if (metricBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0)) {
             metric_ = java.util.Collections.unmodifiableList(metric_);
@@ -14325,7 +14325,7 @@ private void buildPartialRepeatedFields(io.prometheus.metrics.expositionformats.
         }
       }
 
-      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily result) {
+      private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily result) {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -14349,16 +14349,16 @@ private void buildPartial0(io.prometheus.metrics.expositionformats.generated.com
 
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily) {
-          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily)other);
+        if (other instanceof io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily) {
+          return mergeFrom((io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily other) {
-        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily.getDefaultInstance()) return this;
+      public Builder mergeFrom(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily other) {
+        if (other == io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily.getDefaultInstance()) return this;
         if (other.hasName()) {
           name_ = other.name_;
           bitField0_ |= 0x00000001;
@@ -14441,8 +14441,8 @@ public Builder mergeFrom(
               } // case 18
               case 24: {
                 int tmpRaw = input.readEnum();
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType tmpValue =
-                    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType.forNumber(tmpRaw);
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType tmpValue =
+                    io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType.forNumber(tmpRaw);
                 if (tmpValue == null) {
                   mergeUnknownVarintField(3, tmpRaw);
                 } else {
@@ -14452,9 +14452,9 @@ public Builder mergeFrom(
                 break;
               } // case 24
               case 34: {
-                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric m =
+                io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric m =
                     input.readMessage(
-                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.parser(),
+                        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.parser(),
                         extensionRegistry);
                 if (metricBuilder_ == null) {
                   ensureMetricIsMutable();
@@ -14659,16 +14659,16 @@ public Builder setHelpBytes(
        * @return The type.
        */
       @java.lang.Override
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType getType() {
-        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType result = io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType.forNumber(type_);
-        return result == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType.COUNTER : result;
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType getType() {
+        io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType result = io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType.forNumber(type_);
+        return result == null ? io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType.COUNTER : result;
       }
       /**
        * optional .io.prometheus.client.MetricType type = 3;
        * @param value The type to set.
        * @return This builder for chaining.
        */
-      public Builder setType(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricType value) {
+      public Builder setType(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricType value) {
         if (value == null) { throw new NullPointerException(); }
         bitField0_ |= 0x00000004;
         type_ = value.getNumber();
@@ -14686,22 +14686,22 @@ public Builder clearType() {
         return this;
       }
 
-      private java.util.List metric_ =
+      private java.util.List metric_ =
         java.util.Collections.emptyList();
       private void ensureMetricIsMutable() {
         if (!((bitField0_ & 0x00000008) != 0)) {
-          metric_ = new java.util.ArrayList(metric_);
+          metric_ = new java.util.ArrayList(metric_);
           bitField0_ |= 0x00000008;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder> metricBuilder_;
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder> metricBuilder_;
 
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public java.util.List getMetricList() {
+      public java.util.List getMetricList() {
         if (metricBuilder_ == null) {
           return java.util.Collections.unmodifiableList(metric_);
         } else {
@@ -14721,7 +14721,7 @@ public int getMetricCount() {
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric getMetric(int index) {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric getMetric(int index) {
         if (metricBuilder_ == null) {
           return metric_.get(index);
         } else {
@@ -14732,7 +14732,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder setMetric(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric value) {
         if (metricBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -14749,7 +14749,7 @@ public Builder setMetric(
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder setMetric(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder builderForValue) {
         if (metricBuilder_ == null) {
           ensureMetricIsMutable();
           metric_.set(index, builderForValue.build());
@@ -14762,7 +14762,7 @@ public Builder setMetric(
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public Builder addMetric(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric value) {
+      public Builder addMetric(io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric value) {
         if (metricBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -14779,7 +14779,7 @@ public Builder addMetric(io.prometheus.metrics.expositionformats.generated.com_g
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder addMetric(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric value) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric value) {
         if (metricBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -14796,7 +14796,7 @@ public Builder addMetric(
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder addMetric(
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder builderForValue) {
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder builderForValue) {
         if (metricBuilder_ == null) {
           ensureMetricIsMutable();
           metric_.add(builderForValue.build());
@@ -14810,7 +14810,7 @@ public Builder addMetric(
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder addMetric(
-          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder builderForValue) {
+          int index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder builderForValue) {
         if (metricBuilder_ == null) {
           ensureMetricIsMutable();
           metric_.add(index, builderForValue.build());
@@ -14824,7 +14824,7 @@ public Builder addMetric(
        * repeated .io.prometheus.client.Metric metric = 4;
        */
       public Builder addAllMetric(
-          java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (metricBuilder_ == null) {
           ensureMetricIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -14864,14 +14864,14 @@ public Builder removeMetric(int index) {
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder getMetricBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder getMetricBuilder(
           int index) {
         return internalGetMetricFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder getMetricOrBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder getMetricOrBuilder(
           int index) {
         if (metricBuilder_ == null) {
           return metric_.get(index);  } else {
@@ -14881,7 +14881,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public java.util.List 
+      public java.util.List 
            getMetricOrBuilderList() {
         if (metricBuilder_ != null) {
           return metricBuilder_.getMessageOrBuilderList();
@@ -14892,31 +14892,31 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder addMetricBuilder() {
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder addMetricBuilder() {
         return internalGetMetricFieldBuilder().addBuilder(
-            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.getDefaultInstance());
+            io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder addMetricBuilder(
+      public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder addMetricBuilder(
           int index) {
         return internalGetMetricFieldBuilder().addBuilder(
-            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.getDefaultInstance());
+            index, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.getDefaultInstance());
       }
       /**
        * repeated .io.prometheus.client.Metric metric = 4;
        */
-      public java.util.List 
+      public java.util.List 
            getMetricBuilderList() {
         return internalGetMetricFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilder<
-          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder> 
+          io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder> 
           internalGetMetricFieldBuilder() {
         if (metricBuilder_ == null) {
           metricBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricOrBuilder>(
+              io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.Metric.Builder, io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricOrBuilder>(
                   metric_,
                   ((bitField0_ & 0x00000008) != 0),
                   getParentForChildren(),
@@ -15010,12 +15010,12 @@ public Builder setUnitBytes(
     }
 
     // @@protoc_insertion_point(class_scope:io.prometheus.client.MetricFamily)
-    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily DEFAULT_INSTANCE;
+    private static final io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily();
+      DEFAULT_INSTANCE = new io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily();
     }
 
-    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily getDefaultInstance() {
+    public static io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
@@ -15051,7 +15051,7 @@ public com.google.protobuf.Parser getParserForType() {
     }
 
     @java.lang.Override
-    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics.MetricFamily getDefaultInstanceForType() {
+    public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics.MetricFamily getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -15176,7 +15176,7 @@ public io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_3
       "\002\022\013\n\007UNTYPED\020\003\022\r\n\tHISTOGRAM\020\004\022\023\n\017GAUGE_H" +
       "ISTOGRAM\020\005B\212\001\nLio.prometheus.metrics.exp" +
       "ositionformats.generated.com_google_prot" +
-      "obuf_4_35_0Z:github.com/prometheus/clien" +
+      "obuf_4_35_1Z:github.com/prometheus/clien" +
       "t_model/go;io_prometheus_client"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
diff --git a/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/generated/Metrics.java b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/generated/Metrics.java
index 231d33d7d..89130259e 100644
--- a/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/generated/Metrics.java
+++ b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/generated/Metrics.java
@@ -1,6 +1,6 @@
 package io.prometheus.metrics.expositionformats.generated;
 
 public final class Metrics
-    extends io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_0.Metrics {
+    extends io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_35_1.Metrics {
   private Metrics() {}
 }
diff --git a/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormat.java b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormat.java
new file mode 100644
index 000000000..27056f93c
--- /dev/null
+++ b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormat.java
@@ -0,0 +1,301 @@
+package io.prometheus.metrics.expositionformats.internal;
+
+import com.google.protobuf.ByteString;
+import com.google.protobuf.TextFormat;
+import com.google.protobuf.Timestamp;
+import io.prometheus.metrics.expositionformats.generated.Metrics;
+
+@SuppressWarnings("NonCanonicalType")
+class PrometheusProtobufDebugFormat {
+
+  private static final String INDENT = "  ";
+
+  static String toDebugString(Metrics.MetricFamily metricFamily) {
+    StringBuilder result = new StringBuilder();
+    appendMetricFamily(result, "", metricFamily);
+    return result.toString();
+  }
+
+  private static void appendMetricFamily(
+      StringBuilder result, String indent, Metrics.MetricFamily metricFamily) {
+    appendString(result, indent, "name", metricFamily.hasName(), metricFamily.getName());
+    appendString(result, indent, "help", metricFamily.hasHelp(), metricFamily.getHelp());
+    if (metricFamily.hasType()) {
+      appendScalar(result, indent, "type", metricFamily.getType().name());
+    }
+    for (Metrics.Metric metric : metricFamily.getMetricList()) {
+      appendMessage(result, indent, "metric", () -> appendMetric(result, indent + INDENT, metric));
+    }
+    appendString(result, indent, "unit", metricFamily.hasUnit(), metricFamily.getUnit());
+  }
+
+  private static void appendMetric(StringBuilder result, String indent, Metrics.Metric metric) {
+    for (Metrics.LabelPair label : metric.getLabelList()) {
+      appendMessage(result, indent, "label", () -> appendLabel(result, indent + INDENT, label));
+    }
+    if (metric.hasGauge()) {
+      appendMessage(
+          result, indent, "gauge", () -> appendGauge(result, indent + INDENT, metric.getGauge()));
+    }
+    if (metric.hasCounter()) {
+      appendMessage(
+          result,
+          indent,
+          "counter",
+          () -> appendCounter(result, indent + INDENT, metric.getCounter()));
+    }
+    if (metric.hasSummary()) {
+      appendMessage(
+          result,
+          indent,
+          "summary",
+          () -> appendSummary(result, indent + INDENT, metric.getSummary()));
+    }
+    if (metric.hasUntyped()) {
+      appendMessage(
+          result,
+          indent,
+          "untyped",
+          () -> appendUntyped(result, indent + INDENT, metric.getUntyped()));
+    }
+    appendScalar(result, indent, "timestamp_ms", metric.hasTimestampMs(), metric.getTimestampMs());
+    if (metric.hasHistogram()) {
+      appendMessage(
+          result,
+          indent,
+          "histogram",
+          () -> appendHistogram(result, indent + INDENT, metric.getHistogram()));
+    }
+  }
+
+  private static void appendLabel(StringBuilder result, String indent, Metrics.LabelPair label) {
+    appendString(result, indent, "name", label.hasName(), label.getName());
+    appendString(result, indent, "value", label.hasValue(), label.getValue());
+  }
+
+  private static void appendGauge(StringBuilder result, String indent, Metrics.Gauge gauge) {
+    appendScalar(result, indent, "value", gauge.hasValue(), gauge.getValue());
+  }
+
+  private static void appendCounter(StringBuilder result, String indent, Metrics.Counter counter) {
+    appendScalar(result, indent, "value", counter.hasValue(), counter.getValue());
+    if (counter.hasExemplar()) {
+      appendMessage(
+          result,
+          indent,
+          "exemplar",
+          () -> appendExemplar(result, indent + INDENT, counter.getExemplar()));
+    }
+    appendTimestamp(
+        result,
+        indent,
+        "created_timestamp",
+        counter.hasCreatedTimestamp(),
+        counter.getCreatedTimestamp());
+  }
+
+  private static void appendSummary(StringBuilder result, String indent, Metrics.Summary summary) {
+    appendScalar(
+        result, indent, "sample_count", summary.hasSampleCount(), summary.getSampleCount());
+    appendScalar(result, indent, "sample_sum", summary.hasSampleSum(), summary.getSampleSum());
+    for (Metrics.Quantile quantile : summary.getQuantileList()) {
+      appendMessage(
+          result, indent, "quantile", () -> appendQuantile(result, indent + INDENT, quantile));
+    }
+    appendTimestamp(
+        result,
+        indent,
+        "created_timestamp",
+        summary.hasCreatedTimestamp(),
+        summary.getCreatedTimestamp());
+  }
+
+  private static void appendQuantile(
+      StringBuilder result, String indent, Metrics.Quantile quantile) {
+    appendScalar(result, indent, "quantile", quantile.hasQuantile(), quantile.getQuantile());
+    appendScalar(result, indent, "value", quantile.hasValue(), quantile.getValue());
+  }
+
+  private static void appendUntyped(StringBuilder result, String indent, Metrics.Untyped untyped) {
+    appendScalar(result, indent, "value", untyped.hasValue(), untyped.getValue());
+  }
+
+  private static void appendHistogram(
+      StringBuilder result, String indent, Metrics.Histogram histogram) {
+    appendScalar(
+        result, indent, "sample_count", histogram.hasSampleCount(), histogram.getSampleCount());
+    appendScalar(result, indent, "sample_sum", histogram.hasSampleSum(), histogram.getSampleSum());
+    for (Metrics.Bucket bucket : histogram.getBucketList()) {
+      appendMessage(result, indent, "bucket", () -> appendBucket(result, indent + INDENT, bucket));
+    }
+    appendScalar(
+        result,
+        indent,
+        "sample_count_float",
+        histogram.hasSampleCountFloat(),
+        histogram.getSampleCountFloat());
+    appendScalar(result, indent, "schema", histogram.hasSchema(), histogram.getSchema());
+    appendScalar(
+        result,
+        indent,
+        "zero_threshold",
+        histogram.hasZeroThreshold(),
+        histogram.getZeroThreshold());
+    appendScalar(result, indent, "zero_count", histogram.hasZeroCount(), histogram.getZeroCount());
+    appendScalar(
+        result,
+        indent,
+        "zero_count_float",
+        histogram.hasZeroCountFloat(),
+        histogram.getZeroCountFloat());
+    for (Metrics.BucketSpan span : histogram.getNegativeSpanList()) {
+      appendMessage(
+          result, indent, "negative_span", () -> appendBucketSpan(result, indent + INDENT, span));
+    }
+    for (int i = 0; i < histogram.getNegativeDeltaCount(); i++) {
+      appendScalar(result, indent, "negative_delta", histogram.getNegativeDelta(i));
+    }
+    for (int i = 0; i < histogram.getNegativeCountCount(); i++) {
+      appendScalar(result, indent, "negative_count", histogram.getNegativeCount(i));
+    }
+    for (Metrics.BucketSpan span : histogram.getPositiveSpanList()) {
+      appendMessage(
+          result, indent, "positive_span", () -> appendBucketSpan(result, indent + INDENT, span));
+    }
+    for (int i = 0; i < histogram.getPositiveDeltaCount(); i++) {
+      appendScalar(result, indent, "positive_delta", histogram.getPositiveDelta(i));
+    }
+    for (int i = 0; i < histogram.getPositiveCountCount(); i++) {
+      appendScalar(result, indent, "positive_count", histogram.getPositiveCount(i));
+    }
+    appendTimestamp(
+        result,
+        indent,
+        "created_timestamp",
+        histogram.hasCreatedTimestamp(),
+        histogram.getCreatedTimestamp());
+    for (Metrics.Exemplar exemplar : histogram.getExemplarsList()) {
+      appendMessage(
+          result, indent, "exemplars", () -> appendExemplar(result, indent + INDENT, exemplar));
+    }
+  }
+
+  private static void appendBucket(StringBuilder result, String indent, Metrics.Bucket bucket) {
+    appendScalar(
+        result,
+        indent,
+        "cumulative_count",
+        bucket.hasCumulativeCount(),
+        bucket.getCumulativeCount());
+    appendScalar(result, indent, "upper_bound", bucket.hasUpperBound(), bucket.getUpperBound());
+    if (bucket.hasExemplar()) {
+      appendMessage(
+          result,
+          indent,
+          "exemplar",
+          () -> appendExemplar(result, indent + INDENT, bucket.getExemplar()));
+    }
+    appendScalar(
+        result,
+        indent,
+        "cumulative_count_float",
+        bucket.hasCumulativeCountFloat(),
+        bucket.getCumulativeCountFloat());
+  }
+
+  private static void appendBucketSpan(
+      StringBuilder result, String indent, Metrics.BucketSpan span) {
+    appendScalar(result, indent, "offset", span.hasOffset(), span.getOffset());
+    appendScalar(result, indent, "length", span.hasLength(), span.getLength());
+  }
+
+  private static void appendExemplar(
+      StringBuilder result, String indent, Metrics.Exemplar exemplar) {
+    for (Metrics.LabelPair label : exemplar.getLabelList()) {
+      appendMessage(result, indent, "label", () -> appendLabel(result, indent + INDENT, label));
+    }
+    appendScalar(result, indent, "value", exemplar.hasValue(), exemplar.getValue());
+    appendTimestamp(result, indent, "timestamp", exemplar.hasTimestamp(), exemplar.getTimestamp());
+  }
+
+  private static void appendTimestamp(
+      StringBuilder result, String indent, String fieldName, boolean present, Timestamp timestamp) {
+    if (present) {
+      appendMessage(
+          result,
+          indent,
+          fieldName,
+          () -> {
+            appendScalar(result, indent + INDENT, "seconds", timestamp.getSeconds());
+            appendScalar(result, indent + INDENT, "nanos", timestamp.getNanos());
+          });
+    }
+  }
+
+  private static void appendString(
+      StringBuilder result, String indent, String fieldName, boolean present, String value) {
+    if (present) {
+      appendScalar(result, indent, fieldName, quote(value));
+    }
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, boolean present, double value) {
+    if (present) {
+      appendScalar(result, indent, fieldName, formatDouble(value));
+    }
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, boolean present, long value) {
+    if (present) {
+      appendScalar(result, indent, fieldName, Long.toString(value));
+    }
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, boolean present, int value) {
+    if (present) {
+      appendScalar(result, indent, fieldName, Integer.toString(value));
+    }
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, double value) {
+    appendScalar(result, indent, fieldName, formatDouble(value));
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, long value) {
+    appendScalar(result, indent, fieldName, Long.toString(value));
+  }
+
+  private static void appendScalar(
+      StringBuilder result, String indent, String fieldName, String value) {
+    result.append(indent).append(fieldName).append(": ").append(value).append('\n');
+  }
+
+  private static void appendMessage(
+      StringBuilder result, String indent, String fieldName, Runnable appendBody) {
+    result.append(indent).append(fieldName).append(" {\n");
+    appendBody.run();
+    result.append(indent).append("}\n");
+  }
+
+  private static String quote(String value) {
+    return "\"" + TextFormat.escapeBytes(ByteString.copyFromUtf8(value)) + "\"";
+  }
+
+  private static String formatDouble(double value) {
+    if (Double.isNaN(value)) {
+      return "nan";
+    }
+    if (value == Double.POSITIVE_INFINITY) {
+      return "inf";
+    }
+    if (value == Double.NEGATIVE_INFINITY) {
+      return "-inf";
+    }
+    return Double.toString(value);
+  }
+}
diff --git a/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java
index 9c3f74943..734dc5b1d 100644
--- a/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java
+++ b/prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java
@@ -3,7 +3,6 @@
 import static io.prometheus.metrics.expositionformats.internal.ProtobufUtil.timestampFromMillis;
 import static io.prometheus.metrics.model.snapshots.SnapshotEscaper.getSnapshotLabelName;
 
-import com.google.protobuf.TextFormat;
 import io.prometheus.metrics.config.EscapingScheme;
 import io.prometheus.metrics.expositionformats.ExpositionFormatWriter;
 import io.prometheus.metrics.expositionformats.TextFormatUtil;
@@ -51,9 +50,8 @@ public String toDebugString(MetricSnapshots metricSnapshots, EscapingScheme esca
       MetricSnapshot snapshot = SnapshotEscaper.escapeMetricSnapshot(s, escapingScheme);
       if (!snapshot.getDataPoints().isEmpty()) {
         stringBuilder.append(
-            TextFormat.printer()
-                .printToString(
-                    convert(snapshot, s.getMetadata().getOriginalName(), escapingScheme)));
+            PrometheusProtobufDebugFormat.toDebugString(
+                convert(snapshot, s.getMetadata().getOriginalName(), escapingScheme)));
       }
     }
     return stringBuilder.toString();
diff --git a/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/ProtobufExpositionFormatsTest.java b/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/ProtobufExpositionFormatsTest.java
index 5f871c585..0a3dc3f69 100644
--- a/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/ProtobufExpositionFormatsTest.java
+++ b/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/ProtobufExpositionFormatsTest.java
@@ -2,11 +2,16 @@
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import com.google.protobuf.TextFormat;
 import io.prometheus.metrics.config.EscapingScheme;
 import io.prometheus.metrics.expositionformats.generated.Metrics;
 import io.prometheus.metrics.expositionformats.internal.PrometheusProtobufWriterImpl;
 import io.prometheus.metrics.expositionformats.internal.ProtobufUtil;
+import io.prometheus.metrics.model.snapshots.HistogramSnapshot;
 import io.prometheus.metrics.model.snapshots.MetricSnapshot;
+import io.prometheus.metrics.model.snapshots.MetricSnapshots;
+import io.prometheus.metrics.model.snapshots.NativeHistogramBuckets;
+import org.junit.jupiter.api.Test;
 
 @SuppressWarnings("NonCanonicalType")
 class ProtobufExpositionFormatsTest extends ExpositionFormatsTest {
@@ -19,4 +24,30 @@ protected void assertPrometheusProtobuf(String expected, MetricSnapshot snapshot
     String actual = ProtobufUtil.shortDebugString(protobufData);
     assertThat(actual).isEqualTo(expected);
   }
+
+  @Test
+  void testNativeHistogramDebugString() {
+    HistogramSnapshot histogram =
+        HistogramSnapshot.builder()
+            .name("request_latency_seconds")
+            .help("request latency")
+            .dataPoint(
+                HistogramSnapshot.HistogramDataPointSnapshot.builder()
+                    .sum(0.123)
+                    .nativeSchema(5)
+                    .nativeZeroThreshold(2.938735877055719E-39)
+                    .nativeZeroCount(0)
+                    .nativeBucketsForPositiveValues(
+                        NativeHistogramBuckets.builder().bucket(-96, 1).build())
+                    .build())
+            .build();
+
+    PrometheusProtobufWriterImpl writer = new PrometheusProtobufWriterImpl();
+    Metrics.MetricFamily protobufData =
+        writer.convert(histogram, EscapingScheme.UNDERSCORE_ESCAPING);
+
+    assertThat(
+            writer.toDebugString(MetricSnapshots.of(histogram), EscapingScheme.UNDERSCORE_ESCAPING))
+        .isEqualTo(TextFormat.printer().printToString(protobufData));
+  }
 }
diff --git a/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormatTest.java b/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormatTest.java
new file mode 100644
index 000000000..8aaab257b
--- /dev/null
+++ b/prometheus-metrics-exposition-formats/src/test/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufDebugFormatTest.java
@@ -0,0 +1,124 @@
+package io.prometheus.metrics.expositionformats.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.google.protobuf.TextFormat;
+import com.google.protobuf.Timestamp;
+import io.prometheus.metrics.expositionformats.generated.Metrics;
+import org.junit.jupiter.api.Test;
+
+@SuppressWarnings("NonCanonicalType")
+class PrometheusProtobufDebugFormatTest {
+
+  @Test
+  void testHistogramFieldsAreEmittedInProtobufFieldNumberOrder() throws Exception {
+    Metrics.MetricFamily metricFamily =
+        Metrics.MetricFamily.newBuilder()
+            .setName("request_latency_seconds")
+            .setHelp("request latency")
+            .setType(Metrics.MetricType.HISTOGRAM)
+            .addMetric(
+                Metrics.Metric.newBuilder()
+                    .setTimestampMs(123)
+                    .setHistogram(
+                        Metrics.Histogram.newBuilder()
+                            .setSampleCountFloat(3.0)
+                            .setSampleSum(4.0)
+                            .addBucket(
+                                Metrics.Bucket.newBuilder()
+                                    .setCumulativeCount(1)
+                                    .setUpperBound(2.0)
+                                    .setCumulativeCountFloat(1.0))
+                            .setSchema(5)
+                            .setZeroThreshold(2.938735877055719E-39)
+                            .setZeroCount(0)
+                            .addPositiveSpan(
+                                Metrics.BucketSpan.newBuilder().setOffset(-96).setLength(1))
+                            .addPositiveDelta(1)
+                            .setCreatedTimestamp(
+                                Timestamp.newBuilder().setSeconds(1000).setNanos(123000000))))
+            .build();
+
+    assertThat(PrometheusProtobufDebugFormat.toDebugString(metricFamily))
+        .isEqualTo(TextFormat.printer().printToString(metricFamily));
+  }
+
+  @Test
+  void testAllMetricTypesMatchProtobufTextFormat() throws Exception {
+    Metrics.MetricFamily metricFamily =
+        Metrics.MetricFamily.newBuilder()
+            .setName("test_metric")
+            .setHelp("test metric")
+            .setType(Metrics.MetricType.UNTYPED)
+            .setUnit("seconds")
+            .addMetric(
+                Metrics.Metric.newBuilder()
+                    .addLabel(label("path", "/Björn"))
+                    .setGauge(Metrics.Gauge.newBuilder().setValue(2.0)))
+            .addMetric(
+                Metrics.Metric.newBuilder()
+                    .setCounter(
+                        Metrics.Counter.newBuilder()
+                            .setValue(3.0)
+                            .setExemplar(exemplar())
+                            .setCreatedTimestamp(timestamp())))
+            .addMetric(
+                Metrics.Metric.newBuilder()
+                    .setSummary(
+                        Metrics.Summary.newBuilder()
+                            .setSampleCount(7)
+                            .setSampleSum(8.0)
+                            .addQuantile(
+                                Metrics.Quantile.newBuilder().setQuantile(0.99).setValue(42.0))
+                            .setCreatedTimestamp(timestamp())))
+            .addMetric(
+                Metrics.Metric.newBuilder().setUntyped(Metrics.Untyped.newBuilder().setValue(1.5)))
+            .addMetric(
+                Metrics.Metric.newBuilder()
+                    .setHistogram(
+                        Metrics.Histogram.newBuilder()
+                            .setSampleCount(3)
+                            .setSampleSum(4.0)
+                            .addBucket(
+                                Metrics.Bucket.newBuilder()
+                                    .setCumulativeCount(1)
+                                    .setUpperBound(2.0)
+                                    .setExemplar(exemplar())
+                                    .setCumulativeCountFloat(1.0))
+                            .setSampleCountFloat(3.0)
+                            .setSchema(5)
+                            .setZeroThreshold(2.938735877055719E-39)
+                            .setZeroCount(0)
+                            .setZeroCountFloat(0.0)
+                            .addNegativeSpan(
+                                Metrics.BucketSpan.newBuilder().setOffset(-96).setLength(1))
+                            .addNegativeDelta(1)
+                            .addNegativeCount(1.0)
+                            .addPositiveSpan(
+                                Metrics.BucketSpan.newBuilder().setOffset(96).setLength(1))
+                            .addPositiveDelta(1)
+                            .addPositiveCount(1.0)
+                            .setCreatedTimestamp(timestamp())
+                            .addExemplars(exemplar())))
+            .build();
+
+    assertThat(PrometheusProtobufDebugFormat.toDebugString(metricFamily))
+        .isEqualTo(TextFormat.printer().printToString(metricFamily));
+  }
+
+  private static Metrics.LabelPair label(String name, String value) {
+    return Metrics.LabelPair.newBuilder().setName(name).setValue(value).build();
+  }
+
+  private static Metrics.Exemplar exemplar() {
+    return Metrics.Exemplar.newBuilder()
+        .addLabel(label("trace_id", "abc"))
+        .setValue(1.0)
+        .setTimestamp(timestamp())
+        .build();
+  }
+
+  private static Timestamp timestamp() {
+    return Timestamp.newBuilder().setSeconds(1000).setNanos(123000000).build();
+  }
+}
diff --git a/prometheus-metrics-instrumentation-caffeine/src/main/java/io/prometheus/metrics/instrumentation/caffeine/CacheMetricsCollector.java b/prometheus-metrics-instrumentation-caffeine/src/main/java/io/prometheus/metrics/instrumentation/caffeine/CacheMetricsCollector.java
index ba7552910..687cd4349 100644
--- a/prometheus-metrics-instrumentation-caffeine/src/main/java/io/prometheus/metrics/instrumentation/caffeine/CacheMetricsCollector.java
+++ b/prometheus-metrics-instrumentation-caffeine/src/main/java/io/prometheus/metrics/instrumentation/caffeine/CacheMetricsCollector.java
@@ -20,6 +20,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.stream.Collectors;
+import javax.annotation.Nullable;
 
 /**
  * Collect metrics from Caffeine's com.github.benmanes.caffeine.cache.Cache.
@@ -149,6 +150,7 @@ public void addCache(String cacheName, AsyncCache cache) {
    *
    * @param cacheName cache to be removed
    */
+  @Nullable
   public Cache removeCache(String cacheName) {
     return children.remove(cacheName);
   }
diff --git a/prometheus-metrics-instrumentation-guava/src/main/java/io/prometheus/metrics/instrumentation/guava/CacheMetricsCollector.java b/prometheus-metrics-instrumentation-guava/src/main/java/io/prometheus/metrics/instrumentation/guava/CacheMetricsCollector.java
index b807a28f0..0b6ff3d78 100644
--- a/prometheus-metrics-instrumentation-guava/src/main/java/io/prometheus/metrics/instrumentation/guava/CacheMetricsCollector.java
+++ b/prometheus-metrics-instrumentation-guava/src/main/java/io/prometheus/metrics/instrumentation/guava/CacheMetricsCollector.java
@@ -16,6 +16,7 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import javax.annotation.Nullable;
 
 /**
  * Collect metrics from Guava's com.google.common.cache.Cache.
@@ -100,6 +101,7 @@ public void addCache(String cacheName, Cache cache) {
    *
    * @param cacheName cache to be removed
    */
+  @Nullable
   public Cache removeCache(String cacheName) {
     return children.remove(cacheName);
   }
diff --git a/prometheus-metrics-parent/pom.xml b/prometheus-metrics-parent/pom.xml
index fd3f67448..d84511964 100644
--- a/prometheus-metrics-parent/pom.xml
+++ b/prometheus-metrics-parent/pom.xml
@@ -73,6 +73,32 @@
       release
       
         
+          
+            org.codehaus.mojo
+            build-helper-maven-plugin
+            3.6.1
+            
+              
+                add-license-resources
+                generate-resources
+                
+                  add-resource
+                
+                
+                  
+                    
+                      ${maven.multiModuleProjectDirectory}
+                      META-INF
+                      
+                        LICENSE
+                        NOTICE
+                      
+                    
+                  
+                
+              
+            
+          
           
             org.apache.maven.plugins
             maven-gpg-plugin

From f1c5922fd329257174ba7d541ee6faac5978954c Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:38:34 +0000
Subject: [PATCH 19/31] test: use gcx v0.5.0 from PATH Signed-off-by: Gregor
 Zeitlinger 

---
 ci/oats/gcx-wrapper.sh | 17 -----------------
 mise.toml              |  6 ++----
 2 files changed, 2 insertions(+), 21 deletions(-)
 delete mode 100755 ci/oats/gcx-wrapper.sh

diff --git a/ci/oats/gcx-wrapper.sh b/ci/oats/gcx-wrapper.sh
deleted file mode 100755
index 5a96b3546..000000000
--- a/ci/oats/gcx-wrapper.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-real_gcx="${REAL_GCX_BIN:-gcx}"
-
-for _ in $(seq 1 180); do
-	token="$(docker exec lgtm cat /tmp/grafana-sa-token 2>/dev/null || true)"
-	if [ -n "$token" ]; then
-		export GRAFANA_SERVER="${GRAFANA_SERVER:-http://localhost:3000}"
-		export GRAFANA_TOKEN="$token"
-		exec "$real_gcx" "$@"
-	fi
-	sleep 1
-done
-
-printf 'gcx-wrapper: timed out waiting for grafana service-account token\n' >&2
-exit 1
diff --git a/mise.toml b/mise.toml
index af32a0b5c..dffc18857 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,5 +1,5 @@
 [tools]
-"aqua:grafana/gcx" = "v0.4.0"
+"aqua:grafana/gcx" = "v0.5.0"
 go = "1.26.4"
 "go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
@@ -96,10 +96,8 @@ run = "flint run --fix"
 description = "Run OATs acceptance tests"
 depends = "build"
 run = """
-REAL_GCX_BIN="$(command -v gcx)" \
-  oats \
+oats \
   --config oats-config.yaml \
-  --gcx ./ci/oats/gcx-wrapper.sh \
   --no-cache \
   --timeout=5m
 """

From 50758d1d40f41a03e51c1ca76fc54a07114ad79a Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:41:04 +0000
Subject: [PATCH 20/31] chore: sync mise tools with main Signed-off-by: Gregor
 Zeitlinger 

---
 mise.toml | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/mise.toml b/mise.toml
index dffc18857..ddb1ac335 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,6 +1,6 @@
 [tools]
 "aqua:grafana/gcx" = "v0.5.0"
-go = "1.26.4"
+go = "1.26.5"
 "go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
@@ -9,26 +9,26 @@ protoc = "35.1"
 
 # Linters
 actionlint = "1.7.12"
-"aqua:grafana/flint" = "0.22.5"
+"aqua:grafana/flint" = "0.22.7"
 "aqua:jonwiggins/xmloxide" = "v0.4.3"
-"aqua:owenlamont/ryl" = "0.18.1"
-biome = "2.5.0"
-editorconfig-checker = "3.7.0"
+"aqua:owenlamont/ryl" = "0.21.0"
+biome = "2.5.3"
+editorconfig-checker = "3.8.0"
 google-java-format = "1.35.0"
 lychee = "0.24.2"
-"npm:renovate" = "43.220.0"
-ruff = "0.15.17"
-rumdl = "v0.2.17"
+"npm:renovate" = "43.257.4"
+ruff = "0.15.21"
+rumdl = "v0.2.31"
 shellcheck = "v0.11.0"
 shfmt = "3.13.1"
 taplo = "0.10.0"
-typos = "1.47.2"
-zizmor = "1.25.2"
+typos = "1.48.0"
+zizmor = "1.26.1"
 
 [env]
 FLINT_CONFIG_DIR = ".github/config"
 # renovate: datasource=github-releases depName=grafana/docker-otel-lgtm
-LGTM_VERSION = "0.28.0"
+LGTM_VERSION = "0.29.1"
 # Latest JMX Exporter release; used as the default ref for the compatibility job.
 # renovate: datasource=github-tags depName=prometheus/jmx_exporter versioning=semver-coerced
 DEFAULT_JMX_EXPORTER_VERSION = "v1.6.0"

From 034861fc5b50e08790e8ea92cbbfa4092cfc6eb8 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:43:32 +0000
Subject: [PATCH 21/31] chore: place mise tools after main updates
 Signed-off-by: Gregor Zeitlinger 

---
 mise.toml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/mise.toml b/mise.toml
index ddb1ac335..c116ab63c 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,6 +1,4 @@
 [tools]
-"aqua:grafana/gcx" = "v0.5.0"
-go = "1.26.5"
 "go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
@@ -25,6 +23,9 @@ taplo = "0.10.0"
 typos = "1.48.0"
 zizmor = "1.26.1"
 
+"aqua:grafana/gcx" = "v0.5.0"
+go = "1.26.5"
+
 [env]
 FLINT_CONFIG_DIR = ".github/config"
 # renovate: datasource=github-releases depName=grafana/docker-otel-lgtm

From b94898f1b9d0fc58ae8ca795101f85971181c1cc Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:43:50 +0000
Subject: [PATCH 22/31] chore: isolate OATS tool override Signed-off-by: Gregor
 Zeitlinger 

---
 mise.toml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mise.toml b/mise.toml
index c116ab63c..7115e935b 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,5 +1,4 @@
 [tools]
-"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
 node = "24.18.0"
@@ -26,6 +25,8 @@ zizmor = "1.26.1"
 "aqua:grafana/gcx" = "v0.5.0"
 go = "1.26.5"
 
+"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
+
 [env]
 FLINT_CONFIG_DIR = ".github/config"
 # renovate: datasource=github-releases depName=grafana/docker-otel-lgtm

From 480bd3224de0dfcf92d3c63ba6d25bb94560db6b Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:45:07 +0000
Subject: [PATCH 23/31] chore: retain main mise ordering Signed-off-by: Gregor
 Zeitlinger 

---
 mise.toml | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/mise.toml b/mise.toml
index 7115e935b..6f9ed155b 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,4 +1,5 @@
 [tools]
+"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
 node = "24.18.0"
@@ -25,8 +26,6 @@ zizmor = "1.26.1"
 "aqua:grafana/gcx" = "v0.5.0"
 go = "1.26.5"
 
-"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
-
 [env]
 FLINT_CONFIG_DIR = ".github/config"
 # renovate: datasource=github-releases depName=grafana/docker-otel-lgtm
@@ -97,12 +96,7 @@ run = "flint run --fix"
 [tasks.acceptance-test]
 description = "Run OATs acceptance tests"
 depends = "build"
-run = """
-oats \
-  --config oats-config.yaml \
-  --no-cache \
-  --timeout=5m
-"""
+run = "oats -lgtm-version $LGTM_VERSION -timeout 5m examples/"
 
 [tasks.javadoc]
 description = "Generate Javadoc"

From 156ea6fa66c5b5f21c95382a1d68b1e77c5ff9bb Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:49:01 +0000
Subject: [PATCH 24/31] chore: keep main OATS tool pin Signed-off-by: Gregor
 Zeitlinger 

---
 mise.toml | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/mise.toml b/mise.toml
index 6f9ed155b..5bdc04cf5 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,5 +1,7 @@
 [tools]
-"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722080634-db417e9ee743", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
+"aqua:grafana/gcx" = "v0.5.0"
+go = "1.26.5"
+"go:github.com/grafana/oats" = "0.7.0"
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
 node = "24.18.0"
@@ -23,9 +25,6 @@ taplo = "0.10.0"
 typos = "1.48.0"
 zizmor = "1.26.1"
 
-"aqua:grafana/gcx" = "v0.5.0"
-go = "1.26.5"
-
 [env]
 FLINT_CONFIG_DIR = ".github/config"
 # renovate: datasource=github-releases depName=grafana/docker-otel-lgtm
@@ -96,7 +95,15 @@ run = "flint run --fix"
 [tasks.acceptance-test]
 description = "Run OATs acceptance tests"
 depends = "build"
-run = "oats -lgtm-version $LGTM_VERSION -timeout 5m examples/"
+run = """
+OATS_VERSION="v0.7.1-0.20260722080634-db417e9ee743"
+GOPROXY=direct GONOSUMDB=github.com/grafana/oats \
+  go install "github.com/grafana/oats@${OATS_VERSION}"
+"$(go env GOPATH)/bin/oats" \
+  --config oats-config.yaml \
+  --no-cache \
+  --timeout=5m
+"""
 
 [tasks.javadoc]
 description = "Generate Javadoc"

From 431bdf872adc6e26a05f9e3409925cb8363da2d9 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:49:37 +0000
Subject: [PATCH 25/31] test: install release candidate for client checks
 Signed-off-by: Gregor Zeitlinger 

---
 mise.lock | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mise.lock b/mise.lock
index 1d97e7a7f..89d88d894 100644
--- a/mise.lock
+++ b/mise.lock
@@ -251,7 +251,7 @@ url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/dow
 url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248513"
 
 [[tools."go:github.com/grafana/oats"]]
-version = "v0.7.1-0.20260722080634-db417e9ee743"
+version = "0.7.0"
 backend = "go:github.com/grafana/oats"
 
 [[tools.google-java-format]]

From af48e174e5237cdbb2d8a1d142438160ff04a098 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 09:57:30 +0000
Subject: [PATCH 26/31] test: run downloaded OATS from PATH Signed-off-by:
 Gregor Zeitlinger 

---
 mise.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mise.toml b/mise.toml
index 5bdc04cf5..ebc792d25 100644
--- a/mise.toml
+++ b/mise.toml
@@ -99,7 +99,7 @@ run = """
 OATS_VERSION="v0.7.1-0.20260722080634-db417e9ee743"
 GOPROXY=direct GONOSUMDB=github.com/grafana/oats \
   go install "github.com/grafana/oats@${OATS_VERSION}"
-"$(go env GOPATH)/bin/oats" \
+oats \
   --config oats-config.yaml \
   --no-cache \
   --timeout=5m

From 7bcc0e5d57dacb30a186fa112a5b99df66267bd6 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 12:40:20 +0000
Subject: [PATCH 27/31] test: run OATS with Docker Signed-off-by: Gregor
 Zeitlinger 

---
 mise.toml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mise.toml b/mise.toml
index ebc792d25..39871a133 100644
--- a/mise.toml
+++ b/mise.toml
@@ -101,6 +101,7 @@ GOPROXY=direct GONOSUMDB=github.com/grafana/oats \
   go install "github.com/grafana/oats@${OATS_VERSION}"
 oats \
   --config oats-config.yaml \
+  --container-runtime docker \
   --no-cache \
   --timeout=5m
 """

From 113fdea3d0a45df398ba955bb800da120c5899cc Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 15:45:59 +0000
Subject: [PATCH 28/31] test: pin latest OATS main with mise

Signed-off-by: Gregor Zeitlinger 
---
 .github/renovate-tracked-deps.json |  1 -
 mise.lock                          | 41 +++++++++++++++++++++++++++++-
 mise.toml                          |  6 +----
 3 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/.github/renovate-tracked-deps.json b/.github/renovate-tracked-deps.json
index 17dd0bb15..2f3a757cc 100644
--- a/.github/renovate-tracked-deps.json
+++ b/.github/renovate-tracked-deps.json
@@ -163,7 +163,6 @@
         "aqua:owenlamont/ryl",
         "biome",
         "editorconfig-checker",
-        "go",
         "go:github.com/grafana/oats",
         "google-java-format",
         "hugo",
diff --git a/mise.lock b/mise.lock
index 89d88d894..785003cb9 100644
--- a/mise.lock
+++ b/mise.lock
@@ -86,6 +86,45 @@ url = "https://github.com/grafana/flint/releases/download/v0.22.7/flint-x86_64-p
 url_api = "https://api.github.com/repos/grafana/flint/releases/assets/469229804"
 provenance = "github-attestations"
 
+[[tools."aqua:grafana/gcx"]]
+version = "v0.5.0"
+backend = "aqua:grafana/gcx"
+
+[tools."aqua:grafana/gcx"."platforms.linux-arm64"]
+checksum = "sha256:07811e994101abf3fe51b7d9d5bbcc045830382ece80f37af29d32234cbe4731"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_linux_arm64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583603"
+
+[tools."aqua:grafana/gcx"."platforms.linux-arm64-musl"]
+checksum = "sha256:07811e994101abf3fe51b7d9d5bbcc045830382ece80f37af29d32234cbe4731"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_linux_arm64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583603"
+
+[tools."aqua:grafana/gcx"."platforms.linux-x64"]
+checksum = "sha256:5c0ce026b0625da09ee976115799cba28e6c84375f802c64f7995c0ba87a83b6"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_linux_amd64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583622"
+
+[tools."aqua:grafana/gcx"."platforms.linux-x64-musl"]
+checksum = "sha256:5c0ce026b0625da09ee976115799cba28e6c84375f802c64f7995c0ba87a83b6"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_linux_amd64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583622"
+
+[tools."aqua:grafana/gcx"."platforms.macos-arm64"]
+checksum = "sha256:3835b426490dddbf0cd3cd4a96566ebb2b2a45121c3d61c518e8c3ae54d1ac0c"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_darwin_arm64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583602"
+
+[tools."aqua:grafana/gcx"."platforms.macos-x64"]
+checksum = "sha256:40db287702572bc9e7c5decdd25cd054e8b076008b8f3d543eafa721441da4db"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_darwin_amd64.tar.gz"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583604"
+
+[tools."aqua:grafana/gcx"."platforms.windows-x64"]
+checksum = "sha256:e71bdc867b6d13399d4aad15a667c7bc5c6fbf37a187cb87dafeb61113c48921"
+url = "https://github.com/grafana/gcx/releases/download/v0.5.0/gcx_0.5.0_windows_amd64.zip"
+url_api = "https://api.github.com/repos/grafana/gcx/releases/assets/484583601"
+
 [[tools."aqua:jonwiggins/xmloxide"]]
 version = "v0.4.3"
 backend = "aqua:jonwiggins/xmloxide"
@@ -251,7 +290,7 @@ url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/dow
 url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/460248513"
 
 [[tools."go:github.com/grafana/oats"]]
-version = "0.7.0"
+version = "0.7.1-0.20260722144929-3d12ca623d63"
 backend = "go:github.com/grafana/oats"
 
 [[tools.google-java-format]]
diff --git a/mise.toml b/mise.toml
index 39871a133..d6821711e 100644
--- a/mise.toml
+++ b/mise.toml
@@ -1,7 +1,6 @@
 [tools]
 "aqua:grafana/gcx" = "v0.5.0"
-go = "1.26.5"
-"go:github.com/grafana/oats" = "0.7.0"
+"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260722144929-3d12ca623d63", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }
 hugo = "0.164.0"
 java = "temurin-25.0.3+9.0.LTS"
 node = "24.18.0"
@@ -96,9 +95,6 @@ run = "flint run --fix"
 description = "Run OATs acceptance tests"
 depends = "build"
 run = """
-OATS_VERSION="v0.7.1-0.20260722080634-db417e9ee743"
-GOPROXY=direct GONOSUMDB=github.com/grafana/oats \
-  go install "github.com/grafana/oats@${OATS_VERSION}"
 oats \
   --config oats-config.yaml \
   --container-runtime docker \

From 21c87e231827f569aadfa9eecfd92c1cb3a4bfb5 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 16:02:25 +0000
Subject: [PATCH 29/31] fix: make OATS custom checks executable

Signed-off-by: Gregor Zeitlinger 
---
 .../oats-tests/agent/oats-case.yaml                              | 1 +
 .../oats-tests/http/oats-case.yaml                               | 1 +
 2 files changed, 2 insertions(+)

diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
index 7c9a94f4d..0fec53aa8 100644
--- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
+++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
@@ -8,6 +8,7 @@ seed:
 expected:
   custom-checks:
     - script: |
+        #!/usr/bin/env bash
         set -eu
         python3 - <<'PY'
         import json, urllib.parse, urllib.request
diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
index f3027e6a8..a0c4c14da 100644
--- a/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
+++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
@@ -8,6 +8,7 @@ seed:
 expected:
   custom-checks:
     - script: |
+        #!/usr/bin/env bash
         set -eu
         python3 - <<'PY'
         import json, urllib.parse, urllib.request

From 9d3b0db019ee41a3a4892b63aeec99223a934737 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 16:17:46 +0000
Subject: [PATCH 30/31] fix: query fixture metrics through gcx

Signed-off-by: Gregor Zeitlinger 
---
 .../oats-tests/agent/oats-case.yaml           | 31 ++++++-------------
 .../oats-tests/http/oats-case.yaml            | 19 ++----------
 2 files changed, 12 insertions(+), 38 deletions(-)

diff --git a/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
index 0fec53aa8..a8a05d0f2 100644
--- a/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
+++ b/examples/example-exporter-opentelemetry/oats-tests/agent/oats-case.yaml
@@ -6,28 +6,15 @@ fixture:
 seed:
   type: app
 expected:
+  metrics:
+    - promql: "uptime_seconds_total{}"
+      value: ">= 0"
+    - promql: 'count(target_info{service_name!="otelcol-contrib"})'
+      value: "== 2"
+    - promql: 'count(count by (instance) (target_info{service_name!="otelcol-contrib"}))'
+      value: "== 1"
   custom-checks:
     - script: |
         #!/usr/bin/env bash
-        set -eu
-        python3 - <<'PY'
-        import json, urllib.parse, urllib.request
-        q = urllib.parse.quote('uptime_seconds_total{job="rolldice"}')
-        with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r:
-            uptime = json.load(r)
-        result = uptime.get('data', {}).get('result', [])
-        if not result:
-            raise SystemExit('uptime_seconds_total missing from Prometheus')
-        if float(result[0]['value'][1]) < 0:
-            raise SystemExit('uptime_seconds_total must be >= 0')
-
-        q = urllib.parse.quote('target_info{service_name!="otelcol-contrib"}')
-        with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r:
-            target_info = json.load(r)
-        rows = target_info.get('data', {}).get('result', [])
-        if len(rows) != 2:
-            raise SystemExit(f'expected 2 non-collector target_info rows, got {len(rows)}')
-        instances = {row['metric'].get('instance') for row in rows}
-        if len(instances) != 1:
-            raise SystemExit(f'expected one shared instance across target_info rows, got {sorted(instances)}')
-        PY
+        set -euo pipefail
+        curl -fsS "${OATS_GRAFANA_URL:?}/api/health" >/dev/null
diff --git a/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
index a0c4c14da..fab99dfe3 100644
--- a/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
+++ b/examples/example-exporter-opentelemetry/oats-tests/http/oats-case.yaml
@@ -6,19 +6,6 @@ fixture:
 seed:
   type: app
 expected:
-  custom-checks:
-    - script: |
-        #!/usr/bin/env bash
-        set -eu
-        python3 - <<'PY'
-        import json, urllib.parse, urllib.request
-        q = urllib.parse.quote('uptime_seconds_total{job="rolldice"}')
-        with urllib.request.urlopen(f'http://localhost:9090/api/v1/query?query={q}') as r:
-            data = json.load(r)
-        result = data.get('data', {}).get('result', [])
-        if not result:
-            raise SystemExit('uptime_seconds_total missing from Prometheus')
-        value = float(result[0]['value'][1])
-        if value < 0:
-            raise SystemExit(f'unexpected negative uptime metric: {value}')
-        PY
+  metrics:
+    - promql: "uptime_seconds_total{}"
+      value: ">= 0"

From 50aef74f068d0b9dc0db362353df3ccc2c43df49 Mon Sep 17 00:00:00 2001
From: Gregor Zeitlinger 
Date: Wed, 22 Jul 2026 16:43:38 +0000
Subject: [PATCH 31/31] test: exercise automatic OATS runtime fallback

Signed-off-by: Gregor Zeitlinger 
---
 mise.toml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mise.toml b/mise.toml
index d6821711e..824a4ec3f 100644
--- a/mise.toml
+++ b/mise.toml
@@ -97,7 +97,6 @@ depends = "build"
 run = """
 oats \
   --config oats-config.yaml \
-  --container-runtime docker \
   --no-cache \
   --timeout=5m
 """