in internal/store/networkpolicy.go [41:131]
func networkPolicyMetricFamilies(allowAnnotationsList, allowLabelsList []string) []generator.FamilyGenerator {
return []generator.FamilyGenerator{
*generator.NewFamilyGenerator(
"kube_networkpolicy_created",
"Unix creation timestamp of network policy",
metric.Gauge,
"",
wrapNetworkPolicyFunc(func(n *networkingv1.NetworkPolicy) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: []string{},
LabelValues: []string{},
Value: float64(n.CreationTimestamp.Unix()),
},
},
}
}),
),
*generator.NewFamilyGenerator(
descNetworkPolicyAnnotationsName,
descNetworkPolicyAnnotationsHelp,
metric.Gauge,
"",
wrapNetworkPolicyFunc(func(n *networkingv1.NetworkPolicy) *metric.Family {
annotationKeys, annotationValues := createPrometheusLabelKeysValues("annotation", n.Annotations, allowAnnotationsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: annotationKeys,
LabelValues: annotationValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
descNetworkPolicyLabelsName,
descNetworkPolicyLabelsHelp,
metric.Gauge,
"",
wrapNetworkPolicyFunc(func(n *networkingv1.NetworkPolicy) *metric.Family {
labelKeys, labelValues := createPrometheusLabelKeysValues("label", n.Labels, allowLabelsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: labelKeys,
LabelValues: labelValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
"kube_networkpolicy_spec_ingress_rules",
"Number of ingress rules on the networkpolicy",
metric.Gauge,
"",
wrapNetworkPolicyFunc(func(n *networkingv1.NetworkPolicy) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: []string{},
LabelValues: []string{},
Value: float64(len(n.Spec.Ingress)),
},
},
}
}),
),
*generator.NewFamilyGenerator(
"kube_networkpolicy_spec_egress_rules",
"Number of egress rules on the networkpolicy",
metric.Gauge,
"",
wrapNetworkPolicyFunc(func(n *networkingv1.NetworkPolicy) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: []string{},
LabelValues: []string{},
Value: float64(len(n.Spec.Egress)),
},
},
}
}),
),
}
}