Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateDefaultConfig ¶ added in v0.6.0
Types ¶
type Config ¶
type Config struct { // Directory is the data directory used by the database to store files. // If the directory is empty in-memory storage is used. Directory string `mapstructure:"directory"` // PassThrough is a configuration that determines whether summary // metrics should be passed through as they are or aggregated. This // is because they lead to lossy aggregations. PassThrough PassThrough `mapstructure:"pass_through"` // Intervals is a list of interval configuration that the processor // will aggregate over. The interval duration must be in increasing // order and must be a factor of the smallest interval duration. // TODO (lahsivjar): Make specifying interval easier. We can just // optimize the timer to run on differnt times and remove any // restriction on different interval configuration. Intervals []IntervalConfig `mapstructure:"intervals"` // MetadataKeys is a list of client.Metadata keys that will be // propagated through the metrics aggregated by the processor. // // Only the listed metadata keys will be propagated to the // resulting metrics. // // Entries are case-insensitive. Duplicated entries will // trigger a validation error. MetadataKeys []string `mapstructure:"metadata_keys"` ResourceLimit LimitConfig `mapstructure:"resource_limit"` ScopeLimit LimitConfig `mapstructure:"scope_limit"` MetricLimit LimitConfig `mapstructure:"metric_limit"` DatapointLimit LimitConfig `mapstructure:"datapoint_limit"` // ExponentialHistogramMaxBuckets sets the maximum number of buckets // to use for resulting exponential histograms from merge operations. // This allows to bound the maximum number of buckets used by the // exponential histograms which could be huge if histograms with // precisions ranging in, say, minutes and milliseconds are merged // together. Defaults to 160. ExponentialHistogramMaxBuckets int `mapstructure:"exponential_histogram_max_buckets"` }
type IntervalConfig ¶
type IntervalConfig struct { Duration time.Duration `mapstructure:"duration"` // Statements are a list of OTTL statements to be executed on the // metrics produced for a given interval. The list of available // OTTL paths for datapoints can be checked at: // https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottldatapoint#section-readme // The list of available OTTL editors can be checked at: // https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs#section-readme Statements []string `mapstructure:"statements"` }
IntervalConfig defines the configuration for the intervals that the component will aggregate over. OTTL statements are also defined to be applied to the metric harvested for each interval after they are mature for the interval duration.
type LimitConfig ¶
type LimitConfig struct { MaxCardinality int64 `mapstructure:"max_cardinality"` Overflow OverflowConfig `mapstructure:"overflow"` }
LimitConfig defines the limits applied over the aggregated metrics. After the max cardinality is breached the overflow behaviour kicks in.
type OverflowConfig ¶
type OverflowConfig struct { // Attributes are added to the overflow bucket for the respective // limit. For example, attributes defined for an overflow config // representing a scope will be added to the overflow scope attributes. Attributes []Attribute `mapstructure:"attributes"` }
OverflowConfig defines the configuration for tweaking the events produced after overflow kicks in.
type PassThrough ¶
type PassThrough struct { // Summary is a flag that determines whether summary metrics should // be passed through as they are or aggregated. Since summaries don't // have an associated temporality, we assume that summaries are // always cumulative. Summary bool `mapstructure:"summary"` }
PassThrough determines whether metrics should be passed through as they are or aggregated.
Click to show internal directories.
Click to hide internal directories.