in components/otelopscol/receiver/dcgmreceiver/internal/metadata/generated_metrics.go [1110:1158]
func NewMetricsBuilder(mbc MetricsBuilderConfig, settings receiver.Settings, options ...MetricBuilderOption) *MetricsBuilder {
mb := &MetricsBuilder{
config: mbc,
startTime: pcommon.NewTimestampFromTime(time.Now()),
metricsBuffer: pmetric.NewMetrics(),
buildInfo: settings.BuildInfo,
metricGpuDcgmClockFrequency: newMetricGpuDcgmClockFrequency(mbc.Metrics.GpuDcgmClockFrequency),
metricGpuDcgmClockThrottleDurationTime: newMetricGpuDcgmClockThrottleDurationTime(mbc.Metrics.GpuDcgmClockThrottleDurationTime),
metricGpuDcgmCodecDecoderUtilization: newMetricGpuDcgmCodecDecoderUtilization(mbc.Metrics.GpuDcgmCodecDecoderUtilization),
metricGpuDcgmCodecEncoderUtilization: newMetricGpuDcgmCodecEncoderUtilization(mbc.Metrics.GpuDcgmCodecEncoderUtilization),
metricGpuDcgmEccErrors: newMetricGpuDcgmEccErrors(mbc.Metrics.GpuDcgmEccErrors),
metricGpuDcgmEnergyConsumption: newMetricGpuDcgmEnergyConsumption(mbc.Metrics.GpuDcgmEnergyConsumption),
metricGpuDcgmMemoryBandwidthUtilization: newMetricGpuDcgmMemoryBandwidthUtilization(mbc.Metrics.GpuDcgmMemoryBandwidthUtilization),
metricGpuDcgmMemoryBytesUsed: newMetricGpuDcgmMemoryBytesUsed(mbc.Metrics.GpuDcgmMemoryBytesUsed),
metricGpuDcgmNvlinkIo: newMetricGpuDcgmNvlinkIo(mbc.Metrics.GpuDcgmNvlinkIo),
metricGpuDcgmPcieIo: newMetricGpuDcgmPcieIo(mbc.Metrics.GpuDcgmPcieIo),
metricGpuDcgmPipeUtilization: newMetricGpuDcgmPipeUtilization(mbc.Metrics.GpuDcgmPipeUtilization),
metricGpuDcgmSmOccupancy: newMetricGpuDcgmSmOccupancy(mbc.Metrics.GpuDcgmSmOccupancy),
metricGpuDcgmSmUtilization: newMetricGpuDcgmSmUtilization(mbc.Metrics.GpuDcgmSmUtilization),
metricGpuDcgmTemperature: newMetricGpuDcgmTemperature(mbc.Metrics.GpuDcgmTemperature),
metricGpuDcgmUtilization: newMetricGpuDcgmUtilization(mbc.Metrics.GpuDcgmUtilization),
metricGpuDcgmXidErrors: newMetricGpuDcgmXidErrors(mbc.Metrics.GpuDcgmXidErrors),
resourceAttributeIncludeFilter: make(map[string]filter.Filter),
resourceAttributeExcludeFilter: make(map[string]filter.Filter),
}
if mbc.ResourceAttributes.GpuModel.MetricsInclude != nil {
mb.resourceAttributeIncludeFilter["gpu.model"] = filter.CreateFilter(mbc.ResourceAttributes.GpuModel.MetricsInclude)
}
if mbc.ResourceAttributes.GpuModel.MetricsExclude != nil {
mb.resourceAttributeExcludeFilter["gpu.model"] = filter.CreateFilter(mbc.ResourceAttributes.GpuModel.MetricsExclude)
}
if mbc.ResourceAttributes.GpuNumber.MetricsInclude != nil {
mb.resourceAttributeIncludeFilter["gpu.number"] = filter.CreateFilter(mbc.ResourceAttributes.GpuNumber.MetricsInclude)
}
if mbc.ResourceAttributes.GpuNumber.MetricsExclude != nil {
mb.resourceAttributeExcludeFilter["gpu.number"] = filter.CreateFilter(mbc.ResourceAttributes.GpuNumber.MetricsExclude)
}
if mbc.ResourceAttributes.GpuUUID.MetricsInclude != nil {
mb.resourceAttributeIncludeFilter["gpu.uuid"] = filter.CreateFilter(mbc.ResourceAttributes.GpuUUID.MetricsInclude)
}
if mbc.ResourceAttributes.GpuUUID.MetricsExclude != nil {
mb.resourceAttributeExcludeFilter["gpu.uuid"] = filter.CreateFilter(mbc.ResourceAttributes.GpuUUID.MetricsExclude)
}
for _, op := range options {
op.apply(mb)
}
return mb
}