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  }