Skip to content

Commit ed1a7f9

Browse files
committed
pods: update init_cotainer_info metric
1 parent fc1831d commit ed1a7f9

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

docs/pod-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
| kube_pod_created | Gauge | Unix creation timestamp | seconds | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `uid`=&lt;pod-uid&gt; | STABLE | - |
3737
| kube_pod_deletion_timestamp | Gauge | Unix deletion timestamp | seconds | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `uid`=&lt;pod-uid&gt; | EXPERIMENTAL | - |
3838
| kube_pod_restart_policy | Gauge | Describes the restart policy in use by this pod | | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `type`=&lt;Always\|Never\|OnFailure&gt; <br> `uid`=&lt;pod-uid&gt; | STABLE | - |
39-
| kube_pod_init_container_info | Gauge | Information about an init container in a pod | | `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `image`=&lt;image-name&gt; <br> `image_id`=&lt;image-id&gt; <br> `image_spec`=&lt;image-spec&gt; <br> `container_id`=&lt;containerid&gt; <br> `uid`=&lt;pod-uid&gt; | STABLE | - |
39+
| kube_pod_init_container_info | Gauge | Information about an init container in a pod | | `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `image`=&lt;image-name&gt; <br> `image_id`=&lt;image-id&gt; <br> `image_spec`=&lt;image-spec&gt; <br> `container_id`=&lt;containerid&gt; <br> `uid`=&lt;pod-uid&gt; <br> `type`=&lt;Always&gt; | STABLE | - |
4040
| kube_pod_init_container_status_waiting | Gauge | Describes whether the init container is currently in waiting state | | `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `uid`=&lt;pod-uid&gt; | STABLE | - |
4141
| kube_pod_init_container_status_waiting_reason | Gauge | Describes the reason the init container is currently in waiting state | | `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `reason`=&lt;container-waiting-reason&gt; <br> `uid`=&lt;pod-uid&gt; | EXPERIMENTAL | - |
4242
| kube_pod_init_container_status_running | Gauge | Describes whether the init container is currently in running state | | `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `uid`=&lt;pod-uid&gt; | STABLE | - |

internal/store/pod.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -680,13 +680,18 @@ func createPodInitContainerInfoFamilyGenerator() generator.FamilyGenerator {
680680
labelKeys := []string{"container", "image_spec", "image", "image_id", "container_id", "type"}
681681

682682
for _, c := range p.Spec.InitContainers {
683+
restartPolicy := ""
684+
if c.RestartPolicy != nil {
685+
restartPolicy = string(*c.RestartPolicy)
686+
}
687+
683688
for _, cs := range p.Status.InitContainerStatuses {
684689
if cs.Name != c.Name {
685690
continue
686691
}
687692
ms = append(ms, &metric.Metric{
688693
LabelKeys: labelKeys,
689-
LabelValues: []string{cs.Name, c.Image, cs.Image, cs.ImageID, cs.ContainerID, c.RestartPolicy},
694+
LabelValues: []string{cs.Name, c.Image, cs.Image, cs.ImageID, cs.ContainerID, restartPolicy},
690695
Value: 1,
691696
})
692697
}

internal/store/pod_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func TestPodStore(t *testing.T) {
3333
runtimeclass := "foo"
3434
startTime := 1501569018
3535
metav1StartTime := metav1.Unix(int64(startTime), 0)
36+
restartPolicyAlways := v1.ContainerRestartPolicyAlways
3637

3738
cases := []generateMetricsTestCase{
3839
{
@@ -89,7 +90,7 @@ func TestPodStore(t *testing.T) {
8990
{
9091
Name: "initContainer",
9192
Image: "k8s.gcr.io/initfoo_spec",
92-
RestartPolicy: v1.RestartPolicyAlways
93+
RestartPolicy: &restartPolicyAlways,
9394
},
9495
},
9596
},
@@ -125,7 +126,7 @@ func TestPodStore(t *testing.T) {
125126
# TYPE kube_pod_init_container_info gauge
126127
kube_pod_container_info{container="container2",container_id="docker://cd456",image_spec="k8s.gcr.io/hyperkube2_spec",image="k8s.gcr.io/hyperkube2",image_id="docker://sha256:bbb",namespace="ns2",pod="pod2",uid="uid2"} 1
127128
kube_pod_container_info{container="container3",container_id="docker://ef789",image_spec="k8s.gcr.io/hyperkube3_spec",image="k8s.gcr.io/hyperkube3",image_id="docker://sha256:ccc",namespace="ns2",pod="pod2",uid="uid2"} 1
128-
kube_pod_init_container_info{container="initContainer",container_id="docker://ef123",image_spec="k8s.gcr.io/initfoo_spec",image="k8s.gcr.io/initfoo",image_id="docker://sha256:wxyz",namespace="ns2",pod="pod2",uid="uid2"} 1`,
129+
kube_pod_init_container_info{container="initContainer",container_id="docker://ef123",image_spec="k8s.gcr.io/initfoo_spec",image="k8s.gcr.io/initfoo",image_id="docker://sha256:wxyz",namespace="ns2",pod="pod2",uid="uid2",type="Always"} 1`,
129130
MetricNames: []string{"kube_pod_container_info", "kube_pod_init_container_info"},
130131
},
131132
{

0 commit comments

Comments
 (0)