in remappers/hostmetrics/load.go [29:82]
func remapLoadMetrics(
src, out pmetric.MetricSlice,
_ pcommon.Resource,
mutator func(pmetric.NumberDataPoint),
) error {
var timestamp pcommon.Timestamp
var l1, l5, l15 float64
for i := 0; i < src.Len(); i++ {
metric := src.At(i)
if metric.Name() == "system.cpu.load_average.1m" {
dp := metric.Gauge().DataPoints().At(0)
if timestamp == 0 {
timestamp = dp.Timestamp()
}
l1 = dp.DoubleValue()
} else if metric.Name() == "system.cpu.load_average.5m" {
dp := metric.Gauge().DataPoints().At(0)
if timestamp == 0 {
timestamp = dp.Timestamp()
}
l5 = dp.DoubleValue()
} else if metric.Name() == "system.cpu.load_average.15m" {
dp := metric.Gauge().DataPoints().At(0)
if timestamp == 0 {
timestamp = dp.Timestamp()
}
l15 = dp.DoubleValue()
}
}
remappedmetric.Add(out, mutator,
remappedmetric.Metric{
DataType: pmetric.MetricTypeGauge,
Name: "system.load.1",
Timestamp: timestamp,
DoubleValue: &l1,
},
remappedmetric.Metric{
DataType: pmetric.MetricTypeGauge,
Name: "system.load.5",
Timestamp: timestamp,
DoubleValue: &l5,
},
remappedmetric.Metric{
DataType: pmetric.MetricTypeGauge,
Name: "system.load.15",
Timestamp: timestamp,
DoubleValue: &l15,
},
)
return nil
}