deltatocumulativeprocessor

package module
v0.99.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

README

Delta to cumulative processor

Status
Stability development: metrics
Distributions []
Warnings Statefulness
Issues Open issues Closed issues
Code Owners @sh0rez, @RichieSams

Description

The delta to cumulative processor (deltatocumulativeprocessor) converts metrics from delta temporality to cumulative, by accumulating samples in memory.

Configuration

processors:
    deltatocumulative:
        # how long until a series not receiving new samples is removed
        [ max_stale: <duration> | default = 5m ]
 
        # upper limit of streams to track. new streams exceeding this limit
        # will be dropped
        [ max_streams: <int> | default = 0 (off) ]

There is no further configuration required. All delta samples are converted to cumulative.

Troubleshooting

The following metrics are recorded when telemetry is enabled:

Name Description Unit
deltatocumulative.streams.tracked Number of streams currently tracked by the aggregation state {stream}
deltatocumulative.streams.limit Upper limit of tracked streams {stream}
deltatocumulative.streams.evicted Number of streams removed from tracking to ingest newer streams {stream}
deltatocumulative.streams.max_stale Duration without new samples after which streams are dropped second
deltatocumulative.datapoints.processed Total number of datapoints processed, whether successful or not {datapoint}
deltatocumulative.datapoints.dropped Faulty datapoints that were dropped due to the reason given in the reason attribute {datapoint}
deltatocumulative.gaps.length Total length of all gaps in the streams, which occur e.g. due to lost in transit second

Documentation

Overview

package deltatocumulativeprocessor implements a processor which converts metrics from delta temporality to cumulative.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() processor.Factory

Types

type Config

type Config struct {
	MaxStale   time.Duration `mapstructure:"max_stale"`
	MaxStreams int           `mapstructure:"max_streams"`
}

func (*Config) Validate

func (c *Config) Validate() error

type Processor

type Processor struct {
	// contains filtered or unexported fields
}

func (*Processor) Capabilities

func (p *Processor) Capabilities() consumer.Capabilities

func (*Processor) ConsumeMetrics

func (p *Processor) ConsumeMetrics(ctx context.Context, md pmetric.Metrics) error

func (*Processor) Shutdown

func (p *Processor) Shutdown(_ context.Context) error

func (*Processor) Start

func (p *Processor) Start(_ context.Context, _ component.Host) error

Directories

Path Synopsis
internal
maybe
maybe provides utilities for representing data may or may not exist at runtime in a safe way.
maybe provides utilities for representing data may or may not exist at runtime in a safe way.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL