Documentation ¶
Index ¶
- Variables
- type Stats
- func (m *Stats) Clone() proto.Message
- func (*Stats) Descriptor() ([]byte, []int)deprecated
- func (m *Stats) Equal(that interface{}) bool
- func (x *Stats) GetVirtualClusters() []*VirtualCluster
- func (m *Stats) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *Stats) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*Stats) ProtoMessage()
- func (x *Stats) ProtoReflect() protoreflect.Message
- func (x *Stats) Reset()
- func (x *Stats) String() string
- type VirtualCluster
- func (m *VirtualCluster) Clone() proto.Message
- func (*VirtualCluster) Descriptor() ([]byte, []int)deprecated
- func (m *VirtualCluster) Equal(that interface{}) bool
- func (x *VirtualCluster) GetMethod() string
- func (x *VirtualCluster) GetName() string
- func (x *VirtualCluster) GetPattern() string
- func (m *VirtualCluster) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *VirtualCluster) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*VirtualCluster) ProtoMessage()
- func (x *VirtualCluster) ProtoReflect() protoreflect.Message
- func (x *VirtualCluster) Reset()
- func (x *VirtualCluster) String() string
Constants ¶
This section is empty.
Variables ¶
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) Descriptor
deprecated
func (*Stats) GetVirtualClusters ¶
func (x *Stats) GetVirtualClusters() []*VirtualCluster
func (*Stats) Hash
deprecated
added in
v1.2.13
func (*Stats) HashUnique ¶
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
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) 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