Documentation ¶
Overview ¶
Package exporterhelper provides helper functions for exporters.
Index ¶
- func NewLogsExporter(_ context.Context, set exporter.CreateSettings, cfg component.Config, ...) (exporter.Logs, error)
- func NewMetricsExporter(_ context.Context, set exporter.CreateSettings, cfg component.Config, ...) (exporter.Metrics, error)
- func NewThrottleRetry(err error, delay time.Duration) error
- func NewTracesExporter(_ context.Context, set exporter.CreateSettings, cfg component.Config, ...) (exporter.Traces, error)
- type Option
- func WithCapabilities(capabilities consumer.Capabilities) Option
- func WithQueue(queueSettings QueueSettings) Option
- func WithRetry(retrySettings RetrySettings) Option
- func WithShutdown(shutdown component.ShutdownFunc) Option
- func WithStart(start component.StartFunc) Option
- func WithTimeout(timeoutSettings TimeoutSettings) Option
- type QueueSettings
- type RetrySettings
- type TimeoutSettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLogsExporter ¶
func NewLogsExporter( _ context.Context, set exporter.CreateSettings, cfg component.Config, pusher consumer.ConsumeLogsFunc, options ...Option, ) (exporter.Logs, error)
NewLogsExporter creates a exporter.Logs that records observability metrics and wraps every request with a Span.
func NewMetricsExporter ¶
func NewMetricsExporter( _ context.Context, set exporter.CreateSettings, cfg component.Config, pusher consumer.ConsumeMetricsFunc, options ...Option, ) (exporter.Metrics, error)
NewMetricsExporter creates a exporter.Metrics that records observability metrics and wraps every request with a Span.
func NewThrottleRetry ¶
NewThrottleRetry creates a new throttle retry error.
func NewTracesExporter ¶
func NewTracesExporter( _ context.Context, set exporter.CreateSettings, cfg component.Config, pusher consumer.ConsumeTracesFunc, options ...Option, ) (exporter.Traces, error)
NewTracesExporter creates a exporter.Traces that records observability metrics and wraps every request with a Span.
Types ¶
type Option ¶
type Option func(*baseSettings)
Option apply changes to baseSettings.
func WithCapabilities ¶
func WithCapabilities(capabilities consumer.Capabilities) Option
WithCapabilities overrides the default Capabilities() function for a Consumer. The default is non-mutable data. TODO: Verify if we can change the default to be mutable as we do for processors.
func WithQueue ¶
func WithQueue(queueSettings QueueSettings) Option
WithQueue overrides the default QueueSettings for an exporter. The default QueueSettings is to disable queueing.
func WithRetry ¶
func WithRetry(retrySettings RetrySettings) Option
WithRetry overrides the default RetrySettings for an exporter. The default RetrySettings is to disable retries.
func WithShutdown ¶
func WithShutdown(shutdown component.ShutdownFunc) Option
WithShutdown overrides the default Shutdown function for an exporter. The default shutdown function does nothing and always returns nil.
func WithStart ¶
WithStart overrides the default Start function for an exporter. The default start function does nothing and always returns nil.
func WithTimeout ¶
func WithTimeout(timeoutSettings TimeoutSettings) Option
WithTimeout overrides the default TimeoutSettings for an exporter. The default TimeoutSettings is 5 seconds.
type QueueSettings ¶
type QueueSettings struct { // Enabled indicates whether to not enqueue batches before sending to the consumerSender. Enabled bool `mapstructure:"enabled"` // NumConsumers is the number of consumers from the queue. NumConsumers int `mapstructure:"num_consumers"` // QueueSize is the maximum number of batches allowed in queue at a given time. QueueSize int `mapstructure:"queue_size"` // StorageID if not empty, enables the persistent storage and uses the component specified // as a storage extension for the persistent queue StorageID *component.ID `mapstructure:"storage"` }
QueueSettings defines configuration for queueing batches before sending to the consumerSender.
func NewDefaultQueueSettings ¶
func NewDefaultQueueSettings() QueueSettings
NewDefaultQueueSettings returns the default settings for QueueSettings.
func (*QueueSettings) Validate ¶
func (qCfg *QueueSettings) Validate() error
Validate checks if the QueueSettings configuration is valid
type RetrySettings ¶
type RetrySettings struct { // Enabled indicates whether to not retry sending batches in case of export failure. Enabled bool `mapstructure:"enabled"` // InitialInterval the time to wait after the first failure before retrying. InitialInterval time.Duration `mapstructure:"initial_interval"` // RandomizationFactor is a random factor used to calculate next backoffs // Randomized interval = RetryInterval * (1 ± RandomizationFactor) RandomizationFactor float64 `mapstructure:"randomization_factor"` // Multiplier is the value multiplied by the backoff interval bounds Multiplier float64 `mapstructure:"multiplier"` // MaxInterval is the upper bound on backoff interval. Once this value is reached the delay between // consecutive retries will always be `MaxInterval`. MaxInterval time.Duration `mapstructure:"max_interval"` // MaxElapsedTime is the maximum amount of time (including retries) spent trying to send a request/batch. // Once this value is reached, the data is discarded. MaxElapsedTime time.Duration `mapstructure:"max_elapsed_time"` }
RetrySettings defines configuration for retrying batches in case of export failure. The current supported strategy is exponential backoff.
func NewDefaultRetrySettings ¶
func NewDefaultRetrySettings() RetrySettings
NewDefaultRetrySettings returns the default settings for RetrySettings.
type TimeoutSettings ¶
type TimeoutSettings struct { // Timeout is the timeout for every attempt to send data to the backend. Timeout time.Duration `mapstructure:"timeout"` }
TimeoutSettings for timeout. The timeout applies to individual attempts to send data to the backend.
func NewDefaultTimeoutSettings ¶
func NewDefaultTimeoutSettings() TimeoutSettings
NewDefaultTimeoutSettings returns the default settings for TimeoutSettings.