mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Implement metrics agreed on the KEP
This commit is contained in:
parent
d7060f02ce
commit
6c5ab4263e
@ -720,6 +720,7 @@ func (c *Controller) nodeSyncService(svc *v1.Service, oldNodes, newNodes []*v1.N
|
||||
klog.V(4).Infof("nodeSyncService started for service %s/%s", svc.Namespace, svc.Name)
|
||||
if err := c.lockedUpdateLoadBalancerHosts(svc, newNodes); err != nil {
|
||||
runtime.HandleError(fmt.Errorf("failed to update load balancer hosts for service %s/%s: %v", svc.Namespace, svc.Name, err))
|
||||
nodeSyncErrorCount.Inc()
|
||||
return retNeedRetry
|
||||
}
|
||||
klog.V(4).Infof("nodeSyncService finished successfully for service %s/%s", svc.Namespace, svc.Name)
|
||||
@ -763,6 +764,7 @@ func (c *Controller) updateLoadBalancerHosts(ctx context.Context, services []*v1
|
||||
// associated with the service.
|
||||
func (c *Controller) lockedUpdateLoadBalancerHosts(service *v1.Service, hosts []*v1.Node) error {
|
||||
startTime := time.Now()
|
||||
loadBalancerSyncCount.Inc()
|
||||
defer func() {
|
||||
latency := time.Since(startTime).Seconds()
|
||||
klog.V(4).Infof("It took %v seconds to update load balancer hosts for service %s/%s", latency, service.Namespace, service.Name)
|
||||
|
@ -17,9 +17,10 @@ limitations under the License.
|
||||
package service
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"k8s.io/component-base/metrics"
|
||||
"k8s.io/component-base/metrics/legacyregistry"
|
||||
"sync"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -32,12 +33,26 @@ var register sync.Once
|
||||
// registerMetrics registers service-controller metrics.
|
||||
func registerMetrics() {
|
||||
register.Do(func() {
|
||||
legacyregistry.MustRegister(loadBalancerSyncCount)
|
||||
legacyregistry.MustRegister(nodeSyncLatency)
|
||||
legacyregistry.MustRegister(nodeSyncErrorCount)
|
||||
legacyregistry.MustRegister(updateLoadBalancerHostLatency)
|
||||
})
|
||||
}
|
||||
|
||||
var (
|
||||
loadBalancerSyncCount = metrics.NewCounter(&metrics.CounterOpts{
|
||||
Name: "loadbalancer_sync_total",
|
||||
Subsystem: subSystemName,
|
||||
Help: "A metric counting the amount of times any load balancer has been configured, as an effect of service/node changes on the cluster",
|
||||
StabilityLevel: metrics.ALPHA,
|
||||
})
|
||||
nodeSyncErrorCount = metrics.NewCounter(&metrics.CounterOpts{
|
||||
Name: "nodesync_error_total",
|
||||
Subsystem: subSystemName,
|
||||
Help: "A metric counting the amount of times any load balancer has been configured and errored, as an effect of node changes on the cluster",
|
||||
StabilityLevel: metrics.ALPHA,
|
||||
})
|
||||
nodeSyncLatency = metrics.NewHistogram(&metrics.HistogramOpts{
|
||||
Name: "nodesync_latency_seconds",
|
||||
Subsystem: subSystemName,
|
||||
@ -46,7 +61,6 @@ var (
|
||||
Buckets: metrics.ExponentialBuckets(1, 2, 15),
|
||||
StabilityLevel: metrics.ALPHA,
|
||||
})
|
||||
|
||||
updateLoadBalancerHostLatency = metrics.NewHistogram(&metrics.HistogramOpts{
|
||||
Name: "update_loadbalancer_host_latency_seconds",
|
||||
Subsystem: subSystemName,
|
||||
|
Loading…
Reference in New Issue
Block a user