func remapNetworkMetrics()

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
}