feat(metrics): add more iptables sync metrics

This commit is contained in:
Aaron U'Ren 2021-02-27 09:54:49 -06:00
parent 95299a4cb5
commit 22b031beaa
2 changed files with 16 additions and 0 deletions

View File

@ -208,6 +208,8 @@ func (npc *NetworkPolicyController) fullPolicySync() {
endTime := time.Since(start) endTime := time.Since(start)
if npc.MetricsEnabled { if npc.MetricsEnabled {
metrics.ControllerIptablesSyncTime.Observe(endTime.Seconds()) metrics.ControllerIptablesSyncTime.Observe(endTime.Seconds())
metrics.ControllerIptablesSyncTotalTime.Add(endTime.Seconds())
metrics.ControllerIptablesSyncTotalCount.Add(1)
} }
glog.V(1).Infof("sync iptables took %v", endTime) glog.V(1).Infof("sync iptables took %v", endTime)
}() }()
@ -633,6 +635,8 @@ func NewNetworkPolicyController(clientset kubernetes.Interface,
//Register the metrics for this controller //Register the metrics for this controller
prometheus.MustRegister(metrics.ControllerIptablesSyncTime) prometheus.MustRegister(metrics.ControllerIptablesSyncTime)
prometheus.MustRegister(metrics.ControllerPolicyChainsSyncTime) prometheus.MustRegister(metrics.ControllerPolicyChainsSyncTime)
prometheus.MustRegister(metrics.ControllerIptablesSyncTotalTime)
prometheus.MustRegister(metrics.ControllerIptablesSyncTotalCount)
npc.MetricsEnabled = true npc.MetricsEnabled = true
} }

View File

@ -100,6 +100,18 @@ var (
Name: "controller_iptables_sync_time", Name: "controller_iptables_sync_time",
Help: "Time it took for controller to sync iptables", Help: "Time it took for controller to sync iptables",
}) })
// ControllerIptablesSyncTotalTime Time it took for controller to sync iptables
ControllerIptablesSyncTotalTime = prometheus.NewCounter(prometheus.CounterOpts{
Namespace: namespace,
Name: "controller_iptables_sync_total_time",
Help: "Time it took for controller to sync iptables as a counter",
})
// ControllerIptablesSyncTotalCount Number of times the controller synced iptables for individual pods
ControllerIptablesSyncTotalCount = prometheus.NewCounter(prometheus.CounterOpts{
Namespace: namespace,
Name: "controller_iptables_sync_total_count",
Help: "Total number of times kube-router synced iptables",
})
// ControllerIpvsServicesSyncTime Time it took for controller to sync ipvs services // ControllerIpvsServicesSyncTime Time it took for controller to sync ipvs services
ControllerIpvsServicesSyncTime = prometheus.NewHistogram(prometheus.HistogramOpts{ ControllerIpvsServicesSyncTime = prometheus.NewHistogram(prometheus.HistogramOpts{
Namespace: namespace, Namespace: namespace,