Stats logger (proto)

This extension has the qualified name envoy.access_loggers.stats

Note

This extension is work-in-progress. Functionality is incomplete and it is not intended for production use.

This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.

Tip

This extension extends and can be used with the following extension category:

This extension must be configured with one of the following type URLs:

Configuration for an access logger that emits custom Envoy stats according to its configuration. The stats can have tags and values derived from command operators.

Warning

It is easy to configure and use this extension in ways that create very large numbers of stats in Envoy, which can cause excessive memory or CPU use leading to a denial of service in Envoy, or can overwhelm any configured stat sinks by sending too many unique metrics.

extensions.access_loggers.stats.v3.Config

[extensions.access_loggers.stats.v3.Config proto]

Warning

This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.

{
  "stat_prefix": ...,
  "histograms": [],
  "counters": []
}
stat_prefix

(string, REQUIRED) The stat prefix for the generated stats.

histograms

(repeated extensions.access_loggers.stats.v3.Config.Histogram) The histograms this logger will emit.

counters

(repeated extensions.access_loggers.stats.v3.Config.Counter) The counters this logger will emit.

extensions.access_loggers.stats.v3.Config.Tag

[extensions.access_loggers.stats.v3.Config.Tag proto]

Defines a tag on a stat.

{
  "name": ...,
  "value_format": ...
}
name

(string, REQUIRED) The name of the tag.

value_format

(string, REQUIRED) The value of the tag, using command operators.

extensions.access_loggers.stats.v3.Config.Stat

[extensions.access_loggers.stats.v3.Config.Stat proto]

Defines the name and tags of a stat.

{
  "name": ...,
  "tags": []
}
name

(string, REQUIRED) The name of the stat.

tags

(repeated extensions.access_loggers.stats.v3.Config.Tag) The tags for the stat.

extensions.access_loggers.stats.v3.Config.Histogram

[extensions.access_loggers.stats.v3.Config.Histogram proto]

Configuration for a histogram stat.

{
  "stat": {...},
  "unit": ...,
  "value_format": ...
}
stat

(extensions.access_loggers.stats.v3.Config.Stat, REQUIRED) The name and tags of this histogram.

unit

(extensions.access_loggers.stats.v3.Config.Histogram.Unit) The units for this histogram.

value_format

(string, REQUIRED) The format string for the value of this histogram, using command operators. This must evaluate to a positive number.

Enum extensions.access_loggers.stats.v3.Config.Histogram.Unit

[extensions.access_loggers.stats.v3.Config.Histogram.Unit proto]

The histogram units. The units are needed for some stat sinks.

Unspecified

(DEFAULT)

Bytes

Microseconds

Milliseconds

Percent

⁣Values are scaled to range 0-1.0, indicating 0%-100%. Values can be outside this range, but must be positive. Values extremely far out of this range may overflow.

extensions.access_loggers.stats.v3.Config.Counter

[extensions.access_loggers.stats.v3.Config.Counter proto]

Configuration for a counter stat.

{
  "stat": {...},
  "value_format": ...,
  "value_fixed": {...}
}
stat

(extensions.access_loggers.stats.v3.Config.Stat, REQUIRED) The name and tags of this counter.

value_format

(string) The format string for the value to add to this counter, using command operators. One of value_format or value_fixed must be configured.

value_fixed

(UInt64Value) A fixed value to add to this counter. One of value_format or value_fixed must be configured.