Documentation ¶
Index ¶
- Variables
- type ProxyLatency
- func (m *ProxyLatency) Clone() proto.Message
- func (*ProxyLatency) Descriptor() ([]byte, []int)deprecated
- func (m *ProxyLatency) Equal(that interface{}) bool
- func (x *ProxyLatency) GetChargeClusterStat() *wrapperspb.BoolValue
- func (x *ProxyLatency) GetChargeListenerStat() *wrapperspb.BoolValue
- func (x *ProxyLatency) GetEmitDynamicMetadata() *wrapperspb.BoolValue
- func (x *ProxyLatency) GetMeasureRequestInternally() bool
- func (x *ProxyLatency) GetRequest() ProxyLatency_Measurement
- func (x *ProxyLatency) GetResponse() ProxyLatency_Measurement
- func (m *ProxyLatency) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *ProxyLatency) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*ProxyLatency) ProtoMessage()
- func (x *ProxyLatency) ProtoReflect() protoreflect.Message
- func (x *ProxyLatency) Reset()
- func (x *ProxyLatency) String() string
- type ProxyLatency_Measurement
- func (ProxyLatency_Measurement) Descriptor() protoreflect.EnumDescriptor
- func (x ProxyLatency_Measurement) Enum() *ProxyLatency_Measurement
- func (ProxyLatency_Measurement) EnumDescriptor() ([]byte, []int)deprecated
- func (x ProxyLatency_Measurement) Number() protoreflect.EnumNumber
- func (x ProxyLatency_Measurement) String() string
- func (ProxyLatency_Measurement) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( ProxyLatency_Measurement_name = map[int32]string{ 0: "LAST_INCOMING_FIRST_OUTGOING", 1: "FIRST_INCOMING_FIRST_OUTGOING", 2: "LAST_INCOMING_LAST_OUTGOING", 3: "FIRST_INCOMING_LAST_OUTGOING", } ProxyLatency_Measurement_value = map[string]int32{ "LAST_INCOMING_FIRST_OUTGOING": 0, "FIRST_INCOMING_FIRST_OUTGOING": 1, "LAST_INCOMING_LAST_OUTGOING": 2, "FIRST_INCOMING_LAST_OUTGOING": 3, } )
Enum value maps for ProxyLatency_Measurement.
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_extensions_proxylatency_proxylatency_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ProxyLatency ¶
type ProxyLatency struct { // How to measure the request. // Affects the output stats. // Does not affect metadata. Request ProxyLatency_Measurement `` /* 139-byte string literal not displayed */ // 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. MeasureRequestInternally bool `` /* 136-byte string literal not displayed */ // How measure the response. Response ProxyLatency_Measurement `` /* 141-byte string literal not displayed */ // Charge a stat per upstream cluster. If not specified, defaults to true. ChargeClusterStat *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=charge_cluster_stat,json=chargeClusterStat,proto3" json:"charge_cluster_stat,omitempty"` // Charge a stat per listener. If not specified, defaults to true. ChargeListenerStat *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=charge_listener_stat,json=chargeListenerStat,proto3" json:"charge_listener_stat,omitempty"` // Whether request timing is emitted to dynamic metadata. // If enabled, defaults to true. EmitDynamicMetadata *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=emit_dynamic_metadata,json=emitDynamicMetadata,proto3" json:"emit_dynamic_metadata,omitempty"` // contains filtered or unexported fields }
Configure the proxy latency filter. This filter measures the latency incurred by the filter chain in a histogram. The filter fields are similar to the settings for [`COMMON_DURATION`](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage.html), introduced in Envoy 1.31. The filter also emits the following additional dynamic metadata fields, which you can use to augment the existing upstream options for access logging: - request_out_internal: first_byte_processed_millis - request_out: firstUpstreamTxByteSent - response_out: firstDownstreamTxByteSent
func (*ProxyLatency) Clone ¶ added in v1.8.24
func (m *ProxyLatency) Clone() proto.Message
Clone function
func (*ProxyLatency) Descriptor
deprecated
func (*ProxyLatency) Descriptor() ([]byte, []int)
Deprecated: Use ProxyLatency.ProtoReflect.Descriptor instead.
func (*ProxyLatency) GetChargeClusterStat ¶
func (x *ProxyLatency) GetChargeClusterStat() *wrapperspb.BoolValue
func (*ProxyLatency) GetChargeListenerStat ¶
func (x *ProxyLatency) GetChargeListenerStat() *wrapperspb.BoolValue
func (*ProxyLatency) GetEmitDynamicMetadata ¶ added in v1.4.6
func (x *ProxyLatency) GetEmitDynamicMetadata() *wrapperspb.BoolValue
func (*ProxyLatency) GetMeasureRequestInternally ¶
func (x *ProxyLatency) GetMeasureRequestInternally() bool
func (*ProxyLatency) GetRequest ¶
func (x *ProxyLatency) GetRequest() ProxyLatency_Measurement
func (*ProxyLatency) GetResponse ¶
func (x *ProxyLatency) GetResponse() ProxyLatency_Measurement
func (*ProxyLatency) Hash
deprecated
added in
v1.6.0
func (m *ProxyLatency) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*ProxyLatency) HashUnique ¶
func (m *ProxyLatency) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
func (*ProxyLatency) ProtoMessage ¶
func (*ProxyLatency) ProtoMessage()
func (*ProxyLatency) ProtoReflect ¶ added in v1.6.0
func (x *ProxyLatency) ProtoReflect() protoreflect.Message
func (*ProxyLatency) Reset ¶
func (x *ProxyLatency) Reset()
func (*ProxyLatency) String ¶
func (x *ProxyLatency) String() string
type ProxyLatency_Measurement ¶
type ProxyLatency_Measurement int32
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.
const ( // Count from the last byte of the incoming request\response to the first byte of the outgoing request\response. ProxyLatency_LAST_INCOMING_FIRST_OUTGOING ProxyLatency_Measurement = 0 // Count from the first byte of the incoming request\response to the first byte of the outgoing request\response. ProxyLatency_FIRST_INCOMING_FIRST_OUTGOING ProxyLatency_Measurement = 1 // Count from the last byte of the incoming request\response to the last byte of the outgoing request\response. ProxyLatency_LAST_INCOMING_LAST_OUTGOING ProxyLatency_Measurement = 2 // Count from the first byte of the incoming request\response to the last byte of the outgoing request\response. ProxyLatency_FIRST_INCOMING_LAST_OUTGOING ProxyLatency_Measurement = 3 )
func (ProxyLatency_Measurement) Descriptor ¶ added in v1.6.0
func (ProxyLatency_Measurement) Descriptor() protoreflect.EnumDescriptor
func (ProxyLatency_Measurement) Enum ¶ added in v1.6.0
func (x ProxyLatency_Measurement) Enum() *ProxyLatency_Measurement
func (ProxyLatency_Measurement) EnumDescriptor
deprecated
func (ProxyLatency_Measurement) EnumDescriptor() ([]byte, []int)
Deprecated: Use ProxyLatency_Measurement.Descriptor instead.
func (ProxyLatency_Measurement) Number ¶ added in v1.6.0
func (x ProxyLatency_Measurement) Number() protoreflect.EnumNumber
func (ProxyLatency_Measurement) String ¶
func (x ProxyLatency_Measurement) String() string
func (ProxyLatency_Measurement) Type ¶ added in v1.6.0
func (ProxyLatency_Measurement) Type() protoreflect.EnumType