components/otelopscol/receiver/varnishreceiver/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 varnish metrics. type MetricsConfig struct { VarnishBackendConnectionCount MetricConfig `mapstructure:"varnish.backend.connection.count"` VarnishBackendRequestCount MetricConfig `mapstructure:"varnish.backend.request.count"` VarnishCacheOperationCount MetricConfig `mapstructure:"varnish.cache.operation.count"` VarnishClientRequestCount MetricConfig `mapstructure:"varnish.client.request.count"` VarnishClientRequestErrorCount MetricConfig `mapstructure:"varnish.client.request.error.count"` VarnishObjectCount MetricConfig `mapstructure:"varnish.object.count"` VarnishObjectExpired MetricConfig `mapstructure:"varnish.object.expired"` VarnishObjectMoved MetricConfig `mapstructure:"varnish.object.moved"` VarnishObjectNuked MetricConfig `mapstructure:"varnish.object.nuked"` VarnishSessionCount MetricConfig `mapstructure:"varnish.session.count"` VarnishThreadOperationCount MetricConfig `mapstructure:"varnish.thread.operation.count"` } func DefaultMetricsConfig() MetricsConfig { return MetricsConfig{ VarnishBackendConnectionCount: MetricConfig{ Enabled: true, }, VarnishBackendRequestCount: MetricConfig{ Enabled: true, }, VarnishCacheOperationCount: MetricConfig{ Enabled: true, }, VarnishClientRequestCount: MetricConfig{ Enabled: true, }, VarnishClientRequestErrorCount: MetricConfig{ Enabled: true, }, VarnishObjectCount: MetricConfig{ Enabled: true, }, VarnishObjectExpired: MetricConfig{ Enabled: true, }, VarnishObjectMoved: MetricConfig{ Enabled: true, }, VarnishObjectNuked: MetricConfig{ Enabled: true, }, VarnishSessionCount: MetricConfig{ Enabled: true, }, VarnishThreadOperationCount: 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 varnish resource attributes. type ResourceAttributesConfig struct { VarnishCacheName ResourceAttributeConfig `mapstructure:"varnish.cache.name"` } func DefaultResourceAttributesConfig() ResourceAttributesConfig { return ResourceAttributesConfig{ VarnishCacheName: ResourceAttributeConfig{ Enabled: false, }, } } // MetricsBuilderConfig is a configuration for varnish metrics builder. type MetricsBuilderConfig struct { Metrics MetricsConfig `mapstructure:"metrics"` ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"` } func DefaultMetricsBuilderConfig() MetricsBuilderConfig { return MetricsBuilderConfig{ Metrics: DefaultMetricsConfig(), ResourceAttributes: DefaultResourceAttributesConfig(), } }