diff --git a/runsc/cmd/metric_server.go b/runsc/cmd/metric_server.go index 57932a66a..8170890ba 100644 --- a/runsc/cmd/metric_server.go +++ b/runsc/cmd/metric_server.go @@ -556,6 +556,7 @@ func (m *MetricServer) serveMetrics(w http.ResponseWriter, req *http.Request) ht loadedSandboxes = append(loadedSandboxes, <-loadedSandboxesCh) } close(loadedSandboxesCh) + numSandboxesTotal := m.numSandboxes m.mu.Unlock() // Now iterate over all sandboxes. @@ -683,6 +684,11 @@ func (m *MetricServer) serveMetrics(w http.ResponseWriter, req *http.Request) ht snapshotsToOptions[snapshotAndOptions.snapshot] = snapshotAndOptions.options } + // Add our own metrics. + selfMetrics.Add(prometheus.NewIntData(&NumRunningSandboxesMetric, meta.numRunningSandboxes)) + selfMetrics.Add(prometheus.NewIntData(&NumCannotExportSandboxesMetric, meta.numCannotExportSandboxes)) + selfMetrics.Add(prometheus.NewIntData(&NumTotalSandboxesMetric, numSandboxesTotal)) + // Write out all data. lastMetricsWrittenSize := int(m.lastMetricsWrittenSize.Load()) metricsWritten := make(map[string]bool, lastMetricsWrittenSize)