Documentation ¶
Overview ¶
Package exporterhelper provides helper functions for exporters.
Index ¶
- func NewLogsExporter(_ context.Context, set component.ExporterCreateSettings, cfg config.Exporter, ...) (component.LogsExporter, error)
- func NewMetricsExporter(_ context.Context, set component.ExporterCreateSettings, cfg config.Exporter, ...) (component.MetricsExporter, error)
- func NewThrottleRetry(err error, delay time.Duration) error
- func NewTracesExporter(_ context.Context, set component.ExporterCreateSettings, cfg config.Exporter, ...) (component.TracesExporter, 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 component.ExporterCreateSettings, cfg config.Exporter, pusher consumer.ConsumeLogsFunc, options ...Option, ) (component.LogsExporter, error)
NewLogsExporter creates a component.LogsExporter that records observability metrics and wraps every request with a Span.
func NewMetricsExporter ¶
func NewMetricsExporter( _ context.Context, set component.ExporterCreateSettings, cfg config.Exporter, pusher consumer.ConsumeMetricsFunc, options ...Option, ) (component.MetricsExporter, error)
NewMetricsExporter creates a component.MetricsExporter that records observability metrics and wraps every request with a Span.
func NewThrottleRetry ¶ added in v0.7.0
NewThrottleRetry creates a new throttle retry error.
func NewTracesExporter ¶ added in v0.25.0
func NewTracesExporter( _ context.Context, set component.ExporterCreateSettings, cfg config.Exporter, pusher consumer.ConsumeTracesFunc, options ...Option, ) (component.TracesExporter, error)
NewTracesExporter creates a component.TracesExporter that records observability metrics and wraps every request with a Span.
Types ¶
type Option ¶ added in v0.16.0
type Option func(*baseSettings)
Option apply changes to baseSettings.
func WithCapabilities ¶ added in v0.27.0
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 ¶ added in v0.7.0
func WithQueue(queueSettings QueueSettings) Option
WithQueue overrides the default QueueSettings for an exporter. The default QueueSettings is to disable queueing.
func WithRetry ¶ added in v0.7.0
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 ¶ added in v0.6.0
WithStart overrides the default Start function for an exporter. The default start function does nothing and always returns nil.
func WithTimeout ¶ added in v0.7.0
func WithTimeout(timeoutSettings TimeoutSettings) Option
WithTimeout overrides the default TimeoutSettings for an exporter. The default TimeoutSettings is 5 seconds.
type QueueSettings ¶ added in v0.7.0
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 *config.ComponentID `mapstructure:"storage"` }
QueueSettings defines configuration for queueing batches before sending to the consumerSender.
func NewDefaultQueueSettings ¶ added in v0.46.0
func NewDefaultQueueSettings() QueueSettings
NewDefaultQueueSettings returns the default settings for QueueSettings.
func (*QueueSettings) Validate ¶ added in v0.45.0
func (qCfg *QueueSettings) Validate() error
Validate checks if the QueueSettings configuration is valid
type RetrySettings ¶ added in v0.7.0
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"` // 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 ¶ added in v0.46.0
func NewDefaultRetrySettings() RetrySettings
NewDefaultRetrySettings returns the default settings for RetrySettings.
type TimeoutSettings ¶ added in v0.7.0
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 ¶ added in v0.46.0
func NewDefaultTimeoutSettings() TimeoutSettings
NewDefaultTimeoutSettings returns the default settings for TimeoutSettings.