Metrics

metric value

yaml value: limited str

Only the following characters are allowed:

a to z, A to Z, 0 to 9, -, _, ., / or Unicode letters (as per the specification)

The character range is the same as OpenTSDB metrics-and-tags.

metric tag name

yaml value: metric value

Set a metric tag name, which should not be empty.

metric tag value

yaml value: metric value

Set a metric tag value, which may be empty according to the context.

static metrics tags

yaml value: map

The key should be metric tag name. The value should be metric tag value.

metric node name

yaml value: metric value

The metrics name

metrics quantile

yaml value: str | float

A quantile value, should be in range 0.0 - 1.0.

It’s string value will be used as the value of quantile tag. You should prefer to use str form if you want the tag value to be the same as you typed in the config file.

histogram metrics

yaml value: map | rotate

Config histogram metrics, such as the quantiles and rotate interval.

The keys are:

quantile

optional, type: seq

Set quantile list.

Should be a sequence of metrics quantile or a string of them delimited by ‘,’.

default: 0.50, 0.80, 0.90, 0.95, 0.99

rotate

optional, type: humanize duration

Set the rotate interval.

default: 4s

Statsd Client Config

The full format of the root value should be a map, with the following keys:

target_unix

optional, type: mix

You can set this if you want to send statsd metrics to a custom unix socket path.

The value can be a map, with the following keys:

  • path

    required, type: absolute path

    The syslogd daemon listen socket path.

If the value type is str, the value should be the same as the value as path above.

default: not set

target_udp

optional, type: mix

You can set this if you want to send statsd metrics to a remote statsd which listening on a udp socket.

The value can be a map, with the following keys:

  • address

    optional, type: env sockaddr str

    Set the remote socket address.

    default: 127.0.0.1:8125

  • bind_ip

    optional, type: ip addr str

    Set the ip address to bind to for the local socket.

    default: not set

If the value type is str, the value should be the same as the value as address above.

target

optional, type: map

This is just another form to set statsd target address.

The key udp is just handled as target_udp as above.

The key unix is just handled as target_unix as above.

prefix

optional, type: metric node name

Set the global prefix for all metrics.

default: “g3keymess”

cache_size

optional, type: humanize usize

Set the batch cache size before sending it to backend.

default: 256KiB

Added in version 0.4.3.

max_segment_size

optional, type: humanize usize

Set the max segment size when sending data to the backend.

default: 1400 for UDP Socket, 4096 for UNIX Datagram Socket

Added in version 0.4.3.

emit_interval

optional, type: humanize duration

Set the emit interval for local stats. All stats will be send out in sequence.

default: 200ms

Added in version 0.4.3.

emit_duration

deprecated

Changed in version 0.4.3: deprecated, use emit_interval instead