receiver/awsebsnvmereceiver/internal/metadata/generated_config.go (107 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 awsebsnvmereceiver metrics.
type MetricsConfig struct {
DiskioEbsEc2InstancePerformanceExceededIops MetricConfig `mapstructure:"diskio_ebs_ec2_instance_performance_exceeded_iops"`
DiskioEbsEc2InstancePerformanceExceededTp MetricConfig `mapstructure:"diskio_ebs_ec2_instance_performance_exceeded_tp"`
DiskioEbsTotalReadBytes MetricConfig `mapstructure:"diskio_ebs_total_read_bytes"`
DiskioEbsTotalReadOps MetricConfig `mapstructure:"diskio_ebs_total_read_ops"`
DiskioEbsTotalReadTime MetricConfig `mapstructure:"diskio_ebs_total_read_time"`
DiskioEbsTotalWriteBytes MetricConfig `mapstructure:"diskio_ebs_total_write_bytes"`
DiskioEbsTotalWriteOps MetricConfig `mapstructure:"diskio_ebs_total_write_ops"`
DiskioEbsTotalWriteTime MetricConfig `mapstructure:"diskio_ebs_total_write_time"`
DiskioEbsVolumePerformanceExceededIops MetricConfig `mapstructure:"diskio_ebs_volume_performance_exceeded_iops"`
DiskioEbsVolumePerformanceExceededTp MetricConfig `mapstructure:"diskio_ebs_volume_performance_exceeded_tp"`
DiskioEbsVolumeQueueLength MetricConfig `mapstructure:"diskio_ebs_volume_queue_length"`
}
func DefaultMetricsConfig() MetricsConfig {
return MetricsConfig{
DiskioEbsEc2InstancePerformanceExceededIops: MetricConfig{
Enabled: false,
},
DiskioEbsEc2InstancePerformanceExceededTp: MetricConfig{
Enabled: false,
},
DiskioEbsTotalReadBytes: MetricConfig{
Enabled: false,
},
DiskioEbsTotalReadOps: MetricConfig{
Enabled: true,
},
DiskioEbsTotalReadTime: MetricConfig{
Enabled: false,
},
DiskioEbsTotalWriteBytes: MetricConfig{
Enabled: false,
},
DiskioEbsTotalWriteOps: MetricConfig{
Enabled: false,
},
DiskioEbsTotalWriteTime: MetricConfig{
Enabled: false,
},
DiskioEbsVolumePerformanceExceededIops: MetricConfig{
Enabled: false,
},
DiskioEbsVolumePerformanceExceededTp: MetricConfig{
Enabled: false,
},
DiskioEbsVolumeQueueLength: 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 awsebsnvmereceiver resource attributes.
type ResourceAttributesConfig struct {
VolumeID ResourceAttributeConfig `mapstructure:"VolumeId"`
}
func DefaultResourceAttributesConfig() ResourceAttributesConfig {
return ResourceAttributesConfig{
VolumeID: ResourceAttributeConfig{
Enabled: true,
},
}
}
// MetricsBuilderConfig is a configuration for awsebsnvmereceiver metrics builder.
type MetricsBuilderConfig struct {
Metrics MetricsConfig `mapstructure:"metrics"`
ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"`
}
func DefaultMetricsBuilderConfig() MetricsBuilderConfig {
return MetricsBuilderConfig{
Metrics: DefaultMetricsConfig(),
ResourceAttributes: DefaultResourceAttributesConfig(),
}
}