proxylatency

package
v1.18.0-beta23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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) Equal

func (m *ProxyLatency) Equal(that interface{}) bool

Equal function

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 added in v1.18.0

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) Enum added in v1.6.0

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 (ProxyLatency_Measurement) String

func (x ProxyLatency_Measurement) String() string

func (ProxyLatency_Measurement) Type added in v1.6.0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL