Documentation ¶
Overview ¶
Package memorylimiter provides a processor for OpenTelemetry Service pipeline that drops data on the pipeline according to the current state of memory usage.
Index ¶
- Variables
- func New(name string, traceConsumer consumer.TraceConsumer, ...) (processor.DualTypeProcessor, error)
- type Config
- type Factory
- func (f *Factory) CreateDefaultConfig() configmodels.Processor
- func (f *Factory) CreateMetricsProcessor(logger *zap.Logger, nextConsumer consumer.MetricsConsumer, ...) (processor.MetricsProcessor, error)
- func (f *Factory) CreateTraceProcessor(logger *zap.Logger, nextConsumer consumer.TraceConsumer, ...) (processor.TraceProcessor, error)
- func (f *Factory) Type() string
Constants ¶
This section is empty.
Variables ¶
View Source
var (
TagExporterNameKey, _ = tag.NewKey("exporter")
StatDroppedSpanCount = stats.Int64(
"spans_dropped",
"counts the number of spans dropped",
stats.UnitDimensionless)
StatDroppedMetricCount = stats.Int64(
"metrics_dropped",
"counts the number of metrics dropped",
stats.UnitDimensionless)
)
Keys and stats for telemetry.
Functions ¶
func New ¶
func New( name string, traceConsumer consumer.TraceConsumer, metricsConsumer consumer.MetricsConsumer, checkInterval time.Duration, memAllocLimit uint64, memSpikeLimit uint64, ballastSize uint64, logger *zap.Logger, ) (processor.DualTypeProcessor, error)
New returns a new memorylimiter processor.
Types ¶
type Config ¶
type Config struct { configmodels.ProcessorSettings `mapstructure:",squash"` // CheckInterval is the time between measurements of memory usage for the // purposes of avoiding going over the limits. Defaults to zero, so no // checks will be performed. CheckInterval time.Duration `mapstructure:"check_interval"` // MemoryLimitMiB is the maximum amount of memory, in MiB, targeted to be // allocated by the process. MemoryLimitMiB uint32 `mapstructure:"limit_mib"` // MemorySpikeLimitMiB is the maximum, in MiB, spike expected between the // measurements of memory usage. MemorySpikeLimitMiB uint32 `mapstructure:"spike_limit_mib"` // BallastSizeMiB is the size, in MiB, of the ballast size being used by the // process. BallastSizeMiB uint32 `mapstructure:"ballast_size_mib"` }
Config defines configuration for memory memoryLimiter processor.
type Factory ¶
type Factory struct { }
Factory is the factory for Attribute Key processor.
func (*Factory) CreateDefaultConfig ¶
func (f *Factory) CreateDefaultConfig() configmodels.Processor
CreateDefaultConfig creates the default configuration for processor. Notice that the default configuration is expected to fail for this processor.
func (*Factory) CreateMetricsProcessor ¶
func (f *Factory) CreateMetricsProcessor( logger *zap.Logger, nextConsumer consumer.MetricsConsumer, cfg configmodels.Processor, ) (processor.MetricsProcessor, error)
CreateMetricsProcessor creates a metrics processor based on this config.
func (*Factory) CreateTraceProcessor ¶
func (f *Factory) CreateTraceProcessor( logger *zap.Logger, nextConsumer consumer.TraceConsumer, cfg configmodels.Processor, ) (processor.TraceProcessor, error)
CreateTraceProcessor creates a trace processor based on this config.
Click to show internal directories.
Click to hide internal directories.