mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +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)
|
klog.V(4).Infof("nodeSyncService started for service %s/%s", svc.Namespace, svc.Name)
|
||||||
if err := c.lockedUpdateLoadBalancerHosts(svc, newNodes); err != nil {
|
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))
|
runtime.HandleError(fmt.Errorf("failed to update load balancer hosts for service %s/%s: %v", svc.Namespace, svc.Name, err))
|
||||||
|
nodeSyncErrorCount.Inc()
|
||||||
return retNeedRetry
|
return retNeedRetry
|
||||||
}
|
}
|
||||||
klog.V(4).Infof("nodeSyncService finished successfully for service %s/%s", svc.Namespace, svc.Name)
|
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.
|
// associated with the service.
|
||||||
func (c *Controller) lockedUpdateLoadBalancerHosts(service *v1.Service, hosts []*v1.Node) error {
|
func (c *Controller) lockedUpdateLoadBalancerHosts(service *v1.Service, hosts []*v1.Node) error {
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
|
loadBalancerSyncCount.Inc()
|
||||||
defer func() {
|
defer func() {
|
||||||
latency := time.Since(startTime).Seconds()
|
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)
|
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
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"sync"
|
||||||
|
|
||||||
"k8s.io/component-base/metrics"
|
"k8s.io/component-base/metrics"
|
||||||
"k8s.io/component-base/metrics/legacyregistry"
|
"k8s.io/component-base/metrics/legacyregistry"
|
||||||
"sync"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -32,12 +33,26 @@ var register sync.Once
|
|||||||
// registerMetrics registers service-controller metrics.
|
// registerMetrics registers service-controller metrics.
|
||||||
func registerMetrics() {
|
func registerMetrics() {
|
||||||
register.Do(func() {
|
register.Do(func() {
|
||||||
|
legacyregistry.MustRegister(loadBalancerSyncCount)
|
||||||
legacyregistry.MustRegister(nodeSyncLatency)
|
legacyregistry.MustRegister(nodeSyncLatency)
|
||||||
|
legacyregistry.MustRegister(nodeSyncErrorCount)
|
||||||
legacyregistry.MustRegister(updateLoadBalancerHostLatency)
|
legacyregistry.MustRegister(updateLoadBalancerHostLatency)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
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{
|
nodeSyncLatency = metrics.NewHistogram(&metrics.HistogramOpts{
|
||||||
Name: "nodesync_latency_seconds",
|
Name: "nodesync_latency_seconds",
|
||||||
Subsystem: subSystemName,
|
Subsystem: subSystemName,
|
||||||
@ -46,7 +61,6 @@ var (
|
|||||||
Buckets: metrics.ExponentialBuckets(1, 2, 15),
|
Buckets: metrics.ExponentialBuckets(1, 2, 15),
|
||||||
StabilityLevel: metrics.ALPHA,
|
StabilityLevel: metrics.ALPHA,
|
||||||
})
|
})
|
||||||
|
|
||||||
updateLoadBalancerHostLatency = metrics.NewHistogram(&metrics.HistogramOpts{
|
updateLoadBalancerHostLatency = metrics.NewHistogram(&metrics.HistogramOpts{
|
||||||
Name: "update_loadbalancer_host_latency_seconds",
|
Name: "update_loadbalancer_host_latency_seconds",
|
||||||
Subsystem: subSystemName,
|
Subsystem: subSystemName,
|
||||||
|
Loading…
Reference in New Issue
Block a user