mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #103799 from jyz0309/add-metric
Create new metric which conform to our naming conventions
This commit is contained in:
commit
58617e1619
@ -80,6 +80,14 @@ var (
|
||||
},
|
||||
[]string{"verb", "dry_run", "group", "version", "resource", "subresource", "scope", "component", "code"},
|
||||
)
|
||||
longRunningRequestsGauge = compbasemetrics.NewGaugeVec(
|
||||
&compbasemetrics.GaugeOpts{
|
||||
Name: "apiserver_longrunning_requests",
|
||||
Help: "Gauge of all active long-running apiserver requests broken out by verb, group, version, resource, scope and component. Not all requests are tracked this way.",
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
},
|
||||
[]string{"verb", "group", "version", "resource", "subresource", "scope", "component"},
|
||||
)
|
||||
longRunningRequestGauge = compbasemetrics.NewGaugeVec(
|
||||
&compbasemetrics.GaugeOpts{
|
||||
Name: "apiserver_longrunning_gauge",
|
||||
@ -236,6 +244,7 @@ var (
|
||||
metrics = []resettableCollector{
|
||||
deprecatedRequestGauge,
|
||||
requestCounter,
|
||||
longRunningRequestsGauge,
|
||||
longRunningRequestGauge,
|
||||
requestLatencies,
|
||||
responseSizes,
|
||||
@ -410,7 +419,7 @@ func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, comp
|
||||
if requestInfo == nil {
|
||||
requestInfo = &request.RequestInfo{Verb: req.Method, Path: req.URL.Path}
|
||||
}
|
||||
var g compbasemetrics.GaugeMetric
|
||||
var g, e compbasemetrics.GaugeMetric
|
||||
scope := CleanScope(requestInfo)
|
||||
|
||||
// We don't use verb from <requestInfo>, as this may be propagated from
|
||||
@ -420,12 +429,18 @@ func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, comp
|
||||
reportedVerb := cleanVerb(CanonicalVerb(strings.ToUpper(req.Method), scope), "", req)
|
||||
|
||||
if requestInfo.IsResourceRequest {
|
||||
e = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, requestInfo.APIGroup, requestInfo.APIVersion, requestInfo.Resource, requestInfo.Subresource, scope, component)
|
||||
g = longRunningRequestGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, requestInfo.APIGroup, requestInfo.APIVersion, requestInfo.Resource, requestInfo.Subresource, scope, component)
|
||||
} else {
|
||||
e = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, "", "", "", requestInfo.Path, scope, component)
|
||||
g = longRunningRequestGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, "", "", "", requestInfo.Path, scope, component)
|
||||
}
|
||||
e.Inc()
|
||||
g.Inc()
|
||||
defer g.Dec()
|
||||
defer func() {
|
||||
e.Dec()
|
||||
g.Dec()
|
||||
}()
|
||||
fn()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user