client

package module
v0.73.2 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2025 License: Apache-2.0 Imports: 4 Imported by: 10

Documentation

Overview

Package client provides log destination client functionality

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Destination

type Destination interface {
	// Whether or not destination is used for Multi-Region Failover mode
	IsMRF() bool

	// Destination target (e.g. https://agent-intake.logs.datadoghq.com)
	Target() string

	// Metadata returns the metadata of the destination
	Metadata() *DestinationMetadata

	// Start starts the destination send loop. close the intput to stop listening for payloads. stopChan is
	// signaled when the destination has fully shutdown and all buffered payloads have been flushed. isRetrying is
	// signaled when the retry state changes. isRetrying can be nil if you don't need to handle retries.
	Start(input chan *message.Payload, output chan *message.Payload, isRetrying chan bool) (stopChan <-chan struct{})
}

Destination sends a payload to a specific endpoint over a given network protocol.

type DestinationMetadata added in v0.61.0

type DestinationMetadata struct {
	ReportingEnabled bool
	// contains filtered or unexported fields
}

DestinationMetadata contains metadata about a destination

func NewDestinationMetadata added in v0.61.0

func NewDestinationMetadata(componentName, instanceID, kind, endpointID, evpCategory string) *DestinationMetadata

NewDestinationMetadata returns a new DestinationMetadata

func NewNoopDestinationMetadata added in v0.61.0

func NewNoopDestinationMetadata() *DestinationMetadata

NewNoopDestinationMetadata returns a new DestinationMetadata with reporting disabled

func (*DestinationMetadata) EvpCategory added in v0.71.0

func (d *DestinationMetadata) EvpCategory() string

EvpCategory returns the EvP category for the destination

func (*DestinationMetadata) MonitorTag added in v0.61.0

func (d *DestinationMetadata) MonitorTag() string

MonitorTag returns the monitor tag for the destination

func (*DestinationMetadata) TelemetryName added in v0.61.0

func (d *DestinationMetadata) TelemetryName() string

TelemetryName returns the telemetry name for the destination

type Destinations

type Destinations struct {
	Reliable   []Destination
	Unreliable []Destination
}

Destinations encapsulates a set of log destinations, distinguishing reliable vs unreliable destinations

func NewDestinations

func NewDestinations(reliable []Destination, unreliable []Destination) *Destinations

NewDestinations returns a new destinations composite.

type DestinationsContext

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

A DestinationsContext manages senders and allows us to "unclog" the pipeline when trying to stop it and failing to send messages.

func NewDestinationsContext

func NewDestinationsContext() *DestinationsContext

NewDestinationsContext returns an initialized DestinationsContext

func (*DestinationsContext) Context

func (dc *DestinationsContext) Context() context.Context

Context allows one to access the current context of this DestinationsContext.

func (*DestinationsContext) Start

func (dc *DestinationsContext) Start()

Start creates a context that will be cancelled on Stop()

func (*DestinationsContext) Stop

func (dc *DestinationsContext) Stop()

Stop cancels the context that should be used by all senders.

type RetryableError

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

RetryableError represents an error that can occur when sending a payload.

func NewRetryableError

func NewRetryableError(err error) *RetryableError

NewRetryableError returns a new destination error.

func (*RetryableError) Error

func (e *RetryableError) Error() string

RetryableError returns the message of the error.

Directories

Path Synopsis
Package http provides an HTTP destination for logs.
Package http provides an HTTP destination for logs.
Package mock provides mock utilities for testing log clients
Package mock provides mock utilities for testing log clients
Package tcp provides TCP connection management for log clients
Package tcp provides TCP connection management for log clients

Jump to

Keyboard shortcuts

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