Documentation
¶
Index ¶
- Constants
- Variables
- type DogStatsdSink
- func (x *DogStatsdSink) ClearAddress()
- func (x *DogStatsdSink) ClearDogStatsdSpecifier()
- func (x *DogStatsdSink) ClearMaxBytesPerDatagram()
- func (x *DogStatsdSink) GetAddress() *v31.Address
- func (x *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier
- func (x *DogStatsdSink) GetMaxBytesPerDatagram() *wrapperspb.UInt64Value
- func (x *DogStatsdSink) GetPrefix() string
- func (x *DogStatsdSink) HasAddress() bool
- func (x *DogStatsdSink) HasDogStatsdSpecifier() bool
- func (x *DogStatsdSink) HasMaxBytesPerDatagram() bool
- func (*DogStatsdSink) ProtoMessage()
- func (x *DogStatsdSink) ProtoReflect() protoreflect.Message
- func (x *DogStatsdSink) Reset()
- func (x *DogStatsdSink) SetAddress(v *v31.Address)
- func (x *DogStatsdSink) SetMaxBytesPerDatagram(v *wrapperspb.UInt64Value)
- func (x *DogStatsdSink) SetPrefix(v string)
- func (x *DogStatsdSink) String() string
- func (x *DogStatsdSink) WhichDogStatsdSpecifier() case_DogStatsdSink_DogStatsdSpecifier
- type DogStatsdSink_Address
- type DogStatsdSink_builder
- type HistogramBucketSettings
- func (x *HistogramBucketSettings) ClearBins()
- func (x *HistogramBucketSettings) ClearMatch()
- func (x *HistogramBucketSettings) GetBins() *wrapperspb.UInt32Value
- func (x *HistogramBucketSettings) GetBuckets() []float64
- func (x *HistogramBucketSettings) GetMatch() *v3.StringMatcher
- func (x *HistogramBucketSettings) HasBins() bool
- func (x *HistogramBucketSettings) HasMatch() bool
- func (*HistogramBucketSettings) ProtoMessage()
- func (x *HistogramBucketSettings) ProtoReflect() protoreflect.Message
- func (x *HistogramBucketSettings) Reset()
- func (x *HistogramBucketSettings) SetBins(v *wrapperspb.UInt32Value)
- func (x *HistogramBucketSettings) SetBuckets(v []float64)
- func (x *HistogramBucketSettings) SetMatch(v *v3.StringMatcher)
- func (x *HistogramBucketSettings) String() string
- type HistogramBucketSettings_builder
- type HistogramEmitMode
- type HystrixSink
- type HystrixSink_builder
- type MetricsServiceConfig
- func (x *MetricsServiceConfig) ClearGrpcService()
- func (x *MetricsServiceConfig) ClearReportCountersAsDeltas()
- func (x *MetricsServiceConfig) GetEmitTagsAsLabels() bool
- func (x *MetricsServiceConfig) GetGrpcService() *v3.GrpcService
- func (x *MetricsServiceConfig) GetHistogramEmitMode() HistogramEmitMode
- func (x *MetricsServiceConfig) GetReportCountersAsDeltas() *wrapperspb.BoolValue
- func (x *MetricsServiceConfig) GetTransportApiVersion() v3.ApiVersion
- func (x *MetricsServiceConfig) HasGrpcService() bool
- func (x *MetricsServiceConfig) HasReportCountersAsDeltas() bool
- func (*MetricsServiceConfig) ProtoMessage()
- func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message
- func (x *MetricsServiceConfig) Reset()
- func (x *MetricsServiceConfig) SetEmitTagsAsLabels(v bool)
- func (x *MetricsServiceConfig) SetGrpcService(v *v3.GrpcService)
- func (x *MetricsServiceConfig) SetHistogramEmitMode(v HistogramEmitMode)
- func (x *MetricsServiceConfig) SetReportCountersAsDeltas(v *wrapperspb.BoolValue)
- func (x *MetricsServiceConfig) SetTransportApiVersion(v v3.ApiVersion)
- func (x *MetricsServiceConfig) String() string
- type MetricsServiceConfig_builder
- type StatsConfig
- func (x *StatsConfig) ClearStatsMatcher()
- func (x *StatsConfig) ClearUseAllDefaultTags()
- func (x *StatsConfig) GetHistogramBucketSettings() []*HistogramBucketSettings
- func (x *StatsConfig) GetStatsMatcher() *StatsMatcher
- func (x *StatsConfig) GetStatsTags() []*TagSpecifier
- func (x *StatsConfig) GetUseAllDefaultTags() *wrapperspb.BoolValue
- func (x *StatsConfig) HasStatsMatcher() bool
- func (x *StatsConfig) HasUseAllDefaultTags() bool
- func (*StatsConfig) ProtoMessage()
- func (x *StatsConfig) ProtoReflect() protoreflect.Message
- func (x *StatsConfig) Reset()
- func (x *StatsConfig) SetHistogramBucketSettings(v []*HistogramBucketSettings)
- func (x *StatsConfig) SetStatsMatcher(v *StatsMatcher)
- func (x *StatsConfig) SetStatsTags(v []*TagSpecifier)
- func (x *StatsConfig) SetUseAllDefaultTags(v *wrapperspb.BoolValue)
- func (x *StatsConfig) String() string
- type StatsConfig_builder
- type StatsMatcher
- func (x *StatsMatcher) ClearExclusionList()
- func (x *StatsMatcher) ClearInclusionList()
- func (x *StatsMatcher) ClearRejectAll()
- func (x *StatsMatcher) ClearStatsMatcher()
- func (x *StatsMatcher) GetExclusionList() *v3.ListStringMatcher
- func (x *StatsMatcher) GetInclusionList() *v3.ListStringMatcher
- func (x *StatsMatcher) GetRejectAll() bool
- func (x *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher
- func (x *StatsMatcher) HasExclusionList() bool
- func (x *StatsMatcher) HasInclusionList() bool
- func (x *StatsMatcher) HasRejectAll() bool
- func (x *StatsMatcher) HasStatsMatcher() bool
- func (*StatsMatcher) ProtoMessage()
- func (x *StatsMatcher) ProtoReflect() protoreflect.Message
- func (x *StatsMatcher) Reset()
- func (x *StatsMatcher) SetExclusionList(v *v3.ListStringMatcher)
- func (x *StatsMatcher) SetInclusionList(v *v3.ListStringMatcher)
- func (x *StatsMatcher) SetRejectAll(v bool)
- func (x *StatsMatcher) String() string
- func (x *StatsMatcher) WhichStatsMatcher() case_StatsMatcher_StatsMatcher
- type StatsMatcher_ExclusionList
- type StatsMatcher_InclusionList
- type StatsMatcher_RejectAll
- type StatsMatcher_builder
- type StatsSink
- func (x *StatsSink) ClearConfigType()
- func (x *StatsSink) ClearTypedConfig()
- func (x *StatsSink) GetConfigType() isStatsSink_ConfigType
- func (x *StatsSink) GetName() string
- func (x *StatsSink) GetTypedConfig() *anypb.Any
- func (x *StatsSink) HasConfigType() bool
- func (x *StatsSink) HasTypedConfig() bool
- func (*StatsSink) ProtoMessage()
- func (x *StatsSink) ProtoReflect() protoreflect.Message
- func (x *StatsSink) Reset()
- func (x *StatsSink) SetName(v string)
- func (x *StatsSink) SetTypedConfig(v *anypb.Any)
- func (x *StatsSink) String() string
- func (x *StatsSink) WhichConfigType() case_StatsSink_ConfigType
- type StatsSink_TypedConfig
- type StatsSink_builder
- type StatsdSink
- func (x *StatsdSink) ClearAddress()
- func (x *StatsdSink) ClearStatsdSpecifier()
- func (x *StatsdSink) ClearTcpClusterName()
- func (x *StatsdSink) GetAddress() *v31.Address
- func (x *StatsdSink) GetPrefix() string
- func (x *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier
- func (x *StatsdSink) GetTcpClusterName() string
- func (x *StatsdSink) HasAddress() bool
- func (x *StatsdSink) HasStatsdSpecifier() bool
- func (x *StatsdSink) HasTcpClusterName() bool
- func (*StatsdSink) ProtoMessage()
- func (x *StatsdSink) ProtoReflect() protoreflect.Message
- func (x *StatsdSink) Reset()
- func (x *StatsdSink) SetAddress(v *v31.Address)
- func (x *StatsdSink) SetPrefix(v string)
- func (x *StatsdSink) SetTcpClusterName(v string)
- func (x *StatsdSink) String() string
- func (x *StatsdSink) WhichStatsdSpecifier() case_StatsdSink_StatsdSpecifier
- type StatsdSink_Address
- type StatsdSink_TcpClusterName
- type StatsdSink_builder
- type TagSpecifier
- func (x *TagSpecifier) ClearFixedValue()
- func (x *TagSpecifier) ClearRegex()
- func (x *TagSpecifier) ClearTagValue()
- func (x *TagSpecifier) GetFixedValue() string
- func (x *TagSpecifier) GetRegex() string
- func (x *TagSpecifier) GetTagName() string
- func (x *TagSpecifier) GetTagValue() isTagSpecifier_TagValue
- func (x *TagSpecifier) HasFixedValue() bool
- func (x *TagSpecifier) HasRegex() bool
- func (x *TagSpecifier) HasTagValue() bool
- func (*TagSpecifier) ProtoMessage()
- func (x *TagSpecifier) ProtoReflect() protoreflect.Message
- func (x *TagSpecifier) Reset()
- func (x *TagSpecifier) SetFixedValue(v string)
- func (x *TagSpecifier) SetRegex(v string)
- func (x *TagSpecifier) SetTagName(v string)
- func (x *TagSpecifier) String() string
- func (x *TagSpecifier) WhichTagValue() case_TagSpecifier_TagValue
- type TagSpecifier_FixedValue
- type TagSpecifier_Regex
- type TagSpecifier_builder
Constants ¶
const DogStatsdSink_Address_case case_DogStatsdSink_DogStatsdSpecifier = 1
const DogStatsdSink_DogStatsdSpecifier_not_set_case case_DogStatsdSink_DogStatsdSpecifier = 0
const StatsMatcher_ExclusionList_case case_StatsMatcher_StatsMatcher = 2
const StatsMatcher_InclusionList_case case_StatsMatcher_StatsMatcher = 3
const StatsMatcher_RejectAll_case case_StatsMatcher_StatsMatcher = 1
const StatsMatcher_StatsMatcher_not_set_case case_StatsMatcher_StatsMatcher = 0
const StatsSink_ConfigType_not_set_case case_StatsSink_ConfigType = 0
const StatsSink_TypedConfig_case case_StatsSink_ConfigType = 3
const StatsdSink_Address_case case_StatsdSink_StatsdSpecifier = 1
const StatsdSink_StatsdSpecifier_not_set_case case_StatsdSink_StatsdSpecifier = 0
const StatsdSink_TcpClusterName_case case_StatsdSink_StatsdSpecifier = 2
const TagSpecifier_FixedValue_case case_TagSpecifier_TagValue = 3
const TagSpecifier_Regex_case case_TagSpecifier_TagValue = 2
const TagSpecifier_TagValue_not_set_case case_TagSpecifier_TagValue = 0
Variables ¶
var ( HistogramEmitMode_name = map[int32]string{ 0: "SUMMARY_AND_HISTOGRAM", 1: "SUMMARY", 2: "HISTOGRAM", } HistogramEmitMode_value = map[string]int32{ "SUMMARY_AND_HISTOGRAM": 0, "SUMMARY": 1, "HISTOGRAM": 2, } )
Enum value maps for HistogramEmitMode.
var File_envoy_config_metrics_v3_metrics_service_proto protoreflect.FileDescriptor
var File_envoy_config_metrics_v3_stats_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type DogStatsdSink ¶
type DogStatsdSink struct {
// Types that are valid to be assigned to DogStatsdSpecifier:
//
// *DogStatsdSink_Address
DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"`
// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
// <envoy_v3_api_field_config.metrics.v3.StatsdSink.prefix>` for more details.
Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
// Optional max datagram size to use when sending UDP messages. By default Envoy
// will emit one metric per datagram. By specifying a max-size larger than a single
// metric, Envoy will emit multiple, new-line separated metrics. The max datagram
// size should not exceed your network's MTU.
//
// Note that this value may not be respected if smaller than a single metric.
MaxBytesPerDatagram *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=max_bytes_per_datagram,json=maxBytesPerDatagram,proto3" json:"max_bytes_per_datagram,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_v3_api_msg_config.metrics.v3.StatsConfig>`. [#extension: envoy.stat_sinks.dog_statsd]
func (*DogStatsdSink) ClearAddress ¶
func (x *DogStatsdSink) ClearAddress()
func (*DogStatsdSink) ClearDogStatsdSpecifier ¶
func (x *DogStatsdSink) ClearDogStatsdSpecifier()
func (*DogStatsdSink) ClearMaxBytesPerDatagram ¶
func (x *DogStatsdSink) ClearMaxBytesPerDatagram()
func (*DogStatsdSink) GetAddress ¶
func (x *DogStatsdSink) GetAddress() *v31.Address
func (*DogStatsdSink) GetDogStatsdSpecifier ¶
func (x *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier
func (*DogStatsdSink) GetMaxBytesPerDatagram ¶
func (x *DogStatsdSink) GetMaxBytesPerDatagram() *wrapperspb.UInt64Value
func (*DogStatsdSink) GetPrefix ¶
func (x *DogStatsdSink) GetPrefix() string
func (*DogStatsdSink) HasAddress ¶
func (x *DogStatsdSink) HasAddress() bool
func (*DogStatsdSink) HasDogStatsdSpecifier ¶
func (x *DogStatsdSink) HasDogStatsdSpecifier() bool
func (*DogStatsdSink) HasMaxBytesPerDatagram ¶
func (x *DogStatsdSink) HasMaxBytesPerDatagram() bool
func (*DogStatsdSink) ProtoMessage ¶
func (*DogStatsdSink) ProtoMessage()
func (*DogStatsdSink) ProtoReflect ¶
func (x *DogStatsdSink) ProtoReflect() protoreflect.Message
func (*DogStatsdSink) Reset ¶
func (x *DogStatsdSink) Reset()
func (*DogStatsdSink) SetAddress ¶
func (x *DogStatsdSink) SetAddress(v *v31.Address)
func (*DogStatsdSink) SetMaxBytesPerDatagram ¶
func (x *DogStatsdSink) SetMaxBytesPerDatagram(v *wrapperspb.UInt64Value)
func (*DogStatsdSink) SetPrefix ¶
func (x *DogStatsdSink) SetPrefix(v string)
func (*DogStatsdSink) String ¶
func (x *DogStatsdSink) String() string
func (*DogStatsdSink) WhichDogStatsdSpecifier ¶
func (x *DogStatsdSink) WhichDogStatsdSpecifier() case_DogStatsdSink_DogStatsdSpecifier
type DogStatsdSink_Address ¶
type DogStatsdSink_builder ¶
type DogStatsdSink_builder struct {
// Fields of oneof DogStatsdSpecifier:
// The UDP address of a running DogStatsD compliant listener. If specified,
// statistics will be flushed to this address.
Address *v31.Address
// -- end of DogStatsdSpecifier
// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
// <envoy_v3_api_field_config.metrics.v3.StatsdSink.prefix>` for more details.
Prefix string
// Optional max datagram size to use when sending UDP messages. By default Envoy
// will emit one metric per datagram. By specifying a max-size larger than a single
// metric, Envoy will emit multiple, new-line separated metrics. The max datagram
// size should not exceed your network's MTU.
//
// Note that this value may not be respected if smaller than a single metric.
MaxBytesPerDatagram *wrapperspb.UInt64Value
// contains filtered or unexported fields
}
func (DogStatsdSink_builder) Build ¶
func (b0 DogStatsdSink_builder) Build() *DogStatsdSink
type HistogramBucketSettings ¶
type HistogramBucketSettings struct {
// The stats that this rule applies to. The match is applied to the original stat name
// before tag-extraction, for example “cluster.exampleclustername.upstream_cx_length_ms“.
Match *v3.StringMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
// Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique.
// The order of the buckets does not matter.
Buckets []float64 `protobuf:"fixed64,2,rep,packed,name=buckets,proto3" json:"buckets,omitempty"`
// Initial number of bins for the “circllhist“ thread local histogram per time series. Default value is 100.
Bins *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=bins,proto3" json:"bins,omitempty"`
// contains filtered or unexported fields
}
Specifies a matcher for stats and the buckets that matching stats should use.
func (*HistogramBucketSettings) ClearBins ¶
func (x *HistogramBucketSettings) ClearBins()
func (*HistogramBucketSettings) ClearMatch ¶
func (x *HistogramBucketSettings) ClearMatch()
func (*HistogramBucketSettings) GetBins ¶
func (x *HistogramBucketSettings) GetBins() *wrapperspb.UInt32Value
func (*HistogramBucketSettings) GetBuckets ¶
func (x *HistogramBucketSettings) GetBuckets() []float64
func (*HistogramBucketSettings) GetMatch ¶
func (x *HistogramBucketSettings) GetMatch() *v3.StringMatcher
func (*HistogramBucketSettings) HasBins ¶
func (x *HistogramBucketSettings) HasBins() bool
func (*HistogramBucketSettings) HasMatch ¶
func (x *HistogramBucketSettings) HasMatch() bool
func (*HistogramBucketSettings) ProtoMessage ¶
func (*HistogramBucketSettings) ProtoMessage()
func (*HistogramBucketSettings) ProtoReflect ¶
func (x *HistogramBucketSettings) ProtoReflect() protoreflect.Message
func (*HistogramBucketSettings) Reset ¶
func (x *HistogramBucketSettings) Reset()
func (*HistogramBucketSettings) SetBins ¶
func (x *HistogramBucketSettings) SetBins(v *wrapperspb.UInt32Value)
func (*HistogramBucketSettings) SetBuckets ¶
func (x *HistogramBucketSettings) SetBuckets(v []float64)
func (*HistogramBucketSettings) SetMatch ¶
func (x *HistogramBucketSettings) SetMatch(v *v3.StringMatcher)
func (*HistogramBucketSettings) String ¶
func (x *HistogramBucketSettings) String() string
type HistogramBucketSettings_builder ¶
type HistogramBucketSettings_builder struct {
// The stats that this rule applies to. The match is applied to the original stat name
// before tag-extraction, for example “cluster.exampleclustername.upstream_cx_length_ms“.
Match *v3.StringMatcher
// Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique.
// The order of the buckets does not matter.
Buckets []float64
// Initial number of bins for the “circllhist“ thread local histogram per time series. Default value is 100.
Bins *wrapperspb.UInt32Value
// contains filtered or unexported fields
}
func (HistogramBucketSettings_builder) Build ¶
func (b0 HistogramBucketSettings_builder) Build() *HistogramBucketSettings
type HistogramEmitMode ¶
type HistogramEmitMode int32
HistogramEmitMode is used to configure which metric types should be emitted for histograms.
const ( // Emit Histogram and Summary metric types. HistogramEmitMode_SUMMARY_AND_HISTOGRAM HistogramEmitMode = 0 // Emit only Summary metric types. HistogramEmitMode_SUMMARY HistogramEmitMode = 1 // Emit only Histogram metric types. HistogramEmitMode_HISTOGRAM HistogramEmitMode = 2 )
func (HistogramEmitMode) Descriptor ¶
func (HistogramEmitMode) Descriptor() protoreflect.EnumDescriptor
func (HistogramEmitMode) Enum ¶
func (x HistogramEmitMode) Enum() *HistogramEmitMode
func (HistogramEmitMode) Number ¶
func (x HistogramEmitMode) Number() protoreflect.EnumNumber
func (HistogramEmitMode) String ¶
func (x HistogramEmitMode) String() string
func (HistogramEmitMode) Type ¶
func (HistogramEmitMode) Type() protoreflect.EnumType
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) 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) SetNumBuckets ¶
func (x *HystrixSink) SetNumBuckets(v int64)
func (*HystrixSink) String ¶
func (x *HystrixSink) String() string
type HystrixSink_builder ¶
type HystrixSink_builder 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
// contains filtered or unexported fields
}
func (HystrixSink_builder) Build ¶
func (b0 HystrixSink_builder) Build() *HystrixSink
type MetricsServiceConfig ¶
type MetricsServiceConfig struct {
// The upstream gRPC cluster that hosts the metrics service.
GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"`
// API version for metric service transport protocol. This describes the metric service gRPC
// endpoint and version of messages used on the wire.
TransportApiVersion v3.ApiVersion `` /* 158-byte string literal not displayed */
// If true, counters are reported as the delta between flushing intervals. Otherwise, the current
// counter value is reported. Defaults to false.
// Eventually (https://github.com/envoyproxy/envoy/issues/10968) if this value is not set, the
// sink will take updates from the :ref:`MetricsResponse <envoy_v3_api_msg_service.metrics.v3.StreamMetricsResponse>`.
ReportCountersAsDeltas *wrapperspb.BoolValue `` /* 131-byte string literal not displayed */
// If true, metrics will have their tags emitted as labels on the metrics objects sent to the MetricsService,
// and the tag extracted name will be used instead of the full name, which may contain values used by the tag
// extractor or additional tags added during stats creation.
EmitTagsAsLabels bool `protobuf:"varint,4,opt,name=emit_tags_as_labels,json=emitTagsAsLabels,proto3" json:"emit_tags_as_labels,omitempty"`
// Specify which metrics types to emit for histograms. Defaults to SUMMARY_AND_HISTOGRAM.
HistogramEmitMode HistogramEmitMode `` /* 162-byte string literal not displayed */
// contains filtered or unexported fields
}
Metrics Service is configured as a built-in “envoy.stat_sinks.metrics_service“ :ref:`StatsSink <envoy_v3_api_msg_config.metrics.v3.StatsSink>`. This opaque configuration will be used to create Metrics Service.
Example:
.. code-block:: yaml
stats_sinks:
- name: envoy.stat_sinks.metrics_service
typed_config:
"@type": type.googleapis.com/envoy.config.metrics.v3.MetricsServiceConfig
[#extension: envoy.stat_sinks.metrics_service] [#next-free-field: 6]
func (*MetricsServiceConfig) ClearGrpcService ¶
func (x *MetricsServiceConfig) ClearGrpcService()
func (*MetricsServiceConfig) ClearReportCountersAsDeltas ¶
func (x *MetricsServiceConfig) ClearReportCountersAsDeltas()
func (*MetricsServiceConfig) GetEmitTagsAsLabels ¶
func (x *MetricsServiceConfig) GetEmitTagsAsLabels() bool
func (*MetricsServiceConfig) GetGrpcService ¶
func (x *MetricsServiceConfig) GetGrpcService() *v3.GrpcService
func (*MetricsServiceConfig) GetHistogramEmitMode ¶
func (x *MetricsServiceConfig) GetHistogramEmitMode() HistogramEmitMode
func (*MetricsServiceConfig) GetReportCountersAsDeltas ¶
func (x *MetricsServiceConfig) GetReportCountersAsDeltas() *wrapperspb.BoolValue
func (*MetricsServiceConfig) GetTransportApiVersion ¶
func (x *MetricsServiceConfig) GetTransportApiVersion() v3.ApiVersion
func (*MetricsServiceConfig) HasGrpcService ¶
func (x *MetricsServiceConfig) HasGrpcService() bool
func (*MetricsServiceConfig) HasReportCountersAsDeltas ¶
func (x *MetricsServiceConfig) HasReportCountersAsDeltas() bool
func (*MetricsServiceConfig) ProtoMessage ¶
func (*MetricsServiceConfig) ProtoMessage()
func (*MetricsServiceConfig) ProtoReflect ¶
func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message
func (*MetricsServiceConfig) Reset ¶
func (x *MetricsServiceConfig) Reset()
func (*MetricsServiceConfig) SetEmitTagsAsLabels ¶
func (x *MetricsServiceConfig) SetEmitTagsAsLabels(v bool)
func (*MetricsServiceConfig) SetGrpcService ¶
func (x *MetricsServiceConfig) SetGrpcService(v *v3.GrpcService)
func (*MetricsServiceConfig) SetHistogramEmitMode ¶
func (x *MetricsServiceConfig) SetHistogramEmitMode(v HistogramEmitMode)
func (*MetricsServiceConfig) SetReportCountersAsDeltas ¶
func (x *MetricsServiceConfig) SetReportCountersAsDeltas(v *wrapperspb.BoolValue)
func (*MetricsServiceConfig) SetTransportApiVersion ¶
func (x *MetricsServiceConfig) SetTransportApiVersion(v v3.ApiVersion)
func (*MetricsServiceConfig) String ¶
func (x *MetricsServiceConfig) String() string
type MetricsServiceConfig_builder ¶
type MetricsServiceConfig_builder struct {
// The upstream gRPC cluster that hosts the metrics service.
GrpcService *v3.GrpcService
// API version for metric service transport protocol. This describes the metric service gRPC
// endpoint and version of messages used on the wire.
TransportApiVersion v3.ApiVersion
// If true, counters are reported as the delta between flushing intervals. Otherwise, the current
// counter value is reported. Defaults to false.
// Eventually (https://github.com/envoyproxy/envoy/issues/10968) if this value is not set, the
// sink will take updates from the :ref:`MetricsResponse <envoy_v3_api_msg_service.metrics.v3.StreamMetricsResponse>`.
ReportCountersAsDeltas *wrapperspb.BoolValue
// If true, metrics will have their tags emitted as labels on the metrics objects sent to the MetricsService,
// and the tag extracted name will be used instead of the full name, which may contain values used by the tag
// extractor or additional tags added during stats creation.
EmitTagsAsLabels bool
// Specify which metrics types to emit for histograms. Defaults to SUMMARY_AND_HISTOGRAM.
HistogramEmitMode HistogramEmitMode
// contains filtered or unexported fields
}
func (MetricsServiceConfig_builder) Build ¶
func (b0 MetricsServiceConfig_builder) Build() *MetricsServiceConfig
type StatsConfig ¶
type StatsConfig struct {
// Each stat name is independently processed through these tag specifiers. When a tag is
// matched, the first capture group is not immediately removed from the name, so later
// :ref:`TagSpecifiers <envoy_v3_api_msg_config.metrics.v3.TagSpecifier>` can also match that
// same portion of the match. After all tag matching is complete, a tag-extracted version of
// the name is produced and is used in stats sinks that represent tags, such as Prometheus.
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_v3_api_field_config.metrics.v3.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"`
// Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first
// match is applied. If no match is found (or if no rules are set), the following default buckets
// are used:
//
// .. code-block:: json
//
// [
// 0.5,
// 1,
// 5,
// 10,
// 25,
// 50,
// 100,
// 250,
// 500,
// 1000,
// 2500,
// 5000,
// 10000,
// 30000,
// 60000,
// 300000,
// 600000,
// 1800000,
// 3600000
// ]
HistogramBucketSettings []*HistogramBucketSettings `` /* 132-byte string literal not displayed */
// contains filtered or unexported fields
}
Statistics configuration such as tagging.
func (*StatsConfig) ClearStatsMatcher ¶
func (x *StatsConfig) ClearStatsMatcher()
func (*StatsConfig) ClearUseAllDefaultTags ¶
func (x *StatsConfig) ClearUseAllDefaultTags()
func (*StatsConfig) GetHistogramBucketSettings ¶
func (x *StatsConfig) GetHistogramBucketSettings() []*HistogramBucketSettings
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) HasStatsMatcher ¶
func (x *StatsConfig) HasStatsMatcher() bool
func (*StatsConfig) HasUseAllDefaultTags ¶
func (x *StatsConfig) HasUseAllDefaultTags() bool
func (*StatsConfig) ProtoMessage ¶
func (*StatsConfig) ProtoMessage()
func (*StatsConfig) ProtoReflect ¶
func (x *StatsConfig) ProtoReflect() protoreflect.Message
func (*StatsConfig) Reset ¶
func (x *StatsConfig) Reset()
func (*StatsConfig) SetHistogramBucketSettings ¶
func (x *StatsConfig) SetHistogramBucketSettings(v []*HistogramBucketSettings)
func (*StatsConfig) SetStatsMatcher ¶
func (x *StatsConfig) SetStatsMatcher(v *StatsMatcher)
func (*StatsConfig) SetStatsTags ¶
func (x *StatsConfig) SetStatsTags(v []*TagSpecifier)
func (*StatsConfig) SetUseAllDefaultTags ¶
func (x *StatsConfig) SetUseAllDefaultTags(v *wrapperspb.BoolValue)
func (*StatsConfig) String ¶
func (x *StatsConfig) String() string
type StatsConfig_builder ¶
type StatsConfig_builder struct {
// Each stat name is independently processed through these tag specifiers. When a tag is
// matched, the first capture group is not immediately removed from the name, so later
// :ref:`TagSpecifiers <envoy_v3_api_msg_config.metrics.v3.TagSpecifier>` can also match that
// same portion of the match. After all tag matching is complete, a tag-extracted version of
// the name is produced and is used in stats sinks that represent tags, such as Prometheus.
StatsTags []*TagSpecifier
// Use all default tag regexes specified in Envoy. These can be combined with
// custom tags specified in :ref:`stats_tags
// <envoy_v3_api_field_config.metrics.v3.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
// 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
// Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first
// match is applied. If no match is found (or if no rules are set), the following default buckets
// are used:
//
// .. code-block:: json
//
// [
// 0.5,
// 1,
// 5,
// 10,
// 25,
// 50,
// 100,
// 250,
// 500,
// 1000,
// 2500,
// 5000,
// 10000,
// 30000,
// 60000,
// 300000,
// 600000,
// 1800000,
// 3600000
// ]
HistogramBucketSettings []*HistogramBucketSettings
// contains filtered or unexported fields
}
func (StatsConfig_builder) Build ¶
func (b0 StatsConfig_builder) Build() *StatsConfig
type StatsMatcher ¶
type StatsMatcher struct {
// Types that are valid to be assigned 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) ClearExclusionList ¶
func (x *StatsMatcher) ClearExclusionList()
func (*StatsMatcher) ClearInclusionList ¶
func (x *StatsMatcher) ClearInclusionList()
func (*StatsMatcher) ClearRejectAll ¶
func (x *StatsMatcher) ClearRejectAll()
func (*StatsMatcher) ClearStatsMatcher ¶
func (x *StatsMatcher) ClearStatsMatcher()
func (*StatsMatcher) GetExclusionList ¶
func (x *StatsMatcher) GetExclusionList() *v3.ListStringMatcher
func (*StatsMatcher) GetInclusionList ¶
func (x *StatsMatcher) GetInclusionList() *v3.ListStringMatcher
func (*StatsMatcher) GetRejectAll ¶
func (x *StatsMatcher) GetRejectAll() bool
func (*StatsMatcher) GetStatsMatcher ¶
func (x *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher
func (*StatsMatcher) HasExclusionList ¶
func (x *StatsMatcher) HasExclusionList() bool
func (*StatsMatcher) HasInclusionList ¶
func (x *StatsMatcher) HasInclusionList() bool
func (*StatsMatcher) HasRejectAll ¶
func (x *StatsMatcher) HasRejectAll() bool
func (*StatsMatcher) HasStatsMatcher ¶
func (x *StatsMatcher) HasStatsMatcher() bool
func (*StatsMatcher) ProtoMessage ¶
func (*StatsMatcher) ProtoMessage()
func (*StatsMatcher) ProtoReflect ¶
func (x *StatsMatcher) ProtoReflect() protoreflect.Message
func (*StatsMatcher) Reset ¶
func (x *StatsMatcher) Reset()
func (*StatsMatcher) SetExclusionList ¶
func (x *StatsMatcher) SetExclusionList(v *v3.ListStringMatcher)
func (*StatsMatcher) SetInclusionList ¶
func (x *StatsMatcher) SetInclusionList(v *v3.ListStringMatcher)
func (*StatsMatcher) SetRejectAll ¶
func (x *StatsMatcher) SetRejectAll(v bool)
func (*StatsMatcher) String ¶
func (x *StatsMatcher) String() string
func (*StatsMatcher) WhichStatsMatcher ¶
func (x *StatsMatcher) WhichStatsMatcher() case_StatsMatcher_StatsMatcher
type StatsMatcher_ExclusionList ¶
type StatsMatcher_ExclusionList struct {
// Exclusive match. All stats are enabled except for those matching one of the supplied
// StringMatcher protos.
ExclusionList *v3.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 *v3.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 StatsMatcher_builder ¶
type StatsMatcher_builder struct {
// Fields of oneof StatsMatcher:
// If “reject_all“ is true, then all stats are disabled. If “reject_all“ is false, then all
// stats are enabled.
RejectAll *bool
// Exclusive match. All stats are enabled except for those matching one of the supplied
// StringMatcher protos.
ExclusionList *v3.ListStringMatcher
// Inclusive match. No stats are enabled except for those matching one of the supplied
// StringMatcher protos.
InclusionList *v3.ListStringMatcher
// contains filtered or unexported fields
}
func (StatsMatcher_builder) Build ¶
func (b0 StatsMatcher_builder) Build() *StatsMatcher
type StatsSink ¶
type StatsSink struct {
// The name of the stats sink to instantiate. The name must match a supported
// stats sink.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
// 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_v3_api_msg_config.metrics.v3.StatsdSink>` for an example.
// [#extension-category: envoy.stats_sinks]
//
// Types that are valid to be assigned to ConfigType:
//
// *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_TypedConfig ¶
type StatsSink_builder ¶
type StatsSink_builder struct {
// The name of the stats sink to instantiate. The name must match a supported
// stats sink.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
// Sinks optionally support tagged/multiple dimensional metrics.
Name string
// Fields of oneof ConfigType:
TypedConfig *anypb.Any
// contains filtered or unexported fields
}
func (StatsSink_builder) Build ¶
func (b0 StatsSink_builder) Build() *StatsSink
type StatsdSink ¶
type StatsdSink struct {
// Types that are valid to be assigned 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) ClearAddress ¶
func (x *StatsdSink) ClearAddress()
func (*StatsdSink) ClearStatsdSpecifier ¶
func (x *StatsdSink) ClearStatsdSpecifier()
func (*StatsdSink) ClearTcpClusterName ¶
func (x *StatsdSink) ClearTcpClusterName()
func (*StatsdSink) GetAddress ¶
func (x *StatsdSink) GetAddress() *v31.Address
func (*StatsdSink) GetPrefix ¶
func (x *StatsdSink) GetPrefix() string
func (*StatsdSink) GetStatsdSpecifier ¶
func (x *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier
func (*StatsdSink) GetTcpClusterName ¶
func (x *StatsdSink) GetTcpClusterName() string
func (*StatsdSink) HasAddress ¶
func (x *StatsdSink) HasAddress() bool
func (*StatsdSink) HasStatsdSpecifier ¶
func (x *StatsdSink) HasStatsdSpecifier() bool
func (*StatsdSink) HasTcpClusterName ¶
func (x *StatsdSink) HasTcpClusterName() bool
func (*StatsdSink) ProtoMessage ¶
func (*StatsdSink) ProtoMessage()
func (*StatsdSink) ProtoReflect ¶
func (x *StatsdSink) ProtoReflect() protoreflect.Message
func (*StatsdSink) Reset ¶
func (x *StatsdSink) Reset()
func (*StatsdSink) SetAddress ¶
func (x *StatsdSink) SetAddress(v *v31.Address)
func (*StatsdSink) SetPrefix ¶
func (x *StatsdSink) SetPrefix(v string)
func (*StatsdSink) SetTcpClusterName ¶
func (x *StatsdSink) SetTcpClusterName(v string)
func (*StatsdSink) String ¶
func (x *StatsdSink) String() string
func (*StatsdSink) WhichStatsdSpecifier ¶
func (x *StatsdSink) WhichStatsdSpecifier() case_StatsdSink_StatsdSpecifier
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 *v31.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 StatsdSink_builder ¶
type StatsdSink_builder struct {
// Fields of oneof StatsdSpecifier:
// The UDP address of a running `statsd <https://github.com/etsy/statsd>`_
// compliant listener. If specified, statistics will be flushed to this
// address.
Address *v31.Address
// 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
// -- end of StatsdSpecifier
// 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
// contains filtered or unexported fields
}
func (StatsdSink_builder) Build ¶
func (b0 StatsdSink_builder) Build() *StatsdSink
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_v3_api_field_config.metrics.v3.TagSpecifier.tag_name>` is provided in the config and
// neither :ref:`regex <envoy_v3_api_field_config.metrics.v3.TagSpecifier.regex>` or
// :ref:`fixed_value <envoy_v3_api_field_config.metrics.v3.TagSpecifier.fixed_value>` were specified,
// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
//
// .. note::
//
// A stat name may be spelled in such a way that it matches two different
// tag extractors for the same tag name. In that case, all but one of the
// tag values will be dropped. It is not specified which tag value will be
// retained. The extraction will only occur for one of the extractors, and
// only the matched extraction will be removed from the tag name.
TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
// Types that are valid to be assigned 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) ClearFixedValue ¶
func (x *TagSpecifier) ClearFixedValue()
func (*TagSpecifier) ClearRegex ¶
func (x *TagSpecifier) ClearRegex()
func (*TagSpecifier) ClearTagValue ¶
func (x *TagSpecifier) ClearTagValue()
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 (x *TagSpecifier) GetTagValue() isTagSpecifier_TagValue
func (*TagSpecifier) HasFixedValue ¶
func (x *TagSpecifier) HasFixedValue() bool
func (*TagSpecifier) HasRegex ¶
func (x *TagSpecifier) HasRegex() bool
func (*TagSpecifier) HasTagValue ¶
func (x *TagSpecifier) HasTagValue() bool
func (*TagSpecifier) ProtoMessage ¶
func (*TagSpecifier) ProtoMessage()
func (*TagSpecifier) ProtoReflect ¶
func (x *TagSpecifier) ProtoReflect() protoreflect.Message
func (*TagSpecifier) Reset ¶
func (x *TagSpecifier) Reset()
func (*TagSpecifier) SetFixedValue ¶
func (x *TagSpecifier) SetFixedValue(v string)
func (*TagSpecifier) SetRegex ¶
func (x *TagSpecifier) SetRegex(v string)
func (*TagSpecifier) SetTagName ¶
func (x *TagSpecifier) SetTagName(v string)
func (*TagSpecifier) String ¶
func (x *TagSpecifier) String() string
func (*TagSpecifier) WhichTagValue ¶
func (x *TagSpecifier) WhichTagValue() case_TagSpecifier_TagValue
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 from the elaborated
// stat name.
//
// The first regex will save “ios.“ as the tag value for “envoy.http_user_agent“. It will
// leave it in the name for potential matching with additional tag specifiers. After all tag
// specifiers are processed the tags will be removed from the name.
//
// The second regex will populate tag “envoy.http_conn_manager_prefix“ with value
// “connection_manager_1.“, based on the original stat name.
//
// As a final step, the matched tags are removed, leaving
// “http.user_agent.downstream_cx_total“ as the tag extracted name.
Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
}
type TagSpecifier_builder ¶
type TagSpecifier_builder 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_v3_api_field_config.metrics.v3.TagSpecifier.tag_name>` is provided in the config and
// neither :ref:`regex <envoy_v3_api_field_config.metrics.v3.TagSpecifier.regex>` or
// :ref:`fixed_value <envoy_v3_api_field_config.metrics.v3.TagSpecifier.fixed_value>` were specified,
// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
//
// .. note::
//
// A stat name may be spelled in such a way that it matches two different
// tag extractors for the same tag name. In that case, all but one of the
// tag values will be dropped. It is not specified which tag value will be
// retained. The extraction will only occur for one of the extractors, and
// only the matched extraction will be removed from the tag name.
TagName string
// Fields of oneof TagValue:
// 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 from the elaborated
// stat name.
//
// The first regex will save “ios.“ as the tag value for “envoy.http_user_agent“. It will
// leave it in the name for potential matching with additional tag specifiers. After all tag
// specifiers are processed the tags will be removed from the name.
//
// The second regex will populate tag “envoy.http_conn_manager_prefix“ with value
// “connection_manager_1.“, based on the original stat name.
//
// As a final step, the matched tags are removed, leaving
// “http.user_agent.downstream_cx_total“ as the tag extracted name.
Regex *string
// Specifies a fixed tag value for the “tag_name“.
FixedValue *string
// contains filtered or unexported fields
}
func (TagSpecifier_builder) Build ¶
func (b0 TagSpecifier_builder) Build() *TagSpecifier
Source Files
¶
- metrics_service.pb.go
- stats.pb.go