Skip to content

Commit 15c70a8

Browse files
authored
Trim exec path in middle (#22)
1 parent 826c161 commit 15c70a8

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

cgroup_exporter.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,10 @@ func getProcInfo(pids []int, metric *CgroupMetric, logger log.Logger) {
239239
}
240240
if len(executable) > *collectProcMaxExec {
241241
level.Debug(logger).Log("msg", "Executable will be truncated", "executable", executable, "len", len(executable), "pid", p)
242-
executable = executable[len(executable)-*collectProcMaxExec:]
243-
executable = fmt.Sprintf("...%s", executable)
242+
trim := *collectProcMaxExec / 2
243+
executable_prefix := executable[0:trim]
244+
executable_suffix := executable[len(executable)-trim:]
245+
executable = fmt.Sprintf("%s...%s", executable_prefix, executable_suffix)
244246
}
245247
metricLock.Lock()
246248
executables[executable] += 1
@@ -479,6 +481,7 @@ func metricsHandler(logger log.Logger) http.HandlerFunc {
479481

480482
exporter := NewExporter(paths, logger)
481483
registry.MustRegister(exporter)
484+
registry.MustRegister(version.NewCollector(fmt.Sprintf("%s_exporter", namespace)))
482485

483486
gatherers := prometheus.Gatherers{registry}
484487
if !*disableExporterMetrics {

cgroup_exporter_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ func TestGetProcInfo(t *testing.T) {
9696
t.Errorf("Expected 2 /bin/bash processes, got %v", val)
9797
}
9898
}
99-
varLen := 4
99+
varLen := 6
100100
collectProcMaxExec = &varLen
101101
getProcInfo([]int{95521, 95525}, &metric, logger)
102-
if val, ok := metric.processExec["...bash"]; !ok {
102+
if val, ok := metric.processExec["/bi...ash"]; !ok {
103103
t.Errorf("Process /bin/bash not in metrics, found: %v", metric.processExec)
104104
return
105105
} else {
106106
if val != 2 {
107-
t.Errorf("Expected 2 .../bash processes, got %v", val)
107+
t.Errorf("Expected 2 /b...sh processes, got %v", val)
108108
}
109109
}
110110
}

0 commit comments

Comments
 (0)