Get desktop application:
View/edit binary Protocol Buffers messages
Common configuration for wire clients.
Used in: , , ,
Address to send to. IP/port for TCP/UDP clients or name for unix domain sockets. Ignored for the null outflow.
Protocol type.
Queue policy for the client.
The maximum numer of bytes per batch. Defaults to 8KiB.
How long to wait for a write to complete before considering the socket to be failed. Defaults to no timeout.
The maximum number of inflight requests. Defaults to 16.
Authentication configuration for Prometheus remote write.
Used in: ,
Bearer token configuration.
AWS auth configuration.
Use AWS authentication.
Used in:
Default configuration.
Use the default credential chain, region provider, and SDK configuration specified by the environment.
Used in:
Optional signing region override. Otherwise, the region will be determined by the default region provider chain.
Configuration for a client that writes to the equivalent of /dev/null.
Used in:
Common wire client configuration.
Used in:
The URI to send to.
The request timeout. Defaults to 10s.
The connection timeout for establishing a new upstream connection. Defaults to 250ms.
The maximum number of inflight requests. Defaults to 16.
Queue policy for the client.
The maximum numer of samples per batch. Defaults to 1000.
What auth to use. If not specified, no auth is used.
Optional additional request headers that are sent with the remote write request.
Retry policy. If not specified default values are used.
Compression to use. Defaults to SNAPPY.
If sending OTLP to a backend that expects Prometheus-style names, convert the metric names to Prometheus format: https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels For tags invalid characters will be replaced with '_'. For names, '.' will be replaced with ':' and other invalid characters will be replaced with '_'.
Used in:
Configuration for an individual outflow.
Used in:
Configuration for a Prometheus remote write outflow/client.
Used in: ,
The URI to send to.
The request timeout. Defaults to 10s.
The connection timeout for establishing a new upstream connection. Defaults to 250ms.
The maximum number of inflight requests. Defaults to 16.
Queue policy for the client.
The maximum number of samples per batch. Defaults to 1000.
The maximum size of each batch in bytes, *after* compression. There is no default for this. This can be used of the TSDB has a strict maximum request size. Since it's impossible to know the size before compression, batch_max_samples should be tuned alongside this. If the limit is hit, the batch will be split in half into 2 requests so this is an expensive operation.
Whether to send metadata (name and tags) only. If true, samples are dropped.
What auth to use. If not specified, no auth is used.
Optional additional request headers that are sent with the remote write request.
Whether to attempt conversion to Prometheus name format: https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels. If false, the name will be passed through even if it is not compliant. Defaults to true.
Retry policy. If not specified default values are used.
Lyft specific configuration. To be generalized later.
Idle time for outbound connections in the connection pool. If not set, defaults to 90s.
Configuration specific to the Lyft's use of M3. This can be generalized later if needed. Will end up setting `M3-Metrics-Type: aggregated` and `M3-Storage-Policy` to the value of each policy below.
Used in:
Catch-all storage policy.
Metrics that have a "host" tag.
Metrics that do not have a "statsd" "source" tag, and are of the form <namespace>:infra:aws.
Defines the policy used for batching and queueing data within clients. In general memory usage is mostly bounded (some of the byte calculations are fuzzy when dealing with proto outputs) by the limits specified within this policy. TODO(mattkleni123): Add a drop policy, including queueing to disk.
Used in: , ,
The maximum number of bytes that can be queued for sending before dropping. Bytes beyond this are dropped. Note that this tracks only data that is queued to send. It does not include any pending batch data. Defaults to 8MiB.
The wait period between batch fills. Batches will be sent by this deadline if not full. Defaults to 50ms.
The number of concurrent pending batches to maintain. In a high throughput environment it is possible for the pending batch to become a point of contention, especially for Prometheus remote write where this is significant computation required to complete a batch (proto encoding and compression). By increasing concurrency it is more likely that CPU can become saturated. Currently this must be set manually and should be tuned depending on the environment. A good setting for a high throughput scenario is likely somewhere between CPU requests and limit. If not set, this default to 1.
By default the queue operates as a LIFO queue to prioritize newer data. If set to true, the queue operates as a FIFO queue. This may be desirable in some scenarios to preserve ordering of data. Defaults to false.
An individual request header sent with the remote write request.
Used in: ,
The name of the header.
The fixed value of the header.
Replaced with the timestamp, defined as the number of seconds since the unix epoch.
Configuration for a client using a TCP socket.
Used in: ,
Common wire client configuration.
Configuration for a client using UDP.
Used in:
Common wire client configuration.
Configuration for a client using a unix domain socket.
Used in:
Common wire client configuration.