mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 02:41:25 +00:00
Merge pull request #105517 from tkashem/apf-metrics
apf: add new label for request_execution_seconds metric
This commit is contained in:
commit
cbec2a936b
@ -23,6 +23,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
apirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
compbasemetrics "k8s.io/component-base/metrics"
|
compbasemetrics "k8s.io/component-base/metrics"
|
||||||
"k8s.io/component-base/metrics/legacyregistry"
|
"k8s.io/component-base/metrics/legacyregistry"
|
||||||
basemetricstestutil "k8s.io/component-base/metrics/testutil"
|
basemetricstestutil "k8s.io/component-base/metrics/testutil"
|
||||||
@ -287,7 +288,7 @@ var (
|
|||||||
Buckets: requestDurationSecondsBuckets,
|
Buckets: requestDurationSecondsBuckets,
|
||||||
StabilityLevel: compbasemetrics.ALPHA,
|
StabilityLevel: compbasemetrics.ALPHA,
|
||||||
},
|
},
|
||||||
[]string{priorityLevel, flowSchema},
|
[]string{priorityLevel, flowSchema, "type"},
|
||||||
)
|
)
|
||||||
watchCountSamples = compbasemetrics.NewHistogramVec(
|
watchCountSamples = compbasemetrics.NewHistogramVec(
|
||||||
&compbasemetrics.HistogramOpts{
|
&compbasemetrics.HistogramOpts{
|
||||||
@ -392,7 +393,11 @@ func ObserveWaitingDuration(ctx context.Context, priorityLevel, flowSchema, exec
|
|||||||
|
|
||||||
// ObserveExecutionDuration observes the execution duration for flow control
|
// ObserveExecutionDuration observes the execution duration for flow control
|
||||||
func ObserveExecutionDuration(ctx context.Context, priorityLevel, flowSchema string, executionTime time.Duration) {
|
func ObserveExecutionDuration(ctx context.Context, priorityLevel, flowSchema string, executionTime time.Duration) {
|
||||||
apiserverRequestExecutionSeconds.WithContext(ctx).WithLabelValues(priorityLevel, flowSchema).Observe(executionTime.Seconds())
|
reqType := "regular"
|
||||||
|
if requestInfo, ok := apirequest.RequestInfoFrom(ctx); ok && requestInfo.Verb == "watch" {
|
||||||
|
reqType = requestInfo.Verb
|
||||||
|
}
|
||||||
|
apiserverRequestExecutionSeconds.WithContext(ctx).WithLabelValues(priorityLevel, flowSchema, reqType).Observe(executionTime.Seconds())
|
||||||
}
|
}
|
||||||
|
|
||||||
// ObserveWatchCount notes a sampling of a watch count
|
// ObserveWatchCount notes a sampling of a watch count
|
||||||
|
Loading…
Reference in New Issue
Block a user