func csrMetricFamilies()

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)),
						},
					},
				}
			}),
		),
	}
}