Add gopsutil meminfo fields to mem plugin (#4546)
This commit is contained in:
@@ -37,6 +37,27 @@ func (s *MemStats) Gather(acc telegraf.Accumulator) error {
|
||||
"slab": vm.Slab,
|
||||
"used_percent": 100 * float64(vm.Used) / float64(vm.Total),
|
||||
"available_percent": 100 * float64(vm.Available) / float64(vm.Total),
|
||||
"commit_limit": vm.CommitLimit,
|
||||
"committed_as": vm.CommittedAS,
|
||||
"dirty": vm.Dirty,
|
||||
"high_free": vm.HighFree,
|
||||
"high_total": vm.HighTotal,
|
||||
"huge_page_size": vm.HugePageSize,
|
||||
"huge_pages_free": vm.HugePagesFree,
|
||||
"huge_pages_total": vm.HugePagesTotal,
|
||||
"low_free": vm.LowFree,
|
||||
"low_total": vm.LowTotal,
|
||||
"mapped": vm.Mapped,
|
||||
"page_tables": vm.PageTables,
|
||||
"shared": vm.Shared,
|
||||
"swap_cached": vm.SwapCached,
|
||||
"swap_free": vm.SwapFree,
|
||||
"swap_total": vm.SwapTotal,
|
||||
"vmalloc_chunk": vm.VMallocChunk,
|
||||
"vmalloc_total": vm.VMallocTotal,
|
||||
"vmalloc_used": vm.VMallocUsed,
|
||||
"write_back": vm.Writeback,
|
||||
"write_back_tmp": vm.WritebackTmp,
|
||||
}
|
||||
acc.AddGauge("mem", fields, nil)
|
||||
|
||||
|
||||
@@ -27,6 +27,27 @@ func TestMemStats(t *testing.T) {
|
||||
// Buffers: 771,
|
||||
// Cached: 4312,
|
||||
// Shared: 2142,
|
||||
CommitLimit: 1,
|
||||
CommittedAS: 118680,
|
||||
Dirty: 4,
|
||||
HighFree: 0,
|
||||
HighTotal: 0,
|
||||
HugePageSize: 4096,
|
||||
HugePagesFree: 0,
|
||||
HugePagesTotal: 0,
|
||||
LowFree: 69936,
|
||||
LowTotal: 255908,
|
||||
Mapped: 42236,
|
||||
PageTables: 1236,
|
||||
Shared: 0,
|
||||
SwapCached: 0,
|
||||
SwapFree: 524280,
|
||||
SwapTotal: 524280,
|
||||
VMallocChunk: 3872908,
|
||||
VMallocTotal: 3874808,
|
||||
VMallocUsed: 1416,
|
||||
Writeback: 0,
|
||||
WritebackTmp: 0,
|
||||
}
|
||||
|
||||
mps.On("VMStat").Return(vms, nil)
|
||||
@@ -47,6 +68,27 @@ func TestMemStats(t *testing.T) {
|
||||
"inactive": uint64(1124),
|
||||
"wired": uint64(134),
|
||||
"slab": uint64(1234),
|
||||
"commit_limit": uint64(1),
|
||||
"committed_as": uint64(118680),
|
||||
"dirty": uint64(4),
|
||||
"high_free": uint64(0),
|
||||
"high_total": uint64(0),
|
||||
"huge_page_size": uint64(4096),
|
||||
"huge_pages_free": uint64(0),
|
||||
"huge_pages_total": uint64(0),
|
||||
"low_free": uint64(69936),
|
||||
"low_total": uint64(255908),
|
||||
"mapped": uint64(42236),
|
||||
"page_tables": uint64(1236),
|
||||
"shared": uint64(0),
|
||||
"swap_cached": uint64(0),
|
||||
"swap_free": uint64(524280),
|
||||
"swap_total": uint64(524280),
|
||||
"vmalloc_chunk": uint64(3872908),
|
||||
"vmalloc_total": uint64(3874808),
|
||||
"vmalloc_used": uint64(1416),
|
||||
"write_back": uint64(0),
|
||||
"write_back_tmp": uint64(0),
|
||||
}
|
||||
acc.AssertContainsTaggedFields(t, "mem", memfields, make(map[string]string))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user