Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions metric/system/diskio/diskstat_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import (
"errors"

"github.com/shirou/gopsutil/v4/disk"

"github.com/elastic/elastic-agent-libs/logp"
)

// NewDiskIOStat :init DiskIOStat object.
Expand All @@ -47,6 +49,6 @@ func (stat *IOStat) CalcIOStatistics(counter disk.IOCountersStat) (IOMetric, err
func (stat *IOStat) CloseSampling() {}

// IOCounters should map functionality to disk package for linux os.
func IOCounters(names ...string) (map[string]disk.IOCountersStat, error) {
return ioCounters(names...)
func IOCounters(logger *logp.Logger, names ...string) (map[string]disk.IOCountersStat, error) {
return ioCounters(logger, names...)
}
4 changes: 2 additions & 2 deletions metric/system/diskio/diskstat_windows_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ type logicalDrive struct {
}

// ioCounters gets the diskio counters and maps them to the list of counterstat objects.
func ioCounters(names ...string) (map[string]disk.IOCountersStat, error) {
func ioCounters(logger *logp.Logger, names ...string) (map[string]disk.IOCountersStat, error) {
if err := enablePerformanceCounters(); err != nil {
return nil, err
}
Expand All @@ -72,7 +72,7 @@ func ioCounters(names ...string) (map[string]disk.IOCountersStat, error) {
var counter diskPerformance
err = ioCounter(drive.UNCPath, &counter)
if err != nil {
logp.Err("Could not return any performance counter values for %s .Error: %v", drive.UNCPath, err)
logger.Errorf("Could not return any performance counter values for %s .Error: %v", drive.UNCPath, err)
continue
}
ret[drive.Name] = disk.IOCountersStat{
Expand Down
2 changes: 1 addition & 1 deletion metric/system/process/process_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ func (procStats *Stats) Init() error {
if procStats.EnableCgroups {
cgReader, err := cgroup.NewReaderOptions(procStats.CgroupOpts)
if errors.Is(err, cgroup.ErrCgroupsMissing) {
logp.Warn("cgroup data collection will be disabled: %v", err)
procStats.logger.Warnf("cgroup data collection will be disabled: %v", err)
procStats.EnableCgroups = false
} else if err != nil {
return fmt.Errorf("error initializing cgroup reader: %w", err)
Expand Down
38 changes: 20 additions & 18 deletions report/report.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,26 +128,28 @@ func InstanceCPUReporter(logger *logp.Logger, processStats *process.Stats) func(
}
}

func ReportSystemLoadAverage(_ monitoring.Mode, V monitoring.Visitor) {
V.OnRegistryStart()
defer V.OnRegistryFinished()
func ReportSystemLoadAverage(logger *logp.Logger) func(monitoring.Mode, monitoring.Visitor) {
return func(_ monitoring.Mode, V monitoring.Visitor) {
V.OnRegistryStart()
defer V.OnRegistryFinished()

load, err := cpu.Load()
if err != nil {
logp.Err("Error retrieving load average: %v", err)
return
load, err := cpu.Load()
if err != nil {
logger.Errorf("Error retrieving load average: %v", err)
return
}
avgs := load.Averages()
monitoring.ReportFloat(V, "1", avgs.OneMinute)
monitoring.ReportFloat(V, "5", avgs.FiveMinute)
monitoring.ReportFloat(V, "15", avgs.FifteenMinute)

normAvgs := load.NormalizedAverages()
monitoring.ReportNamespace(V, "norm", func() {
monitoring.ReportFloat(V, "1", normAvgs.OneMinute)
monitoring.ReportFloat(V, "5", normAvgs.FiveMinute)
monitoring.ReportFloat(V, "15", normAvgs.FifteenMinute)
})
}
avgs := load.Averages()
monitoring.ReportFloat(V, "1", avgs.OneMinute)
monitoring.ReportFloat(V, "5", avgs.FiveMinute)
monitoring.ReportFloat(V, "15", avgs.FifteenMinute)

normAvgs := load.NormalizedAverages()
monitoring.ReportNamespace(V, "norm", func() {
monitoring.ReportFloat(V, "1", normAvgs.OneMinute)
monitoring.ReportFloat(V, "5", normAvgs.FiveMinute)
monitoring.ReportFloat(V, "15", normAvgs.FifteenMinute)
})
}

func ReportSystemCPUUsage(_ monitoring.Mode, V monitoring.Visitor) {
Expand Down
2 changes: 1 addition & 1 deletion report/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ func setupPlatformSpecificMetrics(logger *logp.Logger, processStats *process.Sta
if isWindows() {
SetupWindowsHandlesMetrics(logger, systemMetrics)
} else {
monitoring.NewFunc(systemMetrics, "load", ReportSystemLoadAverage, monitoring.Report)
monitoring.NewFunc(systemMetrics, "load", ReportSystemLoadAverage(logger), monitoring.Report)
}

SetupLinuxBSDFDMetrics(logger, processMetrics, processStats)
Expand Down
2 changes: 1 addition & 1 deletion report/setup_other.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ import (
)

func SetupMetrics(logger *logp.Logger, name, version, ephemeralID string, systemMetrics *monitoring.Registry, processMetrics *monitoring.Registry) error {
logp.Warn("Metrics not implemented for this OS.")
logger.Warn("Metrics not implemented for this OS.")
return nil
}
Loading