components/otelopscol/receiver/mongodbreceiver/internal/metadata/generated_config.go (167 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 mongodb metrics.
type MetricsConfig struct {
MongodbCacheOperations MetricConfig `mapstructure:"mongodb.cache.operations"`
MongodbCollectionCount MetricConfig `mapstructure:"mongodb.collection.count"`
MongodbConnectionCount MetricConfig `mapstructure:"mongodb.connection.count"`
MongodbCursorCount MetricConfig `mapstructure:"mongodb.cursor.count"`
MongodbCursorTimeoutCount MetricConfig `mapstructure:"mongodb.cursor.timeout.count"`
MongodbDataSize MetricConfig `mapstructure:"mongodb.data.size"`
MongodbDatabaseCount MetricConfig `mapstructure:"mongodb.database.count"`
MongodbDocumentOperationCount MetricConfig `mapstructure:"mongodb.document.operation.count"`
MongodbExtentCount MetricConfig `mapstructure:"mongodb.extent.count"`
MongodbGlobalLockTime MetricConfig `mapstructure:"mongodb.global_lock.time"`
MongodbIndexAccessCount MetricConfig `mapstructure:"mongodb.index.access.count"`
MongodbIndexCount MetricConfig `mapstructure:"mongodb.index.count"`
MongodbIndexSize MetricConfig `mapstructure:"mongodb.index.size"`
MongodbLockAcquireCount MetricConfig `mapstructure:"mongodb.lock.acquire.count"`
MongodbLockAcquireTime MetricConfig `mapstructure:"mongodb.lock.acquire.time"`
MongodbLockAcquireWaitCount MetricConfig `mapstructure:"mongodb.lock.acquire.wait_count"`
MongodbLockDeadlockCount MetricConfig `mapstructure:"mongodb.lock.deadlock.count"`
MongodbMemoryUsage MetricConfig `mapstructure:"mongodb.memory.usage"`
MongodbNetworkIoReceive MetricConfig `mapstructure:"mongodb.network.io.receive"`
MongodbNetworkIoTransmit MetricConfig `mapstructure:"mongodb.network.io.transmit"`
MongodbNetworkRequestCount MetricConfig `mapstructure:"mongodb.network.request.count"`
MongodbObjectCount MetricConfig `mapstructure:"mongodb.object.count"`
MongodbOperationCount MetricConfig `mapstructure:"mongodb.operation.count"`
MongodbOperationTime MetricConfig `mapstructure:"mongodb.operation.time"`
MongodbSessionCount MetricConfig `mapstructure:"mongodb.session.count"`
MongodbStorageSize MetricConfig `mapstructure:"mongodb.storage.size"`
}
func DefaultMetricsConfig() MetricsConfig {
return MetricsConfig{
MongodbCacheOperations: MetricConfig{
Enabled: true,
},
MongodbCollectionCount: MetricConfig{
Enabled: true,
},
MongodbConnectionCount: MetricConfig{
Enabled: true,
},
MongodbCursorCount: MetricConfig{
Enabled: true,
},
MongodbCursorTimeoutCount: MetricConfig{
Enabled: true,
},
MongodbDataSize: MetricConfig{
Enabled: true,
},
MongodbDatabaseCount: MetricConfig{
Enabled: true,
},
MongodbDocumentOperationCount: MetricConfig{
Enabled: true,
},
MongodbExtentCount: MetricConfig{
Enabled: true,
},
MongodbGlobalLockTime: MetricConfig{
Enabled: true,
},
MongodbIndexAccessCount: MetricConfig{
Enabled: true,
},
MongodbIndexCount: MetricConfig{
Enabled: true,
},
MongodbIndexSize: MetricConfig{
Enabled: true,
},
MongodbLockAcquireCount: MetricConfig{
Enabled: false,
},
MongodbLockAcquireTime: MetricConfig{
Enabled: false,
},
MongodbLockAcquireWaitCount: MetricConfig{
Enabled: false,
},
MongodbLockDeadlockCount: MetricConfig{
Enabled: false,
},
MongodbMemoryUsage: MetricConfig{
Enabled: true,
},
MongodbNetworkIoReceive: MetricConfig{
Enabled: true,
},
MongodbNetworkIoTransmit: MetricConfig{
Enabled: true,
},
MongodbNetworkRequestCount: MetricConfig{
Enabled: true,
},
MongodbObjectCount: MetricConfig{
Enabled: true,
},
MongodbOperationCount: MetricConfig{
Enabled: true,
},
MongodbOperationTime: MetricConfig{
Enabled: true,
},
MongodbSessionCount: MetricConfig{
Enabled: true,
},
MongodbStorageSize: MetricConfig{
Enabled: true,
},
}
}
// 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 mongodb resource attributes.
type ResourceAttributesConfig struct {
Database ResourceAttributeConfig `mapstructure:"database"`
}
func DefaultResourceAttributesConfig() ResourceAttributesConfig {
return ResourceAttributesConfig{
Database: ResourceAttributeConfig{
Enabled: false,
},
}
}
// MetricsBuilderConfig is a configuration for mongodb metrics builder.
type MetricsBuilderConfig struct {
Metrics MetricsConfig `mapstructure:"metrics"`
ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"`
}
func DefaultMetricsBuilderConfig() MetricsBuilderConfig {
return MetricsBuilderConfig{
Metrics: DefaultMetricsConfig(),
ResourceAttributes: DefaultResourceAttributesConfig(),
}
}