Skip to content

Commit e7cc79f

Browse files
mateuszdrabdims
authored andcommitted
add health status tests
1 parent f786603 commit e7cc79f

File tree

6 files changed

+13
-1
lines changed

6 files changed

+13
-1
lines changed

docs/storage/prometheus.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Metric name | Type | Description | Unit (where applicable) | option parameter |
4747
`container_fs_write_seconds_total` | Counter | Cumulative count of seconds spent writing | seconds | diskIO |
4848
`container_fs_writes_merged_total` | Counter | Cumulative count of writes merged | | diskIO |
4949
`container_fs_writes_total` | Counter | Cumulative count of writes completed | | diskIO |
50+
`container_health_state` | Gauge | State of the health check probe | | - |
5051
`container_hugetlb_failcnt` | Counter | Number of hugepage usage hits limits | | hugetlb |
5152
`container_hugetlb_max_usage_bytes` | Gauge | Maximum hugepage usages recorded | bytes | hugetlb |
5253
`container_hugetlb_usage_bytes` | Gauge | Current hugepage usage | bytes | hugetlb |

metrics/prometheus_fake.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,7 @@ func (p testSubcontainersInfoProvider) GetRequestedContainersInfo(string, v2.Req
778778
},
779779
},
780780
CpuSet: info.CPUSetStats{MemoryMigrate: 1},
781+
Health: info.Health{Status: "healthy"},
781782
},
782783
},
783784
},

metrics/prometheus_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,13 @@ func TestPrometheusCollector_scrapeFailure(t *testing.T) {
110110

111111
func TestNewPrometheusCollectorWithPerf(t *testing.T) {
112112
c := NewPrometheusCollector(&mockInfoProvider{}, mockLabelFunc, container.MetricSet{container.PerfMetrics: struct{}{}}, now, v2.RequestOptions{})
113-
assert.Len(t, c.containerMetrics, 5)
113+
assert.Len(t, c.containerMetrics, 6)
114114
names := []string{}
115115
for _, m := range c.containerMetrics {
116116
names = append(names, m.name)
117117
}
118118
assert.Contains(t, names, "container_last_seen")
119+
assert.Contains(t, names, "container_health_state")
119120
assert.Contains(t, names, "container_perf_events_total")
120121
assert.Contains(t, names, "container_perf_events_scaling_ratio")
121122
assert.Contains(t, names, "container_perf_uncore_events_total")

metrics/testdata/prometheus_metrics

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ container_fs_writes_merged_total{container_env_foo_env="prod",container_label_fo
124124
# TYPE container_fs_writes_total counter
125125
container_fs_writes_total{container_env_foo_env="prod",container_label_foo_label="bar",device="sda1",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 28 1395066363000
126126
container_fs_writes_total{container_env_foo_env="prod",container_label_foo_label="bar",device="sda2",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 43 1395066363000
127+
# HELP container_health_state The result of the container's health check
128+
# TYPE container_health_state gauge
129+
container_health_state{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 1 1395066363000
127130
# HELP container_hugetlb_failcnt Number of hugepage usage hits limits
128131
# TYPE container_hugetlb_failcnt counter
129132
container_hugetlb_failcnt{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",pagesize="1Gi",zone_name="hello"} 0 1395066363000

metrics/testdata/prometheus_metrics_perf_aggregated

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# HELP cadvisor_version_info A metric with a constant '1' value labeled by kernel version, OS version, docker version, cadvisor version & cadvisor revision.
22
# TYPE cadvisor_version_info gauge
33
cadvisor_version_info{cadvisorRevision="abcdef",cadvisorVersion="0.16.0",dockerVersion="1.8.1",kernelVersion="4.1.6-200.fc22.x86_64",osVersion="Fedora 22 (Twenty Two)"} 1
4+
# HELP container_health_state The result of the container's health check
5+
# TYPE container_health_state gauge
6+
container_health_state{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 1 1395066363000
47
# HELP container_last_seen Last time a container was seen by the exporter
58
# TYPE container_last_seen gauge
69
container_last_seen{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 1.395066363e+09 1395066363000

metrics/testdata/prometheus_metrics_whitelist_filtered

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ container_fs_writes_merged_total{container_env_foo_env="prod",device="sda2",id="
124124
# TYPE container_fs_writes_total counter
125125
container_fs_writes_total{container_env_foo_env="prod",device="sda1",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 28 1395066363000
126126
container_fs_writes_total{container_env_foo_env="prod",device="sda2",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 43 1395066363000
127+
# HELP container_health_state The result of the container's health check
128+
# TYPE container_health_state gauge
129+
container_health_state{container_env_foo_env="prod",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 1 1395066363000
127130
# HELP container_hugetlb_failcnt Number of hugepage usage hits limits
128131
# TYPE container_hugetlb_failcnt counter
129132
container_hugetlb_failcnt{container_env_foo_env="prod",id="testcontainer",image="test",name="testcontaineralias",pagesize="1Gi",zone_name="hello"} 0 1395066363000

0 commit comments

Comments
 (0)