in internal/store/certificatesigningrequest.go [41:128]
func csrMetricFamilies(allowAnnotationsList, allowLabelsList []string) []generator.FamilyGenerator {
return []generator.FamilyGenerator{
*generator.NewFamilyGenerator(
descCSRAnnotationsName,
descCSRAnnotationsHelp,
metric.Gauge,
"",
wrapCSRFunc(func(j *certv1.CertificateSigningRequest) *metric.Family {
annotationKeys, annotationValues := createPrometheusLabelKeysValues("annotation", j.Annotations, allowAnnotationsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: annotationKeys,
LabelValues: annotationValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
descCSRLabelsName,
descCSRLabelsHelp,
metric.Gauge,
"",
wrapCSRFunc(func(j *certv1.CertificateSigningRequest) *metric.Family {
labelKeys, labelValues := createPrometheusLabelKeysValues("label", j.Labels, allowLabelsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: labelKeys,
LabelValues: labelValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
"kube_certificatesigningrequest_created",
"Unix creation timestamp",
metric.Gauge,
"",
wrapCSRFunc(func(csr *certv1.CertificateSigningRequest) *metric.Family {
ms := []*metric.Metric{}
if !csr.CreationTimestamp.IsZero() {
ms = append(ms, &metric.Metric{
LabelKeys: []string{},
LabelValues: []string{},
Value: float64(csr.CreationTimestamp.Unix()),
})
}
return &metric.Family{
Metrics: ms,
}
}),
),
*generator.NewFamilyGenerator(
"kube_certificatesigningrequest_condition",
"The number of each certificatesigningrequest condition",
metric.Gauge,
"",
wrapCSRFunc(func(csr *certv1.CertificateSigningRequest) *metric.Family {
return &metric.Family{
Metrics: addCSRConditionMetrics(csr.Status),
}
}),
),
*generator.NewFamilyGenerator(
"kube_certificatesigningrequest_cert_length",
"Length of the issued cert",
metric.Gauge,
"",
wrapCSRFunc(func(csr *certv1.CertificateSigningRequest) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: []string{},
LabelValues: []string{},
Value: float64(len(csr.Status.Certificate)),
},
},
}
}),
),
}
}