components/otelopscol/receiver/nvmlreceiver/internal/metadata/generated_config.go (49 lines of code) (raw):
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/collector/confmap"
)
// 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 nvml metrics.
type MetricsConfig struct {
NvmlGpuMemoryBytesUsed MetricConfig `mapstructure:"nvml.gpu.memory.bytes_used"`
NvmlGpuProcessesMaxBytesUsed MetricConfig `mapstructure:"nvml.gpu.processes.max_bytes_used"`
NvmlGpuProcessesUtilization MetricConfig `mapstructure:"nvml.gpu.processes.utilization"`
NvmlGpuUtilization MetricConfig `mapstructure:"nvml.gpu.utilization"`
}
func DefaultMetricsConfig() MetricsConfig {
return MetricsConfig{
NvmlGpuMemoryBytesUsed: MetricConfig{
Enabled: true,
},
NvmlGpuProcessesMaxBytesUsed: MetricConfig{
Enabled: true,
},
NvmlGpuProcessesUtilization: MetricConfig{
Enabled: true,
},
NvmlGpuUtilization: MetricConfig{
Enabled: true,
},
}
}
// MetricsBuilderConfig is a configuration for nvml metrics builder.
type MetricsBuilderConfig struct {
Metrics MetricsConfig `mapstructure:"metrics"`
}
func DefaultMetricsBuilderConfig() MetricsBuilderConfig {
return MetricsBuilderConfig{
Metrics: DefaultMetricsConfig(),
}
}