components/otelopscol/receiver/dcgmreceiver/internal/metadata/generated_config.go (135 lines of code) (raw):

// Code generated by mdatagen. DO NOT EDIT. package metadata import ( "go.opentelemetry.io/collector/confmap" "go.opentelemetry.io/collector/filter" ) // MetricConfig provides common config for a particular metric. type MetricConfig struct { Enabled bool `mapstructure:"enabled"` enabledSetByUser bool } func (ms *MetricConfig) Unmarshal(parser *confmap.Conf) error { if parser == nil { return nil } err := parser.Unmarshal(ms) if err != nil { return err } ms.enabledSetByUser = parser.IsSet("enabled") return nil } // MetricsConfig provides config for dcgm metrics. type MetricsConfig struct { GpuDcgmClockFrequency MetricConfig `mapstructure:"gpu.dcgm.clock.frequency"` GpuDcgmClockThrottleDurationTime MetricConfig `mapstructure:"gpu.dcgm.clock.throttle_duration.time"` GpuDcgmCodecDecoderUtilization MetricConfig `mapstructure:"gpu.dcgm.codec.decoder.utilization"` GpuDcgmCodecEncoderUtilization MetricConfig `mapstructure:"gpu.dcgm.codec.encoder.utilization"` GpuDcgmEccErrors MetricConfig `mapstructure:"gpu.dcgm.ecc_errors"` GpuDcgmEnergyConsumption MetricConfig `mapstructure:"gpu.dcgm.energy_consumption"` GpuDcgmMemoryBandwidthUtilization MetricConfig `mapstructure:"gpu.dcgm.memory.bandwidth_utilization"` GpuDcgmMemoryBytesUsed MetricConfig `mapstructure:"gpu.dcgm.memory.bytes_used"` GpuDcgmNvlinkIo MetricConfig `mapstructure:"gpu.dcgm.nvlink.io"` GpuDcgmPcieIo MetricConfig `mapstructure:"gpu.dcgm.pcie.io"` GpuDcgmPipeUtilization MetricConfig `mapstructure:"gpu.dcgm.pipe.utilization"` GpuDcgmSmOccupancy MetricConfig `mapstructure:"gpu.dcgm.sm.occupancy"` GpuDcgmSmUtilization MetricConfig `mapstructure:"gpu.dcgm.sm.utilization"` GpuDcgmTemperature MetricConfig `mapstructure:"gpu.dcgm.temperature"` GpuDcgmUtilization MetricConfig `mapstructure:"gpu.dcgm.utilization"` GpuDcgmXidErrors MetricConfig `mapstructure:"gpu.dcgm.xid_errors"` } func DefaultMetricsConfig() MetricsConfig { return MetricsConfig{ GpuDcgmClockFrequency: MetricConfig{ Enabled: true, }, GpuDcgmClockThrottleDurationTime: MetricConfig{ Enabled: true, }, GpuDcgmCodecDecoderUtilization: MetricConfig{ Enabled: true, }, GpuDcgmCodecEncoderUtilization: MetricConfig{ Enabled: true, }, GpuDcgmEccErrors: MetricConfig{ Enabled: true, }, GpuDcgmEnergyConsumption: MetricConfig{ Enabled: true, }, GpuDcgmMemoryBandwidthUtilization: MetricConfig{ Enabled: true, }, GpuDcgmMemoryBytesUsed: MetricConfig{ Enabled: true, }, GpuDcgmNvlinkIo: MetricConfig{ Enabled: true, }, GpuDcgmPcieIo: MetricConfig{ Enabled: true, }, GpuDcgmPipeUtilization: MetricConfig{ Enabled: true, }, GpuDcgmSmOccupancy: MetricConfig{ Enabled: false, }, GpuDcgmSmUtilization: MetricConfig{ Enabled: true, }, GpuDcgmTemperature: MetricConfig{ Enabled: true, }, GpuDcgmUtilization: MetricConfig{ Enabled: true, }, GpuDcgmXidErrors: MetricConfig{ Enabled: false, }, } } // ResourceAttributeConfig provides common config for a particular resource attribute. type ResourceAttributeConfig struct { Enabled bool `mapstructure:"enabled"` // Experimental: MetricsInclude defines a list of filters for attribute values. // If the list is not empty, only metrics with matching resource attribute values will be emitted. MetricsInclude []filter.Config `mapstructure:"metrics_include"` // Experimental: MetricsExclude defines a list of filters for attribute values. // If the list is not empty, metrics with matching resource attribute values will not be emitted. // MetricsInclude has higher priority than MetricsExclude. MetricsExclude []filter.Config `mapstructure:"metrics_exclude"` enabledSetByUser bool } func (rac *ResourceAttributeConfig) Unmarshal(parser *confmap.Conf) error { if parser == nil { return nil } err := parser.Unmarshal(rac) if err != nil { return err } rac.enabledSetByUser = parser.IsSet("enabled") return nil } // ResourceAttributesConfig provides config for dcgm resource attributes. type ResourceAttributesConfig struct { GpuModel ResourceAttributeConfig `mapstructure:"gpu.model"` GpuNumber ResourceAttributeConfig `mapstructure:"gpu.number"` GpuUUID ResourceAttributeConfig `mapstructure:"gpu.uuid"` } func DefaultResourceAttributesConfig() ResourceAttributesConfig { return ResourceAttributesConfig{ GpuModel: ResourceAttributeConfig{ Enabled: true, }, GpuNumber: ResourceAttributeConfig{ Enabled: true, }, GpuUUID: ResourceAttributeConfig{ Enabled: true, }, } } // MetricsBuilderConfig is a configuration for dcgm metrics builder. type MetricsBuilderConfig struct { Metrics MetricsConfig `mapstructure:"metrics"` ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"` } func DefaultMetricsBuilderConfig() MetricsBuilderConfig { return MetricsBuilderConfig{ Metrics: DefaultMetricsConfig(), ResourceAttributes: DefaultResourceAttributesConfig(), } }