proxylatency.proto

Package: envoy.config.filter.http.proxylatency.v2

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto

ProxyLatency

Configure the proxy latency filter. This filter measures the latency incurred by the filter chain in a histogram.

"request": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement
"measureRequestInternally": bool
"response": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement
"chargeClusterStat": .google.protobuf.BoolValue
"chargeListenerStat": .google.protobuf.BoolValue
"emitDynamicMetadata": .google.protobuf.BoolValue

Field Type Description
request .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement How to measure the request.
measureRequestInternally bool When FIRST_OUTGOING (i.e. LAST_INCOMING_FIRST_OUTGOING or FIRST_INCOMING_FIRST_OUTGOING) is instead of when the first byte is sent upstream. This has the advantage of not measuring the time selected for request measurment, finish measuring proxy latency when decodeHeader for this it takes a connection to form, which may skew the P99. filter is hit instead of when the first byte is sent upstream. This has the advantage of not for this to work the filter should be inserted last, just before the router filter. measuring the time it takes a connection to form, which may skew the P99. For this to work this filter should be inserted last, just before the router filter. This has no effect if other measurement type is selected, and has no effect on how response is measured.
response .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement How measure the response.
chargeClusterStat .google.protobuf.BoolValue Charge a stat per upstream cluster. If not specified, defaults to true.
chargeListenerStat .google.protobuf.BoolValue Charge a stat per listener. If not specified, defaults to true.
emitDynamicMetadata .google.protobuf.BoolValue Should we emit request timing to dynamic metadata. defaults to true.

Measurement

How to perform the latency measurement. Given an incoming request from downstream and outging request to upstream; or incoming response from upstream and outgoing repsonse to downstream, This outlines how to measure the latency used by the proxy.

Name Description
LAST_INCOMING_FIRST_OUTGOING Count from the last byte of the incoming request\response to the first byte of the outgoing request\response.
FIRST_INCOMING_FIRST_OUTGOING Count from the first byte of the incoming request\response to the first byte of the outgoing request\response.
LAST_INCOMING_LAST_OUTGOING Count from the last byte of the incoming request\response to the last byte of the outgoing request\response.
FIRST_INCOMING_LAST_OUTGOING Count from the first byte of the incoming request\response to the last byte of the outgoing request\response.