Skip to content

Commit 1ee58f4

Browse files
committed
Merge pull request google#1259 from timstclair/disable-metrics
Fixes for --disable_metrics flag
2 parents 000a773 + c8d9cc1 commit 1ee58f4

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

cadvisor.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,15 @@ type metricSetValue struct {
7272
}
7373

7474
func (ml *metricSetValue) String() string {
75-
return fmt.Sprint(*ml)
75+
var values []string
76+
for metric, _ := range ml.MetricSet {
77+
values = append(values, string(metric))
78+
}
79+
return strings.Join(values, ",")
7680
}
7781

7882
func (ml *metricSetValue) Set(value string) error {
79-
ignoreMetrics = metricSetValue{}
83+
ml.MetricSet = container.MetricSet{}
8084
if value == "" {
8185
return nil
8286
}
@@ -91,7 +95,7 @@ func (ml *metricSetValue) Set(value string) error {
9195
}
9296

9397
func init() {
94-
flag.Var(&ignoreMetrics, "disable_metrics", "comma-separated list of metrics to be disabled. Options are `disk`, `network`, `tcp`. Note: tcp is disabled by default due to high CPU usage.")
98+
flag.Var(&ignoreMetrics, "disable_metrics", "comma-separated list of `metrics` to be disabled. Options are 'disk', 'network', 'tcp'. Note: tcp is disabled by default due to high CPU usage.")
9599
}
96100

97101
func main() {

cadvisor_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,22 @@ func TestTcpMetricsAreDisabledByDefault(t *testing.T) {
2828
assert.True(t, ignoreMetrics.Has(container.NetworkTcpUsageMetrics))
2929
}
3030

31-
func TestTcpMetricsAreEnabledOnDemand(t *testing.T) {
32-
assert.True(t, ignoreMetrics.Has(container.NetworkTcpUsageMetrics))
33-
ignoreMetrics.Set("")
34-
assert.False(t, ignoreMetrics.Has(container.NetworkTcpUsageMetrics))
31+
func TestIgnoreMetrics(t *testing.T) {
32+
tests := []struct {
33+
value string
34+
expected []container.MetricKind
35+
}{
36+
{"", []container.MetricKind{}},
37+
{"disk", []container.MetricKind{container.DiskUsageMetrics}},
38+
{"disk,tcp,network", []container.MetricKind{container.DiskUsageMetrics, container.NetworkTcpUsageMetrics, container.NetworkUsageMetrics}},
39+
}
40+
41+
for _, test := range tests {
42+
assert.NoError(t, ignoreMetrics.Set(test.value))
43+
44+
assert.Equal(t, len(test.expected), len(ignoreMetrics.MetricSet))
45+
for _, expected := range test.expected {
46+
assert.True(t, ignoreMetrics.Has(expected), "Missing %s", expected)
47+
}
48+
}
3549
}

0 commit comments

Comments
 (0)