Documentation ¶
Index ¶
- Variables
- type DogStatsdSink
- func (*DogStatsdSink) Descriptor() ([]byte, []int)deprecated
- func (x *DogStatsdSink) GetAddress() *core.Address
- func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier
- func (x *DogStatsdSink) GetPrefix() string
- func (*DogStatsdSink) ProtoMessage()
- func (x *DogStatsdSink) ProtoReflect() protoreflect.Message
- func (x *DogStatsdSink) Reset()
- func (x *DogStatsdSink) String() string
- type DogStatsdSink_Address
- type HystrixSink
- type MetricsServiceConfig
- func (*MetricsServiceConfig) Descriptor() ([]byte, []int)deprecated
- func (x *MetricsServiceConfig) GetGrpcService() *core.GrpcService
- func (*MetricsServiceConfig) ProtoMessage()
- func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message
- func (x *MetricsServiceConfig) Reset()
- func (x *MetricsServiceConfig) String() string
- type StatsConfig
- func (*StatsConfig) Descriptor() ([]byte, []int)deprecated
- func (x *StatsConfig) GetStatsMatcher() *StatsMatcher
- func (x *StatsConfig) GetStatsTags() []*TagSpecifier
- func (x *StatsConfig) GetUseAllDefaultTags() *wrapperspb.BoolValue
- func (*StatsConfig) ProtoMessage()
- func (x *StatsConfig) ProtoReflect() protoreflect.Message
- func (x *StatsConfig) Reset()
- func (x *StatsConfig) String() string
- type StatsMatcher
- func (*StatsMatcher) Descriptor() ([]byte, []int)deprecated
- func (x *StatsMatcher) GetExclusionList() *matcher.ListStringMatcher
- func (x *StatsMatcher) GetInclusionList() *matcher.ListStringMatcher
- func (x *StatsMatcher) GetRejectAll() bool
- func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher
- func (*StatsMatcher) ProtoMessage()
- func (x *StatsMatcher) ProtoReflect() protoreflect.Message
- func (x *StatsMatcher) Reset()
- func (x *StatsMatcher) String() string
- type StatsMatcher_ExclusionList
- type StatsMatcher_InclusionList
- type StatsMatcher_RejectAll
- type StatsSink
- func (*StatsSink) Descriptor() ([]byte, []int)deprecated
- func (x *StatsSink) GetConfig() *structpb.Structdeprecated
- func (m *StatsSink) GetConfigType() isStatsSink_ConfigType
- func (x *StatsSink) GetName() string
- func (x *StatsSink) GetTypedConfig() *anypb.Any
- func (*StatsSink) ProtoMessage()
- func (x *StatsSink) ProtoReflect() protoreflect.Message
- func (x *StatsSink) Reset()
- func (x *StatsSink) String() string
- type StatsSink_Config
- type StatsSink_TypedConfig
- type StatsdSink
- func (*StatsdSink) Descriptor() ([]byte, []int)deprecated
- func (x *StatsdSink) GetAddress() *core.Address
- func (x *StatsdSink) GetPrefix() string
- func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier
- func (x *StatsdSink) GetTcpClusterName() string
- func (*StatsdSink) ProtoMessage()
- func (x *StatsdSink) ProtoReflect() protoreflect.Message
- func (x *StatsdSink) Reset()
- func (x *StatsdSink) String() string
- type StatsdSink_Address
- type StatsdSink_TcpClusterName
- type TagSpecifier
- func (*TagSpecifier) Descriptor() ([]byte, []int)deprecated
- func (x *TagSpecifier) GetFixedValue() string
- func (x *TagSpecifier) GetRegex() string
- func (x *TagSpecifier) GetTagName() string
- func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue
- func (*TagSpecifier) ProtoMessage()
- func (x *TagSpecifier) ProtoReflect() protoreflect.Message
- func (x *TagSpecifier) Reset()
- func (x *TagSpecifier) String() string
- type TagSpecifier_FixedValue
- type TagSpecifier_Regex
Constants ¶
This section is empty.
Variables ¶
var File_envoy_config_metrics_v2_metrics_service_proto protoreflect.FileDescriptor
var File_envoy_config_metrics_v2_stats_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type DogStatsdSink ¶
type DogStatsdSink struct { // Types that are assignable to DogStatsdSpecifier: // // *DogStatsdSink_Address DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"` // Optional custom metric name prefix. See :ref:`StatsdSink's prefix field // <envoy_api_field_config.metrics.v2.StatsdSink.prefix>` for more details. Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // contains filtered or unexported fields }
Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink. The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_ compatible tags. Tags are configurable via :ref:`StatsConfig <envoy_api_msg_config.metrics.v2.StatsConfig>`. [#extension: envoy.stat_sinks.dog_statsd]
func (*DogStatsdSink) Descriptor
deprecated
func (*DogStatsdSink) Descriptor() ([]byte, []int)
Deprecated: Use DogStatsdSink.ProtoReflect.Descriptor instead.
func (*DogStatsdSink) GetAddress ¶
func (x *DogStatsdSink) GetAddress() *core.Address
func (*DogStatsdSink) GetDogStatsdSpecifier ¶
func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier
func (*DogStatsdSink) GetPrefix ¶
func (x *DogStatsdSink) GetPrefix() string
func (*DogStatsdSink) ProtoMessage ¶
func (*DogStatsdSink) ProtoMessage()
func (*DogStatsdSink) ProtoReflect ¶
func (x *DogStatsdSink) ProtoReflect() protoreflect.Message
func (*DogStatsdSink) Reset ¶
func (x *DogStatsdSink) Reset()
func (*DogStatsdSink) String ¶
func (x *DogStatsdSink) String() string
type DogStatsdSink_Address ¶
type HystrixSink ¶
type HystrixSink struct { // The number of buckets the rolling statistical window is divided into. // // Each time the sink is flushed, all relevant Envoy statistics are sampled and // added to the rolling window (removing the oldest samples in the window // in the process). The sink then outputs the aggregate statistics across the // current rolling window to the event stream(s). // // rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets // // More detailed explanation can be found in `Hystrix wiki // <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_. NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"` // contains filtered or unexported fields }
Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink. The sink emits stats in `text/event-stream <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_ formatted stream for use by `Hystrix dashboard <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
Note that only a single HystrixSink should be configured.
Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`. [#extension: envoy.stat_sinks.hystrix]
func (*HystrixSink) Descriptor
deprecated
func (*HystrixSink) Descriptor() ([]byte, []int)
Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead.
func (*HystrixSink) GetNumBuckets ¶
func (x *HystrixSink) GetNumBuckets() int64
func (*HystrixSink) ProtoMessage ¶
func (*HystrixSink) ProtoMessage()
func (*HystrixSink) ProtoReflect ¶
func (x *HystrixSink) ProtoReflect() protoreflect.Message
func (*HystrixSink) Reset ¶
func (x *HystrixSink) Reset()
func (*HystrixSink) String ¶
func (x *HystrixSink) String() string
type MetricsServiceConfig ¶
type MetricsServiceConfig struct { // The upstream gRPC cluster that hosts the metrics service. GrpcService *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // contains filtered or unexported fields }
Metrics Service is configured as a built-in *envoy.stat_sinks.metrics_service* :ref:`StatsSink <envoy_api_msg_config.metrics.v2.StatsSink>`. This opaque configuration will be used to create Metrics Service. [#extension: envoy.stat_sinks.metrics_service]
func (*MetricsServiceConfig) Descriptor
deprecated
func (*MetricsServiceConfig) Descriptor() ([]byte, []int)
Deprecated: Use MetricsServiceConfig.ProtoReflect.Descriptor instead.
func (*MetricsServiceConfig) GetGrpcService ¶
func (x *MetricsServiceConfig) GetGrpcService() *core.GrpcService
func (*MetricsServiceConfig) ProtoMessage ¶
func (*MetricsServiceConfig) ProtoMessage()
func (*MetricsServiceConfig) ProtoReflect ¶
func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message
func (*MetricsServiceConfig) Reset ¶
func (x *MetricsServiceConfig) Reset()
func (*MetricsServiceConfig) String ¶
func (x *MetricsServiceConfig) String() string
type StatsConfig ¶
type StatsConfig struct { // Each stat name is iteratively processed through these tag specifiers. // When a tag is matched, the first capture group is removed from the name so // later :ref:`TagSpecifiers <envoy_api_msg_config.metrics.v2.TagSpecifier>` cannot match that // same portion of the match. StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags,proto3" json:"stats_tags,omitempty"` // Use all default tag regexes specified in Envoy. These can be combined with // custom tags specified in :ref:`stats_tags // <envoy_api_field_config.metrics.v2.StatsConfig.stats_tags>`. They will be processed before // the custom tags. // // .. note:: // // If any default tags are specified twice, the config will be considered // invalid. // // See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the // default tags in Envoy. // // If not provided, the value is assumed to be true. UseAllDefaultTags *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags,proto3" json:"use_all_default_tags,omitempty"` // Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated // as normal. Preventing the instantiation of certain families of stats can improve memory // performance for Envoys running especially large configs. // // .. warning:: // // Excluding stats may affect Envoy's behavior in undocumented ways. See // `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information. // If any unexpected behavior changes are observed, please open a new issue immediately. StatsMatcher *StatsMatcher `protobuf:"bytes,3,opt,name=stats_matcher,json=statsMatcher,proto3" json:"stats_matcher,omitempty"` // contains filtered or unexported fields }
Statistics configuration such as tagging.
func (*StatsConfig) Descriptor
deprecated
func (*StatsConfig) Descriptor() ([]byte, []int)
Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead.
func (*StatsConfig) GetStatsMatcher ¶
func (x *StatsConfig) GetStatsMatcher() *StatsMatcher
func (*StatsConfig) GetStatsTags ¶
func (x *StatsConfig) GetStatsTags() []*TagSpecifier
func (*StatsConfig) GetUseAllDefaultTags ¶
func (x *StatsConfig) GetUseAllDefaultTags() *wrapperspb.BoolValue
func (*StatsConfig) ProtoMessage ¶
func (*StatsConfig) ProtoMessage()
func (*StatsConfig) ProtoReflect ¶
func (x *StatsConfig) ProtoReflect() protoreflect.Message
func (*StatsConfig) Reset ¶
func (x *StatsConfig) Reset()
func (*StatsConfig) String ¶
func (x *StatsConfig) String() string
type StatsMatcher ¶
type StatsMatcher struct { // Types that are assignable to StatsMatcher: // // *StatsMatcher_RejectAll // *StatsMatcher_ExclusionList // *StatsMatcher_InclusionList StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"` // contains filtered or unexported fields }
Configuration for disabling stat instantiation.
func (*StatsMatcher) Descriptor
deprecated
func (*StatsMatcher) Descriptor() ([]byte, []int)
Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead.
func (*StatsMatcher) GetExclusionList ¶
func (x *StatsMatcher) GetExclusionList() *matcher.ListStringMatcher
func (*StatsMatcher) GetInclusionList ¶
func (x *StatsMatcher) GetInclusionList() *matcher.ListStringMatcher
func (*StatsMatcher) GetRejectAll ¶
func (x *StatsMatcher) GetRejectAll() bool
func (*StatsMatcher) GetStatsMatcher ¶
func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher
func (*StatsMatcher) ProtoMessage ¶
func (*StatsMatcher) ProtoMessage()
func (*StatsMatcher) ProtoReflect ¶
func (x *StatsMatcher) ProtoReflect() protoreflect.Message
func (*StatsMatcher) Reset ¶
func (x *StatsMatcher) Reset()
func (*StatsMatcher) String ¶
func (x *StatsMatcher) String() string
type StatsMatcher_ExclusionList ¶
type StatsMatcher_ExclusionList struct { // Exclusive match. All stats are enabled except for those matching one of the supplied // StringMatcher protos. ExclusionList *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"` }
type StatsMatcher_InclusionList ¶
type StatsMatcher_InclusionList struct { // Inclusive match. No stats are enabled except for those matching one of the supplied // StringMatcher protos. InclusionList *matcher.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"` }
type StatsMatcher_RejectAll ¶
type StatsMatcher_RejectAll struct { // If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all // stats are enabled. RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"` }
type StatsSink ¶
type StatsSink struct { // The name of the stats sink to instantiate. The name must match a supported // stats sink. The built-in stats sinks are: // // * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v2.StatsdSink>` // * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v2.DogStatsdSink>` // * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v2.MetricsServiceConfig>` // * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v2.HystrixSink>` // // Sinks optionally support tagged/multiple dimensional metrics. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Stats sink specific configuration which depends on the sink being instantiated. See // :ref:`StatsdSink <envoy_api_msg_config.metrics.v2.StatsdSink>` for an example. // // Types that are assignable to ConfigType: // // *StatsSink_Config // *StatsSink_TypedConfig ConfigType isStatsSink_ConfigType `protobuf_oneof:"config_type"` // contains filtered or unexported fields }
Configuration for pluggable stats sinks.
func (*StatsSink) ProtoReflect ¶
func (x *StatsSink) ProtoReflect() protoreflect.Message
type StatsSink_Config ¶
type StatsSink_TypedConfig ¶
type StatsdSink ¶
type StatsdSink struct { // Types that are assignable to StatsdSpecifier: // // *StatsdSink_Address // *StatsdSink_TcpClusterName StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"` // Optional custom prefix for StatsdSink. If // specified, this will override the default prefix. // For example: // // .. code-block:: json // // { // "prefix" : "envoy-prod" // } // // will change emitted stats to // // .. code-block:: cpp // // envoy-prod.test_counter:1|c // envoy-prod.test_timer:5|ms // // Note that the default prefix, "envoy", will be used if a prefix is not // specified. // // Stats with default prefix: // // .. code-block:: cpp // // envoy.test_counter:1|c // envoy.test_timer:5|ms Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // contains filtered or unexported fields }
Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support tagged metrics. [#extension: envoy.stat_sinks.statsd]
func (*StatsdSink) Descriptor
deprecated
func (*StatsdSink) Descriptor() ([]byte, []int)
Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead.
func (*StatsdSink) GetAddress ¶
func (x *StatsdSink) GetAddress() *core.Address
func (*StatsdSink) GetPrefix ¶
func (x *StatsdSink) GetPrefix() string
func (*StatsdSink) GetStatsdSpecifier ¶
func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier
func (*StatsdSink) GetTcpClusterName ¶
func (x *StatsdSink) GetTcpClusterName() string
func (*StatsdSink) ProtoMessage ¶
func (*StatsdSink) ProtoMessage()
func (*StatsdSink) ProtoReflect ¶
func (x *StatsdSink) ProtoReflect() protoreflect.Message
func (*StatsdSink) Reset ¶
func (x *StatsdSink) Reset()
func (*StatsdSink) String ¶
func (x *StatsdSink) String() string
type StatsdSink_Address ¶
type StatsdSink_Address struct { // The UDP address of a running `statsd <https://github.com/etsy/statsd>`_ // compliant listener. If specified, statistics will be flushed to this // address. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` }
type StatsdSink_TcpClusterName ¶
type StatsdSink_TcpClusterName struct { // The name of a cluster that is running a TCP `statsd // <https://github.com/etsy/statsd>`_ compliant listener. If specified, // Envoy will connect to this cluster to flush statistics. TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"` }
type TagSpecifier ¶
type TagSpecifier struct { // Attaches an identifier to the tag values to identify the tag being in the // sink. Envoy has a set of default names and regexes to extract dynamic // portions of existing stats, which can be found in :repo:`well_known_names.h // <source/common/config/well_known_names.h>` in the Envoy repository. If a :ref:`tag_name // <envoy_api_field_config.metrics.v2.TagSpecifier.tag_name>` is provided in the config and // neither :ref:`regex <envoy_api_field_config.metrics.v2.TagSpecifier.regex>` or // :ref:`fixed_value <envoy_api_field_config.metrics.v2.TagSpecifier.fixed_value>` were specified, // Envoy will attempt to find that name in its set of defaults and use the accompanying regex. // // .. note:: // // It is invalid to specify the same tag name twice in a config. TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"` // Types that are assignable to TagValue: // // *TagSpecifier_Regex // *TagSpecifier_FixedValue TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"` // contains filtered or unexported fields }
Designates a tag name and value pair. The value may be either a fixed value or a regex providing the value via capture groups. The specified tag will be unconditionally set if a fixed value, otherwise it will only be set if one or more capture groups in the regex match.
func (*TagSpecifier) Descriptor
deprecated
func (*TagSpecifier) Descriptor() ([]byte, []int)
Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead.
func (*TagSpecifier) GetFixedValue ¶
func (x *TagSpecifier) GetFixedValue() string
func (*TagSpecifier) GetRegex ¶
func (x *TagSpecifier) GetRegex() string
func (*TagSpecifier) GetTagName ¶
func (x *TagSpecifier) GetTagName() string
func (*TagSpecifier) GetTagValue ¶
func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue
func (*TagSpecifier) ProtoMessage ¶
func (*TagSpecifier) ProtoMessage()
func (*TagSpecifier) ProtoReflect ¶
func (x *TagSpecifier) ProtoReflect() protoreflect.Message
func (*TagSpecifier) Reset ¶
func (x *TagSpecifier) Reset()
func (*TagSpecifier) String ¶
func (x *TagSpecifier) String() string
type TagSpecifier_FixedValue ¶
type TagSpecifier_FixedValue struct { // Specifies a fixed tag value for the “tag_name“. FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"` }
type TagSpecifier_Regex ¶
type TagSpecifier_Regex struct { // Designates a tag to strip from the tag extracted name and provide as a named // tag value for all statistics. This will only occur if any part of the name // matches the regex provided with one or more capture groups. // // The first capture group identifies the portion of the name to remove. The // second capture group (which will normally be nested inside the first) will // designate the value of the tag for the statistic. If no second capture // group is provided, the first will also be used to set the value of the tag. // All other capture groups will be ignored. // // Example 1. a stat name “cluster.foo_cluster.upstream_rq_timeout“ and // one tag specifier: // // .. code-block:: json // // { // "tag_name": "envoy.cluster_name", // "regex": "^cluster\\.((.+?)\\.)" // } // // Note that the regex will remove “foo_cluster.“ making the tag extracted // name “cluster.upstream_rq_timeout“ and the tag value for // “envoy.cluster_name“ will be “foo_cluster“ (note: there will be no // “.“ character because of the second capture group). // // Example 2. a stat name // “http.connection_manager_1.user_agent.ios.downstream_cx_total“ and two // tag specifiers: // // .. code-block:: json // // [ // { // "tag_name": "envoy.http_user_agent", // "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$" // }, // { // "tag_name": "envoy.http_conn_manager_prefix", // "regex": "^http\\.((.*?)\\.)" // } // ] // // The two regexes of the specifiers will be processed in the definition order. // // The first regex will remove “ios.“, leaving the tag extracted name // “http.connection_manager_1.user_agent.downstream_cx_total“. The tag // “envoy.http_user_agent“ will be added with tag value “ios“. // // The second regex will remove “connection_manager_1.“ from the tag // extracted name produced by the first regex // “http.connection_manager_1.user_agent.downstream_cx_total“, leaving // “http.user_agent.downstream_cx_total“ as the tag extracted name. The tag // “envoy.http_conn_manager_prefix“ will be added with the tag value // “connection_manager_1“. Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"` }