Add gauge implementation of kube_statefulset_ordinals_start
This commit is contained in:
parent
686f858370
commit
39c66ee248
|
|
@ -10,7 +10,7 @@
|
|||
| kube_statefulset_status_replicas_updated | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | STABLE |
|
||||
| kube_statefulset_status_observed_generation | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | STABLE |
|
||||
| kube_statefulset_replicas | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | STABLE |
|
||||
| kube_statefulset_ordinal_start | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | ALPHA |
|
||||
| kube_statefulset_ordinals_start | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | ALPHA |
|
||||
| kube_statefulset_metadata_generation | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | STABLE |
|
||||
| kube_statefulset_persistentvolumeclaim_retention_policy | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> <br> `when_deleted`=<statefulset-when-deleted-pvc-policy> <br> `when_scaled`=<statefulset-when-scaled-pvc-policy> | EXPERIMENTAL |
|
||||
| kube_statefulset_created | Gauge | `statefulset`=<statefulset-name> <br> `namespace`=<statefulset-namespace> | STABLE |
|
||||
|
|
|
|||
|
|
@ -178,6 +178,26 @@ func statefulSetMetricFamilies(allowAnnotationsList, allowLabelsList []string) [
|
|||
}
|
||||
}),
|
||||
),
|
||||
*generator.NewFamilyGeneratorWithStability(
|
||||
"kube_statefulset_ordinals_start",
|
||||
"Start ordinal of the StatefulSet.",
|
||||
metric.Gauge,
|
||||
basemetrics.ALPHA,
|
||||
"",
|
||||
wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
|
||||
ms := []*metric.Metric{}
|
||||
|
||||
if s.Spec.Ordinals != nil {
|
||||
ms = append(ms, &metric.Metric{
|
||||
Value: float64(s.Spec.Ordinals.Start),
|
||||
})
|
||||
}
|
||||
|
||||
return &metric.Family{
|
||||
Metrics: ms,
|
||||
}
|
||||
}),
|
||||
),
|
||||
*generator.NewFamilyGeneratorWithStability(
|
||||
"kube_statefulset_metadata_generation",
|
||||
"Sequence number representing a specific generation of the desired state for the StatefulSet.",
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ func TestStatefulSetStore(t *testing.T) {
|
|||
# HELP kube_statefulset_metadata_generation [STABLE] Sequence number representing a specific generation of the desired state for the StatefulSet.
|
||||
# HELP kube_statefulset_persistentvolumeclaim_retention_policy Count of retention policy for StatefulSet template PVCs
|
||||
# HELP kube_statefulset_replicas [STABLE] Number of desired pods for a StatefulSet.
|
||||
# HELP kube_statefulset_ordinals_start Start ordinal of the StatefulSet.
|
||||
# HELP kube_statefulset_status_current_revision [STABLE] Indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
|
||||
# HELP kube_statefulset_status_observed_generation [STABLE] The generation observed by the StatefulSet controller.
|
||||
# HELP kube_statefulset_status_replicas [STABLE] The number of replicas per StatefulSet.
|
||||
|
|
@ -78,6 +79,7 @@ func TestStatefulSetStore(t *testing.T) {
|
|||
# TYPE kube_statefulset_metadata_generation gauge
|
||||
# TYPE kube_statefulset_persistentvolumeclaim_retention_policy gauge
|
||||
# TYPE kube_statefulset_replicas gauge
|
||||
# TYPE kube_statefulset_ordinals_start gauge
|
||||
# TYPE kube_statefulset_status_current_revision gauge
|
||||
# TYPE kube_statefulset_status_observed_generation gauge
|
||||
# TYPE kube_statefulset_status_replicas gauge
|
||||
|
|
@ -104,6 +106,7 @@ func TestStatefulSetStore(t *testing.T) {
|
|||
"kube_statefulset_labels",
|
||||
"kube_statefulset_metadata_generation",
|
||||
"kube_statefulset_replicas",
|
||||
"kube_statefulset_ordinals_start",
|
||||
"kube_statefulset_status_observed_generation",
|
||||
"kube_statefulset_status_replicas",
|
||||
"kube_statefulset_status_replicas_available",
|
||||
|
|
@ -335,6 +338,83 @@ func TestStatefulSetStore(t *testing.T) {
|
|||
"kube_statefulset_persistentvolumeclaim_retention_policy",
|
||||
},
|
||||
},
|
||||
{
|
||||
// Validate kube_statefulset_ordinals_start metric.
|
||||
Obj: &v1.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "statefulset5",
|
||||
Namespace: "ns5",
|
||||
Labels: map[string]string{
|
||||
"app": "example5",
|
||||
},
|
||||
Generation: 1,
|
||||
},
|
||||
Spec: v1.StatefulSetSpec{
|
||||
Replicas: &statefulSet1Replicas,
|
||||
ServiceName: "statefulset5service",
|
||||
Ordinals: &v1.StatefulSetOrdinals{
|
||||
Start: 2,
|
||||
},
|
||||
},
|
||||
Status: v1.StatefulSetStatus{
|
||||
ObservedGeneration: 0,
|
||||
Replicas: 3,
|
||||
UpdateRevision: "ur5",
|
||||
CurrentRevision: "cr5",
|
||||
},
|
||||
},
|
||||
Want: `
|
||||
# HELP kube_statefulset_labels [STABLE] Kubernetes labels converted to Prometheus labels.
|
||||
# HELP kube_statefulset_metadata_generation [STABLE] Sequence number representing a specific generation of the desired state for the StatefulSet.
|
||||
# HELP kube_statefulset_persistentvolumeclaim_retention_policy Count of retention policy for StatefulSet template PVCs
|
||||
# HELP kube_statefulset_replicas [STABLE] Number of desired pods for a StatefulSet.
|
||||
# HELP kube_statefulset_ordinals_start Start ordinal of the StatefulSet.
|
||||
# HELP kube_statefulset_status_current_revision [STABLE] Indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
|
||||
# HELP kube_statefulset_status_replicas [STABLE] The number of replicas per StatefulSet.
|
||||
# HELP kube_statefulset_status_replicas_available The number of available replicas per StatefulSet.
|
||||
# HELP kube_statefulset_status_replicas_current [STABLE] The number of current replicas per StatefulSet.
|
||||
# HELP kube_statefulset_status_replicas_ready [STABLE] The number of ready replicas per StatefulSet.
|
||||
# HELP kube_statefulset_status_replicas_updated [STABLE] The number of updated replicas per StatefulSet.
|
||||
# HELP kube_statefulset_status_update_revision [STABLE] Indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)
|
||||
# TYPE kube_statefulset_labels gauge
|
||||
# TYPE kube_statefulset_metadata_generation gauge
|
||||
# TYPE kube_statefulset_persistentvolumeclaim_retention_policy gauge
|
||||
# TYPE kube_statefulset_replicas gauge
|
||||
# TYPE kube_statefulset_ordinals_start gauge
|
||||
# TYPE kube_statefulset_status_current_revision gauge
|
||||
# TYPE kube_statefulset_status_replicas gauge
|
||||
# TYPE kube_statefulset_status_replicas_available gauge
|
||||
# TYPE kube_statefulset_status_replicas_current gauge
|
||||
# TYPE kube_statefulset_status_replicas_ready gauge
|
||||
# TYPE kube_statefulset_status_replicas_updated gauge
|
||||
# TYPE kube_statefulset_status_update_revision gauge
|
||||
kube_statefulset_status_update_revision{namespace="ns5",revision="ur5",statefulset="statefulset5"} 1
|
||||
kube_statefulset_status_replicas{namespace="ns5",statefulset="statefulset5"} 3
|
||||
kube_statefulset_status_replicas_available{namespace="ns5",statefulset="statefulset5"} 0
|
||||
kube_statefulset_status_replicas_current{namespace="ns5",statefulset="statefulset5"} 0
|
||||
kube_statefulset_status_replicas_ready{namespace="ns5",statefulset="statefulset5"} 0
|
||||
kube_statefulset_status_replicas_updated{namespace="ns5",statefulset="statefulset5"} 0
|
||||
kube_statefulset_replicas{namespace="ns5",statefulset="statefulset5"} 3
|
||||
kube_statefulset_ordinals_start{namespace="ns5",statefulset="statefulset5"} 2
|
||||
kube_statefulset_metadata_generation{namespace="ns5",statefulset="statefulset5"} 1
|
||||
kube_statefulset_labels{namespace="ns5",statefulset="statefulset5"} 1
|
||||
kube_statefulset_status_current_revision{namespace="ns5",revision="cr5",statefulset="statefulset5"} 1
|
||||
`,
|
||||
MetricNames: []string{
|
||||
"kube_statefulset_labels",
|
||||
"kube_statefulset_metadata_generation",
|
||||
"kube_statefulset_replicas",
|
||||
"kube_statefulset_ordinals_start",
|
||||
"kube_statefulset_status_replicas",
|
||||
"kube_statefulset_status_replicas_available",
|
||||
"kube_statefulset_status_replicas_current",
|
||||
"kube_statefulset_status_replicas_ready",
|
||||
"kube_statefulset_status_replicas_updated",
|
||||
"kube_statefulset_status_update_revision",
|
||||
"kube_statefulset_status_current_revision",
|
||||
"kube_statefulset_persistentvolumeclaim_retention_policy",
|
||||
},
|
||||
},
|
||||
}
|
||||
for i, c := range cases {
|
||||
c.Func = generator.ComposeMetricGenFuncs(statefulSetMetricFamilies(nil, nil))
|
||||
|
|
|
|||
Loading…
Reference in New Issue