diff --git a/metrics/group_processes.go b/metrics/group_processes.go index 22bbc1c..422b94d 100644 --- a/metrics/group_processes.go +++ b/metrics/group_processes.go @@ -133,6 +133,7 @@ func (p *ProcessesMetricGroup) GetMetrics(status *models.FullStatus) { tags := p.getTags(processName, &process) metrics["degraded"] = process.Degraded metrics["excluded"] = process.Excluded + metrics["run_loop_busy"] = process.RunLoopBusy if process.Cpu != nil { metrics["cpu_cores"] = process.Cpu.UsageCores } diff --git a/models/process.go b/models/process.go index 08ebcd7..add2db2 100644 --- a/models/process.go +++ b/models/process.go @@ -30,6 +30,7 @@ type Process struct { Messages []ProcessMessage `json:"messages"` Network *ProcessNetwork `json:"network"` Roles []ProcessRole `json:"roles"` + RunLoopBusy float64 `json:"run_loop_busy"` } type ProcessCpu struct { diff --git a/models/process_test.go b/models/process_test.go index d577390..b3c4ffd 100644 --- a/models/process_test.go +++ b/models/process_test.go @@ -30,6 +30,7 @@ func TestProcessSingleBasic(t *testing.T) { assert.False(t, process.Excluded) assert.Equal(t, process.FaultDomain, "2f768c26fc0f01ce8af5402f7779b62c") assert.Equal(t, process.MachineId, "2f768c26fc0f01ce8af5402f7779b62c") + assert.Greater(t, process.RunLoopBusy, 0.0) } func TestProcessCpuSingleBasic(t *testing.T) {