exporter/prometheusexporter/config.go (22 lines of code) (raw):

// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 package prometheusexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" import ( "time" "github.com/prometheus/client_golang/prometheus" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry" ) // Config defines configuration for Prometheus exporter. type Config struct { confighttp.ServerConfig `mapstructure:",squash"` // Namespace if set, exports metrics under the provided value. Namespace string `mapstructure:"namespace"` // ConstLabels are values that are applied for every exported metric. ConstLabels prometheus.Labels `mapstructure:"const_labels"` // SendTimestamps will send the underlying scrape timestamp with the export SendTimestamps bool `mapstructure:"send_timestamps"` // MetricExpiration defines how long metrics are kept without updates MetricExpiration time.Duration `mapstructure:"metric_expiration"` // ResourceToTelemetrySettings defines configuration for converting resource attributes to metric labels. ResourceToTelemetrySettings resourcetotelemetry.Settings `mapstructure:"resource_to_telemetry_conversion"` // EnableOpenMetrics enables the use of the OpenMetrics encoding option for the prometheus exporter. EnableOpenMetrics bool `mapstructure:"enable_open_metrics"` // AddMetricSuffixes controls whether suffixes are added to metric names. Defaults to true. AddMetricSuffixes bool `mapstructure:"add_metric_suffixes"` } var _ component.Config = (*Config)(nil) // Validate checks if the exporter configuration is valid func (cfg *Config) Validate() error { return nil }