in remappers/hostmetrics/network.go [28:62]
func remapNetworkMetrics(
src, out pmetric.MetricSlice,
_ pcommon.Resource,
mutator func(pmetric.NumberDataPoint),
) error {
for i := 0; i < src.Len(); i++ {
metric := src.At(i)
dataPoints := metric.Sum().DataPoints()
for j := 0; j < dataPoints.Len(); j++ {
dp := dataPoints.At(j)
device, ok := dp.Attributes().Get("device")
if !ok {
continue
}
name := metric.Name()
timestamp := dp.Timestamp()
value := dp.IntValue()
direction, ok := dp.Attributes().Get("direction")
if !ok {
continue
}
switch direction.Str() {
case "receive":
addDeviceMetric(out, timestamp, mutator, name, device.Str(), "in", value)
case "transmit":
addDeviceMetric(out, timestamp, mutator, name, device.Str(), "out", value)
}
}
}
return nil
}