unparameterize 'webhook' from conversion metrics since it's the only one

Change-Id: I6dda5c033786f128e9b2d5d889e47f3dc7937ed5
This commit is contained in:
Han Kang 2022-10-12 10:58:06 -07:00
parent 4f2faa2f1c
commit 849185a1fa
2 changed files with 8 additions and 9 deletions

View File

@ -37,7 +37,7 @@ type CRConverterFactory struct {
// converterMetricFactorySingleton protects us from reregistration of metrics on repeated // converterMetricFactorySingleton protects us from reregistration of metrics on repeated
// apiextensions-apiserver runs. // apiextensions-apiserver runs.
var converterMetricFactorySingleton = newConverterMertricFactory() var converterMetricFactorySingleton = newConverterMetricFactory()
// NewCRConverterFactory creates a new CRConverterFactory // NewCRConverterFactory creates a new CRConverterFactory
func NewCRConverterFactory(serviceResolver webhook.ServiceResolver, authResolverWrapper webhook.AuthenticationInfoResolverWrapper) (*CRConverterFactory, error) { func NewCRConverterFactory(serviceResolver webhook.ServiceResolver, authResolverWrapper webhook.AuthenticationInfoResolverWrapper) (*CRConverterFactory, error) {
@ -66,7 +66,7 @@ func (m *CRConverterFactory) NewConverter(crd *apiextensionsv1.CustomResourceDef
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
converter, err = converterMetricFactorySingleton.addMetrics("webhook", crd.Name, converter) converter, err = converterMetricFactorySingleton.addMetrics(crd.Name, converter)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }

View File

@ -17,7 +17,6 @@ limitations under the License.
package conversion package conversion
import ( import (
"fmt"
"strconv" "strconv"
"sync" "sync"
"time" "time"
@ -40,7 +39,7 @@ type converterMetricFactory struct {
factoryLock sync.Mutex factoryLock sync.Mutex
} }
func newConverterMertricFactory() *converterMetricFactory { func newConverterMetricFactory() *converterMetricFactory {
return &converterMetricFactory{durations: map[string]*metrics.HistogramVec{}, factoryLock: sync.Mutex{}} return &converterMetricFactory{durations: map[string]*metrics.HistogramVec{}, factoryLock: sync.Mutex{}}
} }
@ -52,15 +51,15 @@ type converterMetric struct {
crdName string crdName string
} }
func (c *converterMetricFactory) addMetrics(converterName string, crdName string, converter crConverterInterface) (crConverterInterface, error) { func (c *converterMetricFactory) addMetrics(crdName string, converter crConverterInterface) (crConverterInterface, error) {
c.factoryLock.Lock() c.factoryLock.Lock()
defer c.factoryLock.Unlock() defer c.factoryLock.Unlock()
metric, exists := c.durations[converterName] metric, exists := c.durations["webhook"]
if !exists { if !exists {
metric = metrics.NewHistogramVec( metric = metrics.NewHistogramVec(
&metrics.HistogramOpts{ &metrics.HistogramOpts{
Name: fmt.Sprintf("apiserver_crd_%s_conversion_duration_seconds", converterName), Name: "apiserver_crd_webhook_conversion_duration_seconds",
Help: fmt.Sprintf("CRD %s conversion duration in seconds", converterName), Help: "CRD webhook conversion duration in seconds",
Buckets: latencyBuckets, Buckets: latencyBuckets,
StabilityLevel: metrics.ALPHA, StabilityLevel: metrics.ALPHA,
}, },
@ -69,7 +68,7 @@ func (c *converterMetricFactory) addMetrics(converterName string, crdName string
if err != nil { if err != nil {
return nil, err return nil, err
} }
c.durations[converterName] = metric c.durations["webhook"] = metric
} }
return &converterMetric{latencies: metric, delegate: converter, crdName: crdName}, nil return &converterMetric{latencies: metric, delegate: converter, crdName: crdName}, nil
} }