github.com/netdata/go.d.plugin@v0.58.1/modules/windows/collect_os.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package windows 4 5 import ( 6 "github.com/netdata/go.d.plugin/pkg/prometheus" 7 ) 8 9 const ( 10 metricOSPhysicalMemoryFreeBytes = "windows_os_physical_memory_free_bytes" 11 metricOSPagingFreeBytes = "windows_os_paging_free_bytes" 12 metricOSProcessesLimit = "windows_os_processes_limit" 13 metricOSProcesses = "windows_os_processes" 14 metricOSUsers = "windows_os_users" 15 metricOSPagingLimitBytes = "windows_os_paging_limit_bytes" 16 metricOSVisibleMemoryBytes = "windows_os_visible_memory_bytes" 17 ) 18 19 func (w *Windows) collectOS(mx map[string]int64, pms prometheus.Series) { 20 if !w.cache.collection[collectorOS] { 21 w.cache.collection[collectorOS] = true 22 w.addOSCharts() 23 } 24 25 px := "os_" 26 if pm := pms.FindByName(metricOSPhysicalMemoryFreeBytes); pm.Len() > 0 { 27 mx[px+"physical_memory_free_bytes"] = int64(pm.Max()) 28 } 29 if pm := pms.FindByName(metricOSPagingFreeBytes); pm.Len() > 0 { 30 mx[px+"paging_free_bytes"] = int64(pm.Max()) 31 } 32 if pm := pms.FindByName(metricOSProcessesLimit); pm.Len() > 0 { 33 mx[px+"processes_limit"] = int64(pm.Max()) 34 } 35 if pm := pms.FindByName(metricOSProcesses); pm.Len() > 0 { 36 mx[px+"processes"] = int64(pm.Max()) 37 } 38 if pm := pms.FindByName(metricOSUsers); pm.Len() > 0 { 39 mx[px+"users"] = int64(pm.Max()) 40 } 41 if pm := pms.FindByName(metricOSPagingLimitBytes); pm.Len() > 0 { 42 mx[px+"paging_limit_bytes"] = int64(pm.Max()) 43 } 44 if pm := pms.FindByName(metricOSVisibleMemoryBytes); pm.Len() > 0 { 45 mx[px+"visible_memory_bytes"] = int64(pm.Max()) 46 } 47 }