Merge pull request #120503 from dgrisonnet/body-size

Rename request body size metric to conform with Prometheus best practices
This commit is contained in:
Kubernetes Prow Robot 2023-10-15 05:55:39 +02:00 committed by GitHub
commit c40bc8c7d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 39 deletions

View File

@ -18,6 +18,7 @@ package metrics
import ( import (
"context" "context"
"k8s.io/component-base/metrics" "k8s.io/component-base/metrics"
) )
@ -35,8 +36,8 @@ var (
RequestBodySizes = metrics.NewHistogramVec( RequestBodySizes = metrics.NewHistogramVec(
&metrics.HistogramOpts{ &metrics.HistogramOpts{
Subsystem: "apiserver", Subsystem: "apiserver",
Name: "request_body_sizes", Name: "request_body_size_bytes",
Help: "Apiserver request body sizes broken out by size.", Help: "Apiserver request body size in bytes broken out by resource and verb.",
// we use 0.05 KB as the smallest bucket with 0.1 KB increments up to the // we use 0.05 KB as the smallest bucket with 0.1 KB increments up to the
// apiserver limit. // apiserver limit.
Buckets: metrics.LinearBuckets(50000, 100000, 31), Buckets: metrics.LinearBuckets(50000, 100000, 31),

View File

@ -134,42 +134,42 @@ func TestLimitedReadBody(t *testing.T) {
requestBody: strings.NewReader("aaaa"), requestBody: strings.NewReader("aaaa"),
limit: 5, limit: 5,
expectedMetrics: ` expectedMetrics: `
# HELP apiserver_request_body_sizes [ALPHA] Apiserver request body sizes broken out by size. # HELP apiserver_request_body_size_bytes [ALPHA] Apiserver request body size in bytes broken out by resource and verb.
# TYPE apiserver_request_body_sizes histogram # TYPE apiserver_request_body_size_bytes histogram
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="50000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="50000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="150000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="150000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="250000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="250000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="350000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="350000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="450000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="450000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="550000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="550000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="650000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="650000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="750000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="750000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="850000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="850000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="950000"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="950000"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.05e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.05e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.15e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.15e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.25e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.25e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.35e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.35e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.45e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.45e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.55e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.55e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.65e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.65e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.75e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.75e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.85e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.85e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="1.95e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="1.95e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.05e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.05e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.15e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.15e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.25e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.25e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.35e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.35e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.45e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.45e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.55e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.55e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.65e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.65e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.75e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.75e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.85e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.85e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="2.95e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="2.95e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="3.05e+06"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="3.05e+06"} 1
apiserver_request_body_sizes_bucket{resource="resource.group",verb="create",le="+Inf"} 1 apiserver_request_body_size_bytes_bucket{resource="resource.group",verb="create",le="+Inf"} 1
apiserver_request_body_sizes_sum{resource="resource.group",verb="create"} 4 apiserver_request_body_size_bytes_sum{resource="resource.group",verb="create"} 4
apiserver_request_body_sizes_count{resource="resource.group",verb="create"} 1 apiserver_request_body_size_bytes_count{resource="resource.group",verb="create"} 1
`, `,
expectedErr: false, expectedErr: false,
}, },
@ -192,7 +192,7 @@ func TestLimitedReadBody(t *testing.T) {
} }
return return
} }
if err = testutil.GatherAndCompare(legacyregistry.DefaultGatherer, strings.NewReader(tc.expectedMetrics), "apiserver_request_body_sizes"); err != nil { if err = testutil.GatherAndCompare(legacyregistry.DefaultGatherer, strings.NewReader(tc.expectedMetrics), "apiserver_request_body_size_bytes"); err != nil {
t.Errorf("unexpected err: %v", err) t.Errorf("unexpected err: %v", err)
} }
}) })