...

Source file src/github.com/datawire/ambassador/v2/pkg/api/envoy/config/metrics/v3/stats.pb.go

Documentation: github.com/datawire/ambassador/v2/pkg/api/envoy/config/metrics/v3

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.14.0
     5  // source: envoy/config/metrics/v3/stats.proto
     6  
     7  package envoy_config_metrics_v3
     8  
     9  import (
    10  	_ "github.com/cncf/udpa/go/udpa/annotations"
    11  	v31 "github.com/datawire/ambassador/v2/pkg/api/envoy/config/core/v3"
    12  	v3 "github.com/datawire/ambassador/v2/pkg/api/envoy/type/matcher/v3"
    13  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    14  	proto "github.com/golang/protobuf/proto"
    15  	any "github.com/golang/protobuf/ptypes/any"
    16  	_struct "github.com/golang/protobuf/ptypes/struct"
    17  	wrappers "github.com/golang/protobuf/ptypes/wrappers"
    18  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    19  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    20  	reflect "reflect"
    21  	sync "sync"
    22  )
    23  
    24  const (
    25  	// Verify that this generated code is sufficiently up-to-date.
    26  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    27  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    28  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    29  )
    30  
    31  // This is a compile-time assertion that a sufficiently up-to-date version
    32  // of the legacy proto package is being used.
    33  const _ = proto.ProtoPackageIsVersion4
    34  
    35  // Configuration for pluggable stats sinks.
    36  type StatsSink struct {
    37  	state         protoimpl.MessageState
    38  	sizeCache     protoimpl.SizeCache
    39  	unknownFields protoimpl.UnknownFields
    40  
    41  	// The name of the stats sink to instantiate. The name must match a supported
    42  	// stats sink. The built-in stats sinks are:
    43  	//
    44  	// * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v3.StatsdSink>`
    45  	// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v3.DogStatsdSink>`
    46  	// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v3.MetricsServiceConfig>`
    47  	// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v3.HystrixSink>`
    48  	//
    49  	// Sinks optionally support tagged/multiple dimensional metrics.
    50  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    51  	// Stats sink specific configuration which depends on the sink being instantiated. See
    52  	// :ref:`StatsdSink <envoy_api_msg_config.metrics.v3.StatsdSink>` for an example.
    53  	//
    54  	// Types that are assignable to ConfigType:
    55  	//	*StatsSink_TypedConfig
    56  	//	*StatsSink_HiddenEnvoyDeprecatedConfig
    57  	ConfigType isStatsSink_ConfigType `protobuf_oneof:"config_type"`
    58  }
    59  
    60  func (x *StatsSink) Reset() {
    61  	*x = StatsSink{}
    62  	if protoimpl.UnsafeEnabled {
    63  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[0]
    64  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    65  		ms.StoreMessageInfo(mi)
    66  	}
    67  }
    68  
    69  func (x *StatsSink) String() string {
    70  	return protoimpl.X.MessageStringOf(x)
    71  }
    72  
    73  func (*StatsSink) ProtoMessage() {}
    74  
    75  func (x *StatsSink) ProtoReflect() protoreflect.Message {
    76  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[0]
    77  	if protoimpl.UnsafeEnabled && x != nil {
    78  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    79  		if ms.LoadMessageInfo() == nil {
    80  			ms.StoreMessageInfo(mi)
    81  		}
    82  		return ms
    83  	}
    84  	return mi.MessageOf(x)
    85  }
    86  
    87  // Deprecated: Use StatsSink.ProtoReflect.Descriptor instead.
    88  func (*StatsSink) Descriptor() ([]byte, []int) {
    89  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{0}
    90  }
    91  
    92  func (x *StatsSink) GetName() string {
    93  	if x != nil {
    94  		return x.Name
    95  	}
    96  	return ""
    97  }
    98  
    99  func (m *StatsSink) GetConfigType() isStatsSink_ConfigType {
   100  	if m != nil {
   101  		return m.ConfigType
   102  	}
   103  	return nil
   104  }
   105  
   106  func (x *StatsSink) GetTypedConfig() *any.Any {
   107  	if x, ok := x.GetConfigType().(*StatsSink_TypedConfig); ok {
   108  		return x.TypedConfig
   109  	}
   110  	return nil
   111  }
   112  
   113  // Deprecated: Do not use.
   114  func (x *StatsSink) GetHiddenEnvoyDeprecatedConfig() *_struct.Struct {
   115  	if x, ok := x.GetConfigType().(*StatsSink_HiddenEnvoyDeprecatedConfig); ok {
   116  		return x.HiddenEnvoyDeprecatedConfig
   117  	}
   118  	return nil
   119  }
   120  
   121  type isStatsSink_ConfigType interface {
   122  	isStatsSink_ConfigType()
   123  }
   124  
   125  type StatsSink_TypedConfig struct {
   126  	TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
   127  }
   128  
   129  type StatsSink_HiddenEnvoyDeprecatedConfig struct {
   130  	// Deprecated: Do not use.
   131  	HiddenEnvoyDeprecatedConfig *_struct.Struct `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_config,json=hiddenEnvoyDeprecatedConfig,proto3,oneof"`
   132  }
   133  
   134  func (*StatsSink_TypedConfig) isStatsSink_ConfigType() {}
   135  
   136  func (*StatsSink_HiddenEnvoyDeprecatedConfig) isStatsSink_ConfigType() {}
   137  
   138  // Statistics configuration such as tagging.
   139  type StatsConfig struct {
   140  	state         protoimpl.MessageState
   141  	sizeCache     protoimpl.SizeCache
   142  	unknownFields protoimpl.UnknownFields
   143  
   144  	// Each stat name is iteratively processed through these tag specifiers.
   145  	// When a tag is matched, the first capture group is removed from the name so
   146  	// later :ref:`TagSpecifiers <envoy_api_msg_config.metrics.v3.TagSpecifier>` cannot match that
   147  	// same portion of the match.
   148  	StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags,proto3" json:"stats_tags,omitempty"`
   149  	// Use all default tag regexes specified in Envoy. These can be combined with
   150  	// custom tags specified in :ref:`stats_tags
   151  	// <envoy_api_field_config.metrics.v3.StatsConfig.stats_tags>`. They will be processed before
   152  	// the custom tags.
   153  	//
   154  	// .. note::
   155  	//
   156  	//   If any default tags are specified twice, the config will be considered
   157  	//   invalid.
   158  	//
   159  	// See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
   160  	// default tags in Envoy.
   161  	//
   162  	// If not provided, the value is assumed to be true.
   163  	UseAllDefaultTags *wrappers.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags,proto3" json:"use_all_default_tags,omitempty"`
   164  	// Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
   165  	// as normal. Preventing the instantiation of certain families of stats can improve memory
   166  	// performance for Envoys running especially large configs.
   167  	//
   168  	// .. warning::
   169  	//   Excluding stats may affect Envoy's behavior in undocumented ways. See
   170  	//   `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information.
   171  	//   If any unexpected behavior changes are observed, please open a new issue immediately.
   172  	StatsMatcher *StatsMatcher `protobuf:"bytes,3,opt,name=stats_matcher,json=statsMatcher,proto3" json:"stats_matcher,omitempty"`
   173  	// Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first
   174  	// match is applied. If no match is found (or if no rules are set), the following default buckets
   175  	// are used:
   176  	//
   177  	//   .. code-block:: json
   178  	//
   179  	//     [
   180  	//       0.5,
   181  	//       1,
   182  	//       5,
   183  	//       10,
   184  	//       25,
   185  	//       50,
   186  	//       100,
   187  	//       250,
   188  	//       500,
   189  	//       1000,
   190  	//       2500,
   191  	//       5000,
   192  	//       10000,
   193  	//       30000,
   194  	//       60000,
   195  	//       300000,
   196  	//       600000,
   197  	//       1800000,
   198  	//       3600000
   199  	//     ]
   200  	HistogramBucketSettings []*HistogramBucketSettings `protobuf:"bytes,4,rep,name=histogram_bucket_settings,json=histogramBucketSettings,proto3" json:"histogram_bucket_settings,omitempty"`
   201  }
   202  
   203  func (x *StatsConfig) Reset() {
   204  	*x = StatsConfig{}
   205  	if protoimpl.UnsafeEnabled {
   206  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[1]
   207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   208  		ms.StoreMessageInfo(mi)
   209  	}
   210  }
   211  
   212  func (x *StatsConfig) String() string {
   213  	return protoimpl.X.MessageStringOf(x)
   214  }
   215  
   216  func (*StatsConfig) ProtoMessage() {}
   217  
   218  func (x *StatsConfig) ProtoReflect() protoreflect.Message {
   219  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[1]
   220  	if protoimpl.UnsafeEnabled && x != nil {
   221  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   222  		if ms.LoadMessageInfo() == nil {
   223  			ms.StoreMessageInfo(mi)
   224  		}
   225  		return ms
   226  	}
   227  	return mi.MessageOf(x)
   228  }
   229  
   230  // Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead.
   231  func (*StatsConfig) Descriptor() ([]byte, []int) {
   232  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{1}
   233  }
   234  
   235  func (x *StatsConfig) GetStatsTags() []*TagSpecifier {
   236  	if x != nil {
   237  		return x.StatsTags
   238  	}
   239  	return nil
   240  }
   241  
   242  func (x *StatsConfig) GetUseAllDefaultTags() *wrappers.BoolValue {
   243  	if x != nil {
   244  		return x.UseAllDefaultTags
   245  	}
   246  	return nil
   247  }
   248  
   249  func (x *StatsConfig) GetStatsMatcher() *StatsMatcher {
   250  	if x != nil {
   251  		return x.StatsMatcher
   252  	}
   253  	return nil
   254  }
   255  
   256  func (x *StatsConfig) GetHistogramBucketSettings() []*HistogramBucketSettings {
   257  	if x != nil {
   258  		return x.HistogramBucketSettings
   259  	}
   260  	return nil
   261  }
   262  
   263  // Configuration for disabling stat instantiation.
   264  type StatsMatcher struct {
   265  	state         protoimpl.MessageState
   266  	sizeCache     protoimpl.SizeCache
   267  	unknownFields protoimpl.UnknownFields
   268  
   269  	// Types that are assignable to StatsMatcher:
   270  	//	*StatsMatcher_RejectAll
   271  	//	*StatsMatcher_ExclusionList
   272  	//	*StatsMatcher_InclusionList
   273  	StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"`
   274  }
   275  
   276  func (x *StatsMatcher) Reset() {
   277  	*x = StatsMatcher{}
   278  	if protoimpl.UnsafeEnabled {
   279  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[2]
   280  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   281  		ms.StoreMessageInfo(mi)
   282  	}
   283  }
   284  
   285  func (x *StatsMatcher) String() string {
   286  	return protoimpl.X.MessageStringOf(x)
   287  }
   288  
   289  func (*StatsMatcher) ProtoMessage() {}
   290  
   291  func (x *StatsMatcher) ProtoReflect() protoreflect.Message {
   292  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[2]
   293  	if protoimpl.UnsafeEnabled && x != nil {
   294  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   295  		if ms.LoadMessageInfo() == nil {
   296  			ms.StoreMessageInfo(mi)
   297  		}
   298  		return ms
   299  	}
   300  	return mi.MessageOf(x)
   301  }
   302  
   303  // Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead.
   304  func (*StatsMatcher) Descriptor() ([]byte, []int) {
   305  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{2}
   306  }
   307  
   308  func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher {
   309  	if m != nil {
   310  		return m.StatsMatcher
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *StatsMatcher) GetRejectAll() bool {
   316  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_RejectAll); ok {
   317  		return x.RejectAll
   318  	}
   319  	return false
   320  }
   321  
   322  func (x *StatsMatcher) GetExclusionList() *v3.ListStringMatcher {
   323  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_ExclusionList); ok {
   324  		return x.ExclusionList
   325  	}
   326  	return nil
   327  }
   328  
   329  func (x *StatsMatcher) GetInclusionList() *v3.ListStringMatcher {
   330  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_InclusionList); ok {
   331  		return x.InclusionList
   332  	}
   333  	return nil
   334  }
   335  
   336  type isStatsMatcher_StatsMatcher interface {
   337  	isStatsMatcher_StatsMatcher()
   338  }
   339  
   340  type StatsMatcher_RejectAll struct {
   341  	// If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
   342  	// stats are enabled.
   343  	RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"`
   344  }
   345  
   346  type StatsMatcher_ExclusionList struct {
   347  	// Exclusive match. All stats are enabled except for those matching one of the supplied
   348  	// StringMatcher protos.
   349  	ExclusionList *v3.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"`
   350  }
   351  
   352  type StatsMatcher_InclusionList struct {
   353  	// Inclusive match. No stats are enabled except for those matching one of the supplied
   354  	// StringMatcher protos.
   355  	InclusionList *v3.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"`
   356  }
   357  
   358  func (*StatsMatcher_RejectAll) isStatsMatcher_StatsMatcher() {}
   359  
   360  func (*StatsMatcher_ExclusionList) isStatsMatcher_StatsMatcher() {}
   361  
   362  func (*StatsMatcher_InclusionList) isStatsMatcher_StatsMatcher() {}
   363  
   364  // Designates a tag name and value pair. The value may be either a fixed value
   365  // or a regex providing the value via capture groups. The specified tag will be
   366  // unconditionally set if a fixed value, otherwise it will only be set if one
   367  // or more capture groups in the regex match.
   368  type TagSpecifier struct {
   369  	state         protoimpl.MessageState
   370  	sizeCache     protoimpl.SizeCache
   371  	unknownFields protoimpl.UnknownFields
   372  
   373  	// Attaches an identifier to the tag values to identify the tag being in the
   374  	// sink. Envoy has a set of default names and regexes to extract dynamic
   375  	// portions of existing stats, which can be found in :repo:`well_known_names.h
   376  	// <source/common/config/well_known_names.h>` in the Envoy repository. If a :ref:`tag_name
   377  	// <envoy_api_field_config.metrics.v3.TagSpecifier.tag_name>` is provided in the config and
   378  	// neither :ref:`regex <envoy_api_field_config.metrics.v3.TagSpecifier.regex>` or
   379  	// :ref:`fixed_value <envoy_api_field_config.metrics.v3.TagSpecifier.fixed_value>` were specified,
   380  	// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
   381  	//
   382  	// .. note::
   383  	//
   384  	//   It is invalid to specify the same tag name twice in a config.
   385  	TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
   386  	// Types that are assignable to TagValue:
   387  	//	*TagSpecifier_Regex
   388  	//	*TagSpecifier_FixedValue
   389  	TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"`
   390  }
   391  
   392  func (x *TagSpecifier) Reset() {
   393  	*x = TagSpecifier{}
   394  	if protoimpl.UnsafeEnabled {
   395  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[3]
   396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   397  		ms.StoreMessageInfo(mi)
   398  	}
   399  }
   400  
   401  func (x *TagSpecifier) String() string {
   402  	return protoimpl.X.MessageStringOf(x)
   403  }
   404  
   405  func (*TagSpecifier) ProtoMessage() {}
   406  
   407  func (x *TagSpecifier) ProtoReflect() protoreflect.Message {
   408  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[3]
   409  	if protoimpl.UnsafeEnabled && x != nil {
   410  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   411  		if ms.LoadMessageInfo() == nil {
   412  			ms.StoreMessageInfo(mi)
   413  		}
   414  		return ms
   415  	}
   416  	return mi.MessageOf(x)
   417  }
   418  
   419  // Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead.
   420  func (*TagSpecifier) Descriptor() ([]byte, []int) {
   421  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{3}
   422  }
   423  
   424  func (x *TagSpecifier) GetTagName() string {
   425  	if x != nil {
   426  		return x.TagName
   427  	}
   428  	return ""
   429  }
   430  
   431  func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue {
   432  	if m != nil {
   433  		return m.TagValue
   434  	}
   435  	return nil
   436  }
   437  
   438  func (x *TagSpecifier) GetRegex() string {
   439  	if x, ok := x.GetTagValue().(*TagSpecifier_Regex); ok {
   440  		return x.Regex
   441  	}
   442  	return ""
   443  }
   444  
   445  func (x *TagSpecifier) GetFixedValue() string {
   446  	if x, ok := x.GetTagValue().(*TagSpecifier_FixedValue); ok {
   447  		return x.FixedValue
   448  	}
   449  	return ""
   450  }
   451  
   452  type isTagSpecifier_TagValue interface {
   453  	isTagSpecifier_TagValue()
   454  }
   455  
   456  type TagSpecifier_Regex struct {
   457  	// Designates a tag to strip from the tag extracted name and provide as a named
   458  	// tag value for all statistics. This will only occur if any part of the name
   459  	// matches the regex provided with one or more capture groups.
   460  	//
   461  	// The first capture group identifies the portion of the name to remove. The
   462  	// second capture group (which will normally be nested inside the first) will
   463  	// designate the value of the tag for the statistic. If no second capture
   464  	// group is provided, the first will also be used to set the value of the tag.
   465  	// All other capture groups will be ignored.
   466  	//
   467  	// Example 1. a stat name ``cluster.foo_cluster.upstream_rq_timeout`` and
   468  	// one tag specifier:
   469  	//
   470  	// .. code-block:: json
   471  	//
   472  	//   {
   473  	//     "tag_name": "envoy.cluster_name",
   474  	//     "regex": "^cluster\\.((.+?)\\.)"
   475  	//   }
   476  	//
   477  	// Note that the regex will remove ``foo_cluster.`` making the tag extracted
   478  	// name ``cluster.upstream_rq_timeout`` and the tag value for
   479  	// ``envoy.cluster_name`` will be ``foo_cluster`` (note: there will be no
   480  	// ``.`` character because of the second capture group).
   481  	//
   482  	// Example 2. a stat name
   483  	// ``http.connection_manager_1.user_agent.ios.downstream_cx_total`` and two
   484  	// tag specifiers:
   485  	//
   486  	// .. code-block:: json
   487  	//
   488  	//   [
   489  	//     {
   490  	//       "tag_name": "envoy.http_user_agent",
   491  	//       "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$"
   492  	//     },
   493  	//     {
   494  	//       "tag_name": "envoy.http_conn_manager_prefix",
   495  	//       "regex": "^http\\.((.*?)\\.)"
   496  	//     }
   497  	//   ]
   498  	//
   499  	// The two regexes of the specifiers will be processed in the definition order.
   500  	//
   501  	// The first regex will remove ``ios.``, leaving the tag extracted name
   502  	// ``http.connection_manager_1.user_agent.downstream_cx_total``. The tag
   503  	// ``envoy.http_user_agent`` will be added with tag value ``ios``.
   504  	//
   505  	// The second regex will remove ``connection_manager_1.`` from the tag
   506  	// extracted name produced by the first regex
   507  	// ``http.connection_manager_1.user_agent.downstream_cx_total``, leaving
   508  	// ``http.user_agent.downstream_cx_total`` as the tag extracted name. The tag
   509  	// ``envoy.http_conn_manager_prefix`` will be added with the tag value
   510  	// ``connection_manager_1``.
   511  	Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
   512  }
   513  
   514  type TagSpecifier_FixedValue struct {
   515  	// Specifies a fixed tag value for the ``tag_name``.
   516  	FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"`
   517  }
   518  
   519  func (*TagSpecifier_Regex) isTagSpecifier_TagValue() {}
   520  
   521  func (*TagSpecifier_FixedValue) isTagSpecifier_TagValue() {}
   522  
   523  // Specifies a matcher for stats and the buckets that matching stats should use.
   524  type HistogramBucketSettings struct {
   525  	state         protoimpl.MessageState
   526  	sizeCache     protoimpl.SizeCache
   527  	unknownFields protoimpl.UnknownFields
   528  
   529  	// The stats that this rule applies to. The match is applied to the original stat name
   530  	// before tag-extraction, for example `cluster.exampleclustername.upstream_cx_length_ms`.
   531  	Match *v3.StringMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
   532  	// Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique.
   533  	// The order of the buckets does not matter.
   534  	Buckets []float64 `protobuf:"fixed64,2,rep,packed,name=buckets,proto3" json:"buckets,omitempty"`
   535  }
   536  
   537  func (x *HistogramBucketSettings) Reset() {
   538  	*x = HistogramBucketSettings{}
   539  	if protoimpl.UnsafeEnabled {
   540  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[4]
   541  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   542  		ms.StoreMessageInfo(mi)
   543  	}
   544  }
   545  
   546  func (x *HistogramBucketSettings) String() string {
   547  	return protoimpl.X.MessageStringOf(x)
   548  }
   549  
   550  func (*HistogramBucketSettings) ProtoMessage() {}
   551  
   552  func (x *HistogramBucketSettings) ProtoReflect() protoreflect.Message {
   553  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[4]
   554  	if protoimpl.UnsafeEnabled && x != nil {
   555  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   556  		if ms.LoadMessageInfo() == nil {
   557  			ms.StoreMessageInfo(mi)
   558  		}
   559  		return ms
   560  	}
   561  	return mi.MessageOf(x)
   562  }
   563  
   564  // Deprecated: Use HistogramBucketSettings.ProtoReflect.Descriptor instead.
   565  func (*HistogramBucketSettings) Descriptor() ([]byte, []int) {
   566  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{4}
   567  }
   568  
   569  func (x *HistogramBucketSettings) GetMatch() *v3.StringMatcher {
   570  	if x != nil {
   571  		return x.Match
   572  	}
   573  	return nil
   574  }
   575  
   576  func (x *HistogramBucketSettings) GetBuckets() []float64 {
   577  	if x != nil {
   578  		return x.Buckets
   579  	}
   580  	return nil
   581  }
   582  
   583  // Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support
   584  // tagged metrics.
   585  // [#extension: envoy.stat_sinks.statsd]
   586  type StatsdSink struct {
   587  	state         protoimpl.MessageState
   588  	sizeCache     protoimpl.SizeCache
   589  	unknownFields protoimpl.UnknownFields
   590  
   591  	// Types that are assignable to StatsdSpecifier:
   592  	//	*StatsdSink_Address
   593  	//	*StatsdSink_TcpClusterName
   594  	StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"`
   595  	// Optional custom prefix for StatsdSink. If
   596  	// specified, this will override the default prefix.
   597  	// For example:
   598  	//
   599  	// .. code-block:: json
   600  	//
   601  	//   {
   602  	//     "prefix" : "envoy-prod"
   603  	//   }
   604  	//
   605  	// will change emitted stats to
   606  	//
   607  	// .. code-block:: cpp
   608  	//
   609  	//   envoy-prod.test_counter:1|c
   610  	//   envoy-prod.test_timer:5|ms
   611  	//
   612  	// Note that the default prefix, "envoy", will be used if a prefix is not
   613  	// specified.
   614  	//
   615  	// Stats with default prefix:
   616  	//
   617  	// .. code-block:: cpp
   618  	//
   619  	//   envoy.test_counter:1|c
   620  	//   envoy.test_timer:5|ms
   621  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   622  }
   623  
   624  func (x *StatsdSink) Reset() {
   625  	*x = StatsdSink{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[5]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *StatsdSink) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*StatsdSink) ProtoMessage() {}
   638  
   639  func (x *StatsdSink) ProtoReflect() protoreflect.Message {
   640  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[5]
   641  	if protoimpl.UnsafeEnabled && x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead.
   652  func (*StatsdSink) Descriptor() ([]byte, []int) {
   653  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{5}
   654  }
   655  
   656  func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier {
   657  	if m != nil {
   658  		return m.StatsdSpecifier
   659  	}
   660  	return nil
   661  }
   662  
   663  func (x *StatsdSink) GetAddress() *v31.Address {
   664  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_Address); ok {
   665  		return x.Address
   666  	}
   667  	return nil
   668  }
   669  
   670  func (x *StatsdSink) GetTcpClusterName() string {
   671  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_TcpClusterName); ok {
   672  		return x.TcpClusterName
   673  	}
   674  	return ""
   675  }
   676  
   677  func (x *StatsdSink) GetPrefix() string {
   678  	if x != nil {
   679  		return x.Prefix
   680  	}
   681  	return ""
   682  }
   683  
   684  type isStatsdSink_StatsdSpecifier interface {
   685  	isStatsdSink_StatsdSpecifier()
   686  }
   687  
   688  type StatsdSink_Address struct {
   689  	// The UDP address of a running `statsd <https://github.com/etsy/statsd>`_
   690  	// compliant listener. If specified, statistics will be flushed to this
   691  	// address.
   692  	Address *v31.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   693  }
   694  
   695  type StatsdSink_TcpClusterName struct {
   696  	// The name of a cluster that is running a TCP `statsd
   697  	// <https://github.com/etsy/statsd>`_ compliant listener. If specified,
   698  	// Envoy will connect to this cluster to flush statistics.
   699  	TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"`
   700  }
   701  
   702  func (*StatsdSink_Address) isStatsdSink_StatsdSpecifier() {}
   703  
   704  func (*StatsdSink_TcpClusterName) isStatsdSink_StatsdSpecifier() {}
   705  
   706  // Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
   707  // The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_
   708  // compatible tags. Tags are configurable via :ref:`StatsConfig
   709  // <envoy_api_msg_config.metrics.v3.StatsConfig>`.
   710  // [#extension: envoy.stat_sinks.dog_statsd]
   711  type DogStatsdSink struct {
   712  	state         protoimpl.MessageState
   713  	sizeCache     protoimpl.SizeCache
   714  	unknownFields protoimpl.UnknownFields
   715  
   716  	// Types that are assignable to DogStatsdSpecifier:
   717  	//	*DogStatsdSink_Address
   718  	DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"`
   719  	// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
   720  	// <envoy_api_field_config.metrics.v3.StatsdSink.prefix>` for more details.
   721  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   722  	// Optional max datagram size to use when sending UDP messages. By default Envoy
   723  	// will emit one metric per datagram. By specifying a max-size larger than a single
   724  	// metric, Envoy will emit multiple, new-line separated metrics. The max datagram
   725  	// size should not exceed your network's MTU.
   726  	//
   727  	// Note that this value may not be respected if smaller than a single metric.
   728  	MaxBytesPerDatagram *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=max_bytes_per_datagram,json=maxBytesPerDatagram,proto3" json:"max_bytes_per_datagram,omitempty"`
   729  }
   730  
   731  func (x *DogStatsdSink) Reset() {
   732  	*x = DogStatsdSink{}
   733  	if protoimpl.UnsafeEnabled {
   734  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[6]
   735  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   736  		ms.StoreMessageInfo(mi)
   737  	}
   738  }
   739  
   740  func (x *DogStatsdSink) String() string {
   741  	return protoimpl.X.MessageStringOf(x)
   742  }
   743  
   744  func (*DogStatsdSink) ProtoMessage() {}
   745  
   746  func (x *DogStatsdSink) ProtoReflect() protoreflect.Message {
   747  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[6]
   748  	if protoimpl.UnsafeEnabled && x != nil {
   749  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   750  		if ms.LoadMessageInfo() == nil {
   751  			ms.StoreMessageInfo(mi)
   752  		}
   753  		return ms
   754  	}
   755  	return mi.MessageOf(x)
   756  }
   757  
   758  // Deprecated: Use DogStatsdSink.ProtoReflect.Descriptor instead.
   759  func (*DogStatsdSink) Descriptor() ([]byte, []int) {
   760  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{6}
   761  }
   762  
   763  func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier {
   764  	if m != nil {
   765  		return m.DogStatsdSpecifier
   766  	}
   767  	return nil
   768  }
   769  
   770  func (x *DogStatsdSink) GetAddress() *v31.Address {
   771  	if x, ok := x.GetDogStatsdSpecifier().(*DogStatsdSink_Address); ok {
   772  		return x.Address
   773  	}
   774  	return nil
   775  }
   776  
   777  func (x *DogStatsdSink) GetPrefix() string {
   778  	if x != nil {
   779  		return x.Prefix
   780  	}
   781  	return ""
   782  }
   783  
   784  func (x *DogStatsdSink) GetMaxBytesPerDatagram() *wrappers.UInt64Value {
   785  	if x != nil {
   786  		return x.MaxBytesPerDatagram
   787  	}
   788  	return nil
   789  }
   790  
   791  type isDogStatsdSink_DogStatsdSpecifier interface {
   792  	isDogStatsdSink_DogStatsdSpecifier()
   793  }
   794  
   795  type DogStatsdSink_Address struct {
   796  	// The UDP address of a running DogStatsD compliant listener. If specified,
   797  	// statistics will be flushed to this address.
   798  	Address *v31.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   799  }
   800  
   801  func (*DogStatsdSink_Address) isDogStatsdSink_DogStatsdSpecifier() {}
   802  
   803  // Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
   804  // The sink emits stats in `text/event-stream
   805  // <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_
   806  // formatted stream for use by `Hystrix dashboard
   807  // <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
   808  //
   809  // Note that only a single HystrixSink should be configured.
   810  //
   811  // Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
   812  // [#extension: envoy.stat_sinks.hystrix]
   813  type HystrixSink struct {
   814  	state         protoimpl.MessageState
   815  	sizeCache     protoimpl.SizeCache
   816  	unknownFields protoimpl.UnknownFields
   817  
   818  	// The number of buckets the rolling statistical window is divided into.
   819  	//
   820  	// Each time the sink is flushed, all relevant Envoy statistics are sampled and
   821  	// added to the rolling window (removing the oldest samples in the window
   822  	// in the process). The sink then outputs the aggregate statistics across the
   823  	// current rolling window to the event stream(s).
   824  	//
   825  	// rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
   826  	//
   827  	// More detailed explanation can be found in `Hystrix wiki
   828  	// <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.
   829  	NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"`
   830  }
   831  
   832  func (x *HystrixSink) Reset() {
   833  	*x = HystrixSink{}
   834  	if protoimpl.UnsafeEnabled {
   835  		mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[7]
   836  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   837  		ms.StoreMessageInfo(mi)
   838  	}
   839  }
   840  
   841  func (x *HystrixSink) String() string {
   842  	return protoimpl.X.MessageStringOf(x)
   843  }
   844  
   845  func (*HystrixSink) ProtoMessage() {}
   846  
   847  func (x *HystrixSink) ProtoReflect() protoreflect.Message {
   848  	mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[7]
   849  	if protoimpl.UnsafeEnabled && x != nil {
   850  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   851  		if ms.LoadMessageInfo() == nil {
   852  			ms.StoreMessageInfo(mi)
   853  		}
   854  		return ms
   855  	}
   856  	return mi.MessageOf(x)
   857  }
   858  
   859  // Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead.
   860  func (*HystrixSink) Descriptor() ([]byte, []int) {
   861  	return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{7}
   862  }
   863  
   864  func (x *HystrixSink) GetNumBuckets() int64 {
   865  	if x != nil {
   866  		return x.NumBuckets
   867  	}
   868  	return 0
   869  }
   870  
   871  var File_envoy_config_metrics_v3_stats_proto protoreflect.FileDescriptor
   872  
   873  var file_envoy_config_metrics_v3_stats_proto_rawDesc = []byte{
   874  	0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d,
   875  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
   876  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
   877  	0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x22,
   878  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72,
   879  	0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   880  	0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d,
   881  	0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
   882  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
   883  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   884  	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   885  	0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   886  	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   887  	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   888  	0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   889  	0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21,
   890  	0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
   891  	0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   892  	0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69,
   893  	0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x53,
   894  	0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
   895  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c,
   896  	0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01,
   897  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   898  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65,
   899  	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x1e, 0x68, 0x69, 0x64, 0x64, 0x65,
   900  	0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
   901  	0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
   902  	0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   903  	0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1b,
   904  	0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65,
   905  	0x63, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88,
   906  	0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   907  	0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74,
   908  	0x73, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
   909  	0x74, 0x79, 0x70, 0x65, 0x22, 0x86, 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f,
   910  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61,
   911  	0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   912  	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
   913  	0x76, 0x33, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52,
   914  	0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x73,
   915  	0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61,
   916  	0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   917  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
   918  	0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x66, 0x61,
   919  	0x75, 0x6c, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73,
   920  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
   921  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65,
   922  	0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61,
   923  	0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63,
   924  	0x68, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x19, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d,
   925  	0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
   926  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
   927  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33,
   928  	0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
   929  	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67,
   930  	0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
   931  	0x73, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   932  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76,
   933  	0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x98, 0x02,
   934  	0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f,
   935  	0x0a, 0x0a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01,
   936  	0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x12,
   937  	0x51, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73,
   938  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   939  	0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e,
   940  	0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
   941  	0x72, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
   942  	0x73, 0x74, 0x12, 0x51, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
   943  	0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76,
   944  	0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e,
   945  	0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
   946  	0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
   947  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e,
   948  	0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69,
   949  	0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
   950  	0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63,
   951  	0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x67,
   952  	0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67,
   953  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67,
   954  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20,
   955  	0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x48, 0x00, 0x52,
   956  	0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f,
   957  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x66,
   958  	0x69, 0x78, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26,
   959  	0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d,
   960  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65,
   961  	0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61,
   962  	0x6c, 0x75, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x17, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
   963  	0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
   964  	0x44, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
   965  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63,
   966  	0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
   967  	0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05,
   968  	0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
   969  	0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x92, 0x01, 0x11, 0x08, 0x01,
   970  	0x18, 0x01, 0x22, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
   971  	0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61,
   972  	0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
   973  	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   974  	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
   975  	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
   976  	0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
   977  	0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e,
   978  	0x74, 0x63, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16,
   979  	0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
   980  	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65,
   981  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72,
   982  	0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e,
   983  	0x6b, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63,
   984  	0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x8f, 0x02, 0x0a, 0x0d, 0x44,
   985  	0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x07,
   986  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
   987  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
   988  	0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07,
   989  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69,
   990  	0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
   991  	0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72,
   992  	0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
   993  	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   994  	0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa,
   995  	0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73,
   996  	0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x3a, 0x2c, 0x9a, 0xc5, 0x88,
   997  	0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   998  	0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x67, 0x53,
   999  	0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x1b, 0x0a, 0x14, 0x64, 0x6f, 0x67,
  1000  	0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
  1001  	0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x5a, 0x0a, 0x0b,
  1002  	0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x6e,
  1003  	0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
  1004  	0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x2a, 0x9a, 0xc5,
  1005  	0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
  1006  	0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x73,
  1007  	0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x3d, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65,
  1008  	0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
  1009  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76,
  1010  	0x33, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba,
  1011  	0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1012  }
  1013  
  1014  var (
  1015  	file_envoy_config_metrics_v3_stats_proto_rawDescOnce sync.Once
  1016  	file_envoy_config_metrics_v3_stats_proto_rawDescData = file_envoy_config_metrics_v3_stats_proto_rawDesc
  1017  )
  1018  
  1019  func file_envoy_config_metrics_v3_stats_proto_rawDescGZIP() []byte {
  1020  	file_envoy_config_metrics_v3_stats_proto_rawDescOnce.Do(func() {
  1021  		file_envoy_config_metrics_v3_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v3_stats_proto_rawDescData)
  1022  	})
  1023  	return file_envoy_config_metrics_v3_stats_proto_rawDescData
  1024  }
  1025  
  1026  var file_envoy_config_metrics_v3_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
  1027  var file_envoy_config_metrics_v3_stats_proto_goTypes = []interface{}{
  1028  	(*StatsSink)(nil),               // 0: envoy.config.metrics.v3.StatsSink
  1029  	(*StatsConfig)(nil),             // 1: envoy.config.metrics.v3.StatsConfig
  1030  	(*StatsMatcher)(nil),            // 2: envoy.config.metrics.v3.StatsMatcher
  1031  	(*TagSpecifier)(nil),            // 3: envoy.config.metrics.v3.TagSpecifier
  1032  	(*HistogramBucketSettings)(nil), // 4: envoy.config.metrics.v3.HistogramBucketSettings
  1033  	(*StatsdSink)(nil),              // 5: envoy.config.metrics.v3.StatsdSink
  1034  	(*DogStatsdSink)(nil),           // 6: envoy.config.metrics.v3.DogStatsdSink
  1035  	(*HystrixSink)(nil),             // 7: envoy.config.metrics.v3.HystrixSink
  1036  	(*any.Any)(nil),                 // 8: google.protobuf.Any
  1037  	(*_struct.Struct)(nil),          // 9: google.protobuf.Struct
  1038  	(*wrappers.BoolValue)(nil),      // 10: google.protobuf.BoolValue
  1039  	(*v3.ListStringMatcher)(nil),    // 11: envoy.type.matcher.v3.ListStringMatcher
  1040  	(*v3.StringMatcher)(nil),        // 12: envoy.type.matcher.v3.StringMatcher
  1041  	(*v31.Address)(nil),             // 13: envoy.config.core.v3.Address
  1042  	(*wrappers.UInt64Value)(nil),    // 14: google.protobuf.UInt64Value
  1043  }
  1044  var file_envoy_config_metrics_v3_stats_proto_depIdxs = []int32{
  1045  	8,  // 0: envoy.config.metrics.v3.StatsSink.typed_config:type_name -> google.protobuf.Any
  1046  	9,  // 1: envoy.config.metrics.v3.StatsSink.hidden_envoy_deprecated_config:type_name -> google.protobuf.Struct
  1047  	3,  // 2: envoy.config.metrics.v3.StatsConfig.stats_tags:type_name -> envoy.config.metrics.v3.TagSpecifier
  1048  	10, // 3: envoy.config.metrics.v3.StatsConfig.use_all_default_tags:type_name -> google.protobuf.BoolValue
  1049  	2,  // 4: envoy.config.metrics.v3.StatsConfig.stats_matcher:type_name -> envoy.config.metrics.v3.StatsMatcher
  1050  	4,  // 5: envoy.config.metrics.v3.StatsConfig.histogram_bucket_settings:type_name -> envoy.config.metrics.v3.HistogramBucketSettings
  1051  	11, // 6: envoy.config.metrics.v3.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher
  1052  	11, // 7: envoy.config.metrics.v3.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher
  1053  	12, // 8: envoy.config.metrics.v3.HistogramBucketSettings.match:type_name -> envoy.type.matcher.v3.StringMatcher
  1054  	13, // 9: envoy.config.metrics.v3.StatsdSink.address:type_name -> envoy.config.core.v3.Address
  1055  	13, // 10: envoy.config.metrics.v3.DogStatsdSink.address:type_name -> envoy.config.core.v3.Address
  1056  	14, // 11: envoy.config.metrics.v3.DogStatsdSink.max_bytes_per_datagram:type_name -> google.protobuf.UInt64Value
  1057  	12, // [12:12] is the sub-list for method output_type
  1058  	12, // [12:12] is the sub-list for method input_type
  1059  	12, // [12:12] is the sub-list for extension type_name
  1060  	12, // [12:12] is the sub-list for extension extendee
  1061  	0,  // [0:12] is the sub-list for field type_name
  1062  }
  1063  
  1064  func init() { file_envoy_config_metrics_v3_stats_proto_init() }
  1065  func file_envoy_config_metrics_v3_stats_proto_init() {
  1066  	if File_envoy_config_metrics_v3_stats_proto != nil {
  1067  		return
  1068  	}
  1069  	if !protoimpl.UnsafeEnabled {
  1070  		file_envoy_config_metrics_v3_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1071  			switch v := v.(*StatsSink); i {
  1072  			case 0:
  1073  				return &v.state
  1074  			case 1:
  1075  				return &v.sizeCache
  1076  			case 2:
  1077  				return &v.unknownFields
  1078  			default:
  1079  				return nil
  1080  			}
  1081  		}
  1082  		file_envoy_config_metrics_v3_stats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1083  			switch v := v.(*StatsConfig); i {
  1084  			case 0:
  1085  				return &v.state
  1086  			case 1:
  1087  				return &v.sizeCache
  1088  			case 2:
  1089  				return &v.unknownFields
  1090  			default:
  1091  				return nil
  1092  			}
  1093  		}
  1094  		file_envoy_config_metrics_v3_stats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1095  			switch v := v.(*StatsMatcher); i {
  1096  			case 0:
  1097  				return &v.state
  1098  			case 1:
  1099  				return &v.sizeCache
  1100  			case 2:
  1101  				return &v.unknownFields
  1102  			default:
  1103  				return nil
  1104  			}
  1105  		}
  1106  		file_envoy_config_metrics_v3_stats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1107  			switch v := v.(*TagSpecifier); i {
  1108  			case 0:
  1109  				return &v.state
  1110  			case 1:
  1111  				return &v.sizeCache
  1112  			case 2:
  1113  				return &v.unknownFields
  1114  			default:
  1115  				return nil
  1116  			}
  1117  		}
  1118  		file_envoy_config_metrics_v3_stats_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1119  			switch v := v.(*HistogramBucketSettings); i {
  1120  			case 0:
  1121  				return &v.state
  1122  			case 1:
  1123  				return &v.sizeCache
  1124  			case 2:
  1125  				return &v.unknownFields
  1126  			default:
  1127  				return nil
  1128  			}
  1129  		}
  1130  		file_envoy_config_metrics_v3_stats_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1131  			switch v := v.(*StatsdSink); i {
  1132  			case 0:
  1133  				return &v.state
  1134  			case 1:
  1135  				return &v.sizeCache
  1136  			case 2:
  1137  				return &v.unknownFields
  1138  			default:
  1139  				return nil
  1140  			}
  1141  		}
  1142  		file_envoy_config_metrics_v3_stats_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1143  			switch v := v.(*DogStatsdSink); i {
  1144  			case 0:
  1145  				return &v.state
  1146  			case 1:
  1147  				return &v.sizeCache
  1148  			case 2:
  1149  				return &v.unknownFields
  1150  			default:
  1151  				return nil
  1152  			}
  1153  		}
  1154  		file_envoy_config_metrics_v3_stats_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1155  			switch v := v.(*HystrixSink); i {
  1156  			case 0:
  1157  				return &v.state
  1158  			case 1:
  1159  				return &v.sizeCache
  1160  			case 2:
  1161  				return &v.unknownFields
  1162  			default:
  1163  				return nil
  1164  			}
  1165  		}
  1166  	}
  1167  	file_envoy_config_metrics_v3_stats_proto_msgTypes[0].OneofWrappers = []interface{}{
  1168  		(*StatsSink_TypedConfig)(nil),
  1169  		(*StatsSink_HiddenEnvoyDeprecatedConfig)(nil),
  1170  	}
  1171  	file_envoy_config_metrics_v3_stats_proto_msgTypes[2].OneofWrappers = []interface{}{
  1172  		(*StatsMatcher_RejectAll)(nil),
  1173  		(*StatsMatcher_ExclusionList)(nil),
  1174  		(*StatsMatcher_InclusionList)(nil),
  1175  	}
  1176  	file_envoy_config_metrics_v3_stats_proto_msgTypes[3].OneofWrappers = []interface{}{
  1177  		(*TagSpecifier_Regex)(nil),
  1178  		(*TagSpecifier_FixedValue)(nil),
  1179  	}
  1180  	file_envoy_config_metrics_v3_stats_proto_msgTypes[5].OneofWrappers = []interface{}{
  1181  		(*StatsdSink_Address)(nil),
  1182  		(*StatsdSink_TcpClusterName)(nil),
  1183  	}
  1184  	file_envoy_config_metrics_v3_stats_proto_msgTypes[6].OneofWrappers = []interface{}{
  1185  		(*DogStatsdSink_Address)(nil),
  1186  	}
  1187  	type x struct{}
  1188  	out := protoimpl.TypeBuilder{
  1189  		File: protoimpl.DescBuilder{
  1190  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1191  			RawDescriptor: file_envoy_config_metrics_v3_stats_proto_rawDesc,
  1192  			NumEnums:      0,
  1193  			NumMessages:   8,
  1194  			NumExtensions: 0,
  1195  			NumServices:   0,
  1196  		},
  1197  		GoTypes:           file_envoy_config_metrics_v3_stats_proto_goTypes,
  1198  		DependencyIndexes: file_envoy_config_metrics_v3_stats_proto_depIdxs,
  1199  		MessageInfos:      file_envoy_config_metrics_v3_stats_proto_msgTypes,
  1200  	}.Build()
  1201  	File_envoy_config_metrics_v3_stats_proto = out.File
  1202  	file_envoy_config_metrics_v3_stats_proto_rawDesc = nil
  1203  	file_envoy_config_metrics_v3_stats_proto_goTypes = nil
  1204  	file_envoy_config_metrics_v3_stats_proto_depIdxs = nil
  1205  }
  1206  

View as plain text