stats

package
v1.18.0-rc3 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 19 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_stats_stats_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Stats

type Stats struct {

	// Virtual clusters allow exposing additional statistics for traffic served by a Virtual Host.
	VirtualClusters []*VirtualCluster `protobuf:"bytes,10,rep,name=virtual_clusters,json=virtualClusters,proto3" json:"virtual_clusters,omitempty"`
	// contains filtered or unexported fields
}

This plugin provides additional configuration options to expose statistics.

func (*Stats) Clone added in v1.8.24

func (m *Stats) Clone() proto.Message

Clone function

func (*Stats) Descriptor deprecated

func (*Stats) Descriptor() ([]byte, []int)

Deprecated: Use Stats.ProtoReflect.Descriptor instead.

func (*Stats) Equal

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

Equal function

func (*Stats) GetVirtualClusters

func (x *Stats) GetVirtualClusters() []*VirtualCluster

func (*Stats) Hash deprecated added in v1.2.13

func (m *Stats) 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 (*Stats) HashUnique

func (m *Stats) 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 (*Stats) ProtoMessage

func (*Stats) ProtoMessage()

func (*Stats) ProtoReflect added in v1.6.0

func (x *Stats) ProtoReflect() protoreflect.Message

func (*Stats) Reset

func (x *Stats) Reset()

func (*Stats) String

func (x *Stats) String() string

type VirtualCluster

type VirtualCluster struct {

	// The name of the virtual cluster. This value will be used together with the virtual host name to
	// compute the name of the statistics emitted by this virtual cluster. Statistics names will be in the form:
	// vhost.<virtual host name>.vcluster.<virtual cluster name>.<stat name>.
	// See [the official Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.5.0/configuration/http_filters/router_filter#config-http-filters-router-stats)
	// for more information about the statistics emitted when virtual cluster configurations are specified.
	//
	// Note: This string should not contain any dots ("."), as this is a reserved character for Envoy statistics names.
	// Any dot present in the virtual cluster name will be replaced with an underscore ("_") character by Gloo.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The regex pattern used by Envoy to decide whether to expose statistics for a particular request.
	// Please note that **the entire path** of the request must match the regex (e.g. the regex `/rides/d+` matches
	// the path `/rides/0`, but not `/rides/123/456`).
	// The regex grammar used is defined [here](https://en.cppreference.com/w/cpp/regex/ecmascript).
	Pattern string `protobuf:"bytes,2,opt,name=pattern,proto3" json:"pattern,omitempty"`
	// If specified, statistics will be exposed only for requests matching the given HTTP method.
	Method string `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

Virtual clusters allow you to expose statistics for virtual host traffic that matches certain criteria. This is useful because what the application considers to be an endpoint does often not map directly to the routing configuration, so Envoy does not emit per endpoint statistics. Using virtual clusters you can define logical endpoints and have Envoy emit dedicated statistics for any matching request. Virtual cluster statistics are emitted on the downstream side and thus include network level failures.

Please note that virtual clusters add overhead to the processing of each requests and should not be overused.

func (*VirtualCluster) Clone added in v1.8.24

func (m *VirtualCluster) Clone() proto.Message

Clone function

func (*VirtualCluster) Descriptor deprecated

func (*VirtualCluster) Descriptor() ([]byte, []int)

Deprecated: Use VirtualCluster.ProtoReflect.Descriptor instead.

func (*VirtualCluster) Equal

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

Equal function

func (*VirtualCluster) GetMethod

func (x *VirtualCluster) GetMethod() string

func (*VirtualCluster) GetName

func (x *VirtualCluster) GetName() string

func (*VirtualCluster) GetPattern

func (x *VirtualCluster) GetPattern() string

func (*VirtualCluster) Hash deprecated added in v1.2.13

func (m *VirtualCluster) 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 (*VirtualCluster) HashUnique

func (m *VirtualCluster) 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 (*VirtualCluster) ProtoMessage

func (*VirtualCluster) ProtoMessage()

func (*VirtualCluster) ProtoReflect added in v1.6.0

func (x *VirtualCluster) ProtoReflect() protoreflect.Message

func (*VirtualCluster) Reset

func (x *VirtualCluster) Reset()

func (*VirtualCluster) String

func (x *VirtualCluster) String() string

Jump to

Keyboard shortcuts

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