in opentelemetry_collector/receiver/dockerstats/scraper.go [272:296]
func (s *scraper) containerInfoToMetrics(info containerInfo, labelValues []*mpb.LabelValue) []*mpb.Metric {
metrics := []*mpb.Metric{
{
MetricDescriptor: uptimeDesc,
Timeseries: []*mpb.TimeSeries{
metricgenerator.MakeInt64TimeSeries(int64(info.uptime.Seconds()), s.startTime, s.now(), labelValues),
},
},
{
MetricDescriptor: restartCountDesc,
Timeseries: []*mpb.TimeSeries{
metricgenerator.MakeInt64TimeSeries(info.restartCount, s.startTime, s.now(), labelValues),
},
},
}
if info.cpuLimit > 0 { // only generate if the container has a CPU limit.
metrics = append(metrics, &mpb.Metric{
MetricDescriptor: cpuLimitDesc,
Timeseries: []*mpb.TimeSeries{
metricgenerator.MakeDoubleTimeSeries(time.Duration(info.cpuLimit).Seconds(), s.startTime, s.now(), labelValues),
},
})
}
return metrics
}