exporter

package
v0.0.0-...-59d42e4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateDebugExporters

func GenerateDebugExporters() map[string]any

func GenerateFluentforwardExporters

func GenerateFluentforwardExporters(ctx context.Context, resourceRelations components.ResourceRelations) map[string]any

func GenerateMetricsExporters

func GenerateMetricsExporters() map[string]any

func GenerateOTLPGRPCExporters

func GenerateOTLPGRPCExporters(ctx context.Context, resourceRelations components.ResourceRelations) map[string]any

func GenerateOTLPHTTPExporters

func GenerateOTLPHTTPExporters(ctx context.Context, resourceRelations components.ResourceRelations) map[string]any

Types

type CORSConfig

type CORSConfig struct {
	// AllowedOrigins sets the allowed values of the Origin header for
	// HTTP/JSON requests to an OTLP receiver. An origin may contain a
	// wildcard (*) to replace 0 or more characters (e.g.,
	// "http://*.domain.com", or "*" to allow any origin).
	AllowedOrigins []string `json:"allowed_origins"`

	// AllowedHeaders sets what headers will be allowed in CORS requests.
	// The Accept, Accept-Language, Content-Type, and Content-Language
	// headers are implicitly allowed. If no headers are listed,
	// X-Requested-With will also be accepted by default. Include "*" to
	// allow any request header.
	AllowedHeaders []string `json:"allowed_headers"`

	// MaxAge sets the value of the Access-Control-Max-Age response header.
	// Set it to the number of seconds that browsers should cache a CORS
	// preflight response for.
	MaxAge int `json:"max_age"`
}

CORSConfig configures a receiver for HTTP cross-origin resource sharing (CORS). See the underlying https://github.com/rs/cors package for details.

type FluentForwardWrapper

type FluentForwardWrapper struct {
	v1alpha1.TCPClientSettings `json:",inline"`

	// RequireAck enables the acknowledgement feature.
	RequireAck *bool `json:"require_ack,omitempty"`

	// The Fluent tag parameter used for routing
	Tag *string `json:"tag,omitempty"`

	// CompressGzip enables gzip compression for the payload.
	CompressGzip *bool `json:"compress_gzip,omitempty"`

	// DefaultLabelsEnabled is a map of default attributes to be added to each log record.
	DefaultLabelsEnabled *map[string]bool `json:"default_labels_enabled,omitempty"`

	QueueConfig *queueWrapper                `json:"sending_queue,omitempty"`
	RetryConfig *backOffWrapper              `json:"retry_on_failure,omitempty"`
	Kubernetes  *v1alpha1.KubernetesMetadata `json:"kubernetes_metadata,omitempty"`
}

type HTTPServerConfig

type HTTPServerConfig struct {
	// Endpoint configures the listening address for the server.
	Endpoint string `json:"endpoint,omitempty"`

	// TLSSetting struct exposes TLS client configuration.
	TLSSetting *TLSServerConfig `json:"tls,omitempty"`

	// CORS configures the server for HTTP cross-origin resource sharing (CORS).
	CORS *CORSConfig `json:"cors,omitempty"`

	// Auth for this receiver
	Auth *configauth.Authentication `json:"auth,omitempty"`

	// MaxRequestBodySize sets the maximum request body size in bytes
	MaxRequestBodySize int64 `json:"max_request_body_size,omitempty"`

	// IncludeMetadata propagates the client metadata from the incoming requests to the downstream consumers
	// Experimental: *NOTE* this option is subject to change or removal in the future.
	IncludeMetadata bool `json:"include_metadata,omitempty"`

	// Additional headers attached to each HTTP response sent to the client.
	// Header values are opaque since they may be sensitive.
	ResponseHeaders map[string]configopaque.String `json:"response_headers,omitempty"`
}

type OTLPGRPCWrapper

type OTLPGRPCWrapper struct {
	QueueConfig               *queueWrapper   `json:"sending_queue,omitempty"`
	RetryConfig               *backOffWrapper `json:"retry_on_failure,omitempty"`
	v1alpha1.TimeoutSettings  `json:",inline"`
	v1alpha1.GRPCClientConfig `json:",inline"`
}

type OTLPHTTPWrapper

type OTLPHTTPWrapper struct {
	QueueConfig               *queueWrapper   `json:"sending_queue,omitempty"`
	RetryConfig               *backOffWrapper `json:"retry_on_failure,omitempty"`
	v1alpha1.HTTPClientConfig `json:",inline"`
}

type PrometheusExporterConfig

type PrometheusExporterConfig struct {
	HTTPServerConfig `json:",inline"`

	// Namespace if set, exports metrics under the provided value.
	Namespace string `json:"namespace,omitempty"`

	// ConstLabels are values that are applied for every exported metric.
	ConstLabels prometheus.Labels `json:"const_labels,omitempty"`

	// SendTimestamps will send the underlying scrape timestamp with the export
	SendTimestamps bool `json:"send_timestamps,omitempty"`

	// MetricExpiration defines how long metrics are kept without updates
	MetricExpiration time.Duration `json:"metric_expiration,omitempty"`

	// ResourceToTelemetrySettings defines configuration for converting resource attributes to metric labels.
	ResourceToTelemetrySettings *ResourceToTelemetrySettings `json:"resource_to_telemetry_conversion,omitempty"`

	// EnableOpenMetrics enables the use of the OpenMetrics encoding option for the prometheus exporter.
	EnableOpenMetrics bool `json:"enable_open_metrics,omitempty"`

	// AddMetricSuffixes controls whether suffixes are added to metric names. Defaults to true.
	AddMetricSuffixes bool `json:"add_metric_suffixes,omitempty"`
}

type ResourceToTelemetrySettings

type ResourceToTelemetrySettings struct {
	// Enabled indicates whether to convert resource attributes to telemetry attributes. Default is `false`.
	Enabled bool `json:"enabled,omitempty"`
}

type TLSServerConfig

type TLSServerConfig struct {
	// squash ensures fields are correctly decoded in embedded struct.
	v1alpha1.TLSSetting `json:",inline"`

	// Path to the TLS cert to use by the server to verify a client certificate. (optional)
	// This sets the ClientCAs and ClientAuth to RequireAndVerifyClientCert in the TLSConfig. Please refer to
	// https://godoc.org/crypto/tls#Config for more information. (optional)
	ClientCAFile string `json:"client_ca_file"`

	// Reload the ClientCAs file when it is modified
	// (optional, default false)
	ReloadClientCAFile bool `json:"client_ca_file_reload"`
}

Jump to

Keyboard shortcuts

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