gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/go-control-plane/envoy/config/metrics/v2/stats.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.16.0
     5  // source: envoy/config/metrics/v2/stats.proto
     6  
     7  package envoy_config_metrics_v2
     8  
     9  import (
    10  	_ "github.com/cncf/xds/go/udpa/annotations"
    11  	core "gitee.com/ks-custle/core-gm/go-control-plane/envoy/api/v2/core"
    12  	matcher "gitee.com/ks-custle/core-gm/go-control-plane/envoy/type/matcher"
    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.v2.StatsdSink>`
    45  	// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v2.DogStatsdSink>`
    46  	// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v2.MetricsServiceConfig>`
    47  	// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v2.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.v2.StatsdSink>` for an example.
    53  	//
    54  	// Types that are assignable to ConfigType:
    55  	//	*StatsSink_Config
    56  	//	*StatsSink_TypedConfig
    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_v2_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_v2_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_v2_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  // Deprecated: Do not use.
   107  func (x *StatsSink) GetConfig() *_struct.Struct {
   108  	if x, ok := x.GetConfigType().(*StatsSink_Config); ok {
   109  		return x.Config
   110  	}
   111  	return nil
   112  }
   113  
   114  func (x *StatsSink) GetTypedConfig() *any.Any {
   115  	if x, ok := x.GetConfigType().(*StatsSink_TypedConfig); ok {
   116  		return x.TypedConfig
   117  	}
   118  	return nil
   119  }
   120  
   121  type isStatsSink_ConfigType interface {
   122  	isStatsSink_ConfigType()
   123  }
   124  
   125  type StatsSink_Config struct {
   126  	// Deprecated: Do not use.
   127  	Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
   128  }
   129  
   130  type StatsSink_TypedConfig struct {
   131  	TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
   132  }
   133  
   134  func (*StatsSink_Config) isStatsSink_ConfigType() {}
   135  
   136  func (*StatsSink_TypedConfig) 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.v2.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.v2.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  }
   174  
   175  func (x *StatsConfig) Reset() {
   176  	*x = StatsConfig{}
   177  	if protoimpl.UnsafeEnabled {
   178  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1]
   179  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   180  		ms.StoreMessageInfo(mi)
   181  	}
   182  }
   183  
   184  func (x *StatsConfig) String() string {
   185  	return protoimpl.X.MessageStringOf(x)
   186  }
   187  
   188  func (*StatsConfig) ProtoMessage() {}
   189  
   190  func (x *StatsConfig) ProtoReflect() protoreflect.Message {
   191  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1]
   192  	if protoimpl.UnsafeEnabled && x != nil {
   193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   194  		if ms.LoadMessageInfo() == nil {
   195  			ms.StoreMessageInfo(mi)
   196  		}
   197  		return ms
   198  	}
   199  	return mi.MessageOf(x)
   200  }
   201  
   202  // Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead.
   203  func (*StatsConfig) Descriptor() ([]byte, []int) {
   204  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{1}
   205  }
   206  
   207  func (x *StatsConfig) GetStatsTags() []*TagSpecifier {
   208  	if x != nil {
   209  		return x.StatsTags
   210  	}
   211  	return nil
   212  }
   213  
   214  func (x *StatsConfig) GetUseAllDefaultTags() *wrappers.BoolValue {
   215  	if x != nil {
   216  		return x.UseAllDefaultTags
   217  	}
   218  	return nil
   219  }
   220  
   221  func (x *StatsConfig) GetStatsMatcher() *StatsMatcher {
   222  	if x != nil {
   223  		return x.StatsMatcher
   224  	}
   225  	return nil
   226  }
   227  
   228  // Configuration for disabling stat instantiation.
   229  type StatsMatcher struct {
   230  	state         protoimpl.MessageState
   231  	sizeCache     protoimpl.SizeCache
   232  	unknownFields protoimpl.UnknownFields
   233  
   234  	// Types that are assignable to StatsMatcher:
   235  	//	*StatsMatcher_RejectAll
   236  	//	*StatsMatcher_ExclusionList
   237  	//	*StatsMatcher_InclusionList
   238  	StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"`
   239  }
   240  
   241  func (x *StatsMatcher) Reset() {
   242  	*x = StatsMatcher{}
   243  	if protoimpl.UnsafeEnabled {
   244  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2]
   245  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   246  		ms.StoreMessageInfo(mi)
   247  	}
   248  }
   249  
   250  func (x *StatsMatcher) String() string {
   251  	return protoimpl.X.MessageStringOf(x)
   252  }
   253  
   254  func (*StatsMatcher) ProtoMessage() {}
   255  
   256  func (x *StatsMatcher) ProtoReflect() protoreflect.Message {
   257  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2]
   258  	if protoimpl.UnsafeEnabled && x != nil {
   259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   260  		if ms.LoadMessageInfo() == nil {
   261  			ms.StoreMessageInfo(mi)
   262  		}
   263  		return ms
   264  	}
   265  	return mi.MessageOf(x)
   266  }
   267  
   268  // Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead.
   269  func (*StatsMatcher) Descriptor() ([]byte, []int) {
   270  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{2}
   271  }
   272  
   273  func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher {
   274  	if m != nil {
   275  		return m.StatsMatcher
   276  	}
   277  	return nil
   278  }
   279  
   280  func (x *StatsMatcher) GetRejectAll() bool {
   281  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_RejectAll); ok {
   282  		return x.RejectAll
   283  	}
   284  	return false
   285  }
   286  
   287  func (x *StatsMatcher) GetExclusionList() *matcher.ListStringMatcher {
   288  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_ExclusionList); ok {
   289  		return x.ExclusionList
   290  	}
   291  	return nil
   292  }
   293  
   294  func (x *StatsMatcher) GetInclusionList() *matcher.ListStringMatcher {
   295  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_InclusionList); ok {
   296  		return x.InclusionList
   297  	}
   298  	return nil
   299  }
   300  
   301  type isStatsMatcher_StatsMatcher interface {
   302  	isStatsMatcher_StatsMatcher()
   303  }
   304  
   305  type StatsMatcher_RejectAll struct {
   306  	// If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
   307  	// stats are enabled.
   308  	RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"`
   309  }
   310  
   311  type StatsMatcher_ExclusionList struct {
   312  	// Exclusive match. All stats are enabled except for those matching one of the supplied
   313  	// StringMatcher protos.
   314  	ExclusionList *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"`
   315  }
   316  
   317  type StatsMatcher_InclusionList struct {
   318  	// Inclusive match. No stats are enabled except for those matching one of the supplied
   319  	// StringMatcher protos.
   320  	InclusionList *matcher.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"`
   321  }
   322  
   323  func (*StatsMatcher_RejectAll) isStatsMatcher_StatsMatcher() {}
   324  
   325  func (*StatsMatcher_ExclusionList) isStatsMatcher_StatsMatcher() {}
   326  
   327  func (*StatsMatcher_InclusionList) isStatsMatcher_StatsMatcher() {}
   328  
   329  // Designates a tag name and value pair. The value may be either a fixed value
   330  // or a regex providing the value via capture groups. The specified tag will be
   331  // unconditionally set if a fixed value, otherwise it will only be set if one
   332  // or more capture groups in the regex match.
   333  type TagSpecifier struct {
   334  	state         protoimpl.MessageState
   335  	sizeCache     protoimpl.SizeCache
   336  	unknownFields protoimpl.UnknownFields
   337  
   338  	// Attaches an identifier to the tag values to identify the tag being in the
   339  	// sink. Envoy has a set of default names and regexes to extract dynamic
   340  	// portions of existing stats, which can be found in :repo:`well_known_names.h
   341  	// <source/common/config/well_known_names.h>` in the Envoy repository. If a :ref:`tag_name
   342  	// <envoy_api_field_config.metrics.v2.TagSpecifier.tag_name>` is provided in the config and
   343  	// neither :ref:`regex <envoy_api_field_config.metrics.v2.TagSpecifier.regex>` or
   344  	// :ref:`fixed_value <envoy_api_field_config.metrics.v2.TagSpecifier.fixed_value>` were specified,
   345  	// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
   346  	//
   347  	// .. note::
   348  	//
   349  	//   It is invalid to specify the same tag name twice in a config.
   350  	TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
   351  	// Types that are assignable to TagValue:
   352  	//	*TagSpecifier_Regex
   353  	//	*TagSpecifier_FixedValue
   354  	TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"`
   355  }
   356  
   357  func (x *TagSpecifier) Reset() {
   358  	*x = TagSpecifier{}
   359  	if protoimpl.UnsafeEnabled {
   360  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3]
   361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   362  		ms.StoreMessageInfo(mi)
   363  	}
   364  }
   365  
   366  func (x *TagSpecifier) String() string {
   367  	return protoimpl.X.MessageStringOf(x)
   368  }
   369  
   370  func (*TagSpecifier) ProtoMessage() {}
   371  
   372  func (x *TagSpecifier) ProtoReflect() protoreflect.Message {
   373  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3]
   374  	if protoimpl.UnsafeEnabled && x != nil {
   375  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   376  		if ms.LoadMessageInfo() == nil {
   377  			ms.StoreMessageInfo(mi)
   378  		}
   379  		return ms
   380  	}
   381  	return mi.MessageOf(x)
   382  }
   383  
   384  // Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead.
   385  func (*TagSpecifier) Descriptor() ([]byte, []int) {
   386  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{3}
   387  }
   388  
   389  func (x *TagSpecifier) GetTagName() string {
   390  	if x != nil {
   391  		return x.TagName
   392  	}
   393  	return ""
   394  }
   395  
   396  func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue {
   397  	if m != nil {
   398  		return m.TagValue
   399  	}
   400  	return nil
   401  }
   402  
   403  func (x *TagSpecifier) GetRegex() string {
   404  	if x, ok := x.GetTagValue().(*TagSpecifier_Regex); ok {
   405  		return x.Regex
   406  	}
   407  	return ""
   408  }
   409  
   410  func (x *TagSpecifier) GetFixedValue() string {
   411  	if x, ok := x.GetTagValue().(*TagSpecifier_FixedValue); ok {
   412  		return x.FixedValue
   413  	}
   414  	return ""
   415  }
   416  
   417  type isTagSpecifier_TagValue interface {
   418  	isTagSpecifier_TagValue()
   419  }
   420  
   421  type TagSpecifier_Regex struct {
   422  	// Designates a tag to strip from the tag extracted name and provide as a named
   423  	// tag value for all statistics. This will only occur if any part of the name
   424  	// matches the regex provided with one or more capture groups.
   425  	//
   426  	// The first capture group identifies the portion of the name to remove. The
   427  	// second capture group (which will normally be nested inside the first) will
   428  	// designate the value of the tag for the statistic. If no second capture
   429  	// group is provided, the first will also be used to set the value of the tag.
   430  	// All other capture groups will be ignored.
   431  	//
   432  	// Example 1. a stat name ``cluster.foo_cluster.upstream_rq_timeout`` and
   433  	// one tag specifier:
   434  	//
   435  	// .. code-block:: json
   436  	//
   437  	//   {
   438  	//     "tag_name": "envoy.cluster_name",
   439  	//     "regex": "^cluster\\.((.+?)\\.)"
   440  	//   }
   441  	//
   442  	// Note that the regex will remove ``foo_cluster.`` making the tag extracted
   443  	// name ``cluster.upstream_rq_timeout`` and the tag value for
   444  	// ``envoy.cluster_name`` will be ``foo_cluster`` (note: there will be no
   445  	// ``.`` character because of the second capture group).
   446  	//
   447  	// Example 2. a stat name
   448  	// ``http.connection_manager_1.user_agent.ios.downstream_cx_total`` and two
   449  	// tag specifiers:
   450  	//
   451  	// .. code-block:: json
   452  	//
   453  	//   [
   454  	//     {
   455  	//       "tag_name": "envoy.http_user_agent",
   456  	//       "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$"
   457  	//     },
   458  	//     {
   459  	//       "tag_name": "envoy.http_conn_manager_prefix",
   460  	//       "regex": "^http\\.((.*?)\\.)"
   461  	//     }
   462  	//   ]
   463  	//
   464  	// The two regexes of the specifiers will be processed in the definition order.
   465  	//
   466  	// The first regex will remove ``ios.``, leaving the tag extracted name
   467  	// ``http.connection_manager_1.user_agent.downstream_cx_total``. The tag
   468  	// ``envoy.http_user_agent`` will be added with tag value ``ios``.
   469  	//
   470  	// The second regex will remove ``connection_manager_1.`` from the tag
   471  	// extracted name produced by the first regex
   472  	// ``http.connection_manager_1.user_agent.downstream_cx_total``, leaving
   473  	// ``http.user_agent.downstream_cx_total`` as the tag extracted name. The tag
   474  	// ``envoy.http_conn_manager_prefix`` will be added with the tag value
   475  	// ``connection_manager_1``.
   476  	Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
   477  }
   478  
   479  type TagSpecifier_FixedValue struct {
   480  	// Specifies a fixed tag value for the ``tag_name``.
   481  	FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"`
   482  }
   483  
   484  func (*TagSpecifier_Regex) isTagSpecifier_TagValue() {}
   485  
   486  func (*TagSpecifier_FixedValue) isTagSpecifier_TagValue() {}
   487  
   488  // Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support
   489  // tagged metrics.
   490  // [#extension: envoy.stat_sinks.statsd]
   491  type StatsdSink struct {
   492  	state         protoimpl.MessageState
   493  	sizeCache     protoimpl.SizeCache
   494  	unknownFields protoimpl.UnknownFields
   495  
   496  	// Types that are assignable to StatsdSpecifier:
   497  	//	*StatsdSink_Address
   498  	//	*StatsdSink_TcpClusterName
   499  	StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"`
   500  	// Optional custom prefix for StatsdSink. If
   501  	// specified, this will override the default prefix.
   502  	// For example:
   503  	//
   504  	// .. code-block:: json
   505  	//
   506  	//   {
   507  	//     "prefix" : "envoy-prod"
   508  	//   }
   509  	//
   510  	// will change emitted stats to
   511  	//
   512  	// .. code-block:: cpp
   513  	//
   514  	//   envoy-prod.test_counter:1|c
   515  	//   envoy-prod.test_timer:5|ms
   516  	//
   517  	// Note that the default prefix, "envoy", will be used if a prefix is not
   518  	// specified.
   519  	//
   520  	// Stats with default prefix:
   521  	//
   522  	// .. code-block:: cpp
   523  	//
   524  	//   envoy.test_counter:1|c
   525  	//   envoy.test_timer:5|ms
   526  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   527  }
   528  
   529  func (x *StatsdSink) Reset() {
   530  	*x = StatsdSink{}
   531  	if protoimpl.UnsafeEnabled {
   532  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4]
   533  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   534  		ms.StoreMessageInfo(mi)
   535  	}
   536  }
   537  
   538  func (x *StatsdSink) String() string {
   539  	return protoimpl.X.MessageStringOf(x)
   540  }
   541  
   542  func (*StatsdSink) ProtoMessage() {}
   543  
   544  func (x *StatsdSink) ProtoReflect() protoreflect.Message {
   545  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4]
   546  	if protoimpl.UnsafeEnabled && x != nil {
   547  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   548  		if ms.LoadMessageInfo() == nil {
   549  			ms.StoreMessageInfo(mi)
   550  		}
   551  		return ms
   552  	}
   553  	return mi.MessageOf(x)
   554  }
   555  
   556  // Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead.
   557  func (*StatsdSink) Descriptor() ([]byte, []int) {
   558  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{4}
   559  }
   560  
   561  func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier {
   562  	if m != nil {
   563  		return m.StatsdSpecifier
   564  	}
   565  	return nil
   566  }
   567  
   568  func (x *StatsdSink) GetAddress() *core.Address {
   569  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_Address); ok {
   570  		return x.Address
   571  	}
   572  	return nil
   573  }
   574  
   575  func (x *StatsdSink) GetTcpClusterName() string {
   576  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_TcpClusterName); ok {
   577  		return x.TcpClusterName
   578  	}
   579  	return ""
   580  }
   581  
   582  func (x *StatsdSink) GetPrefix() string {
   583  	if x != nil {
   584  		return x.Prefix
   585  	}
   586  	return ""
   587  }
   588  
   589  type isStatsdSink_StatsdSpecifier interface {
   590  	isStatsdSink_StatsdSpecifier()
   591  }
   592  
   593  type StatsdSink_Address struct {
   594  	// The UDP address of a running `statsd <https://github.com/etsy/statsd>`_
   595  	// compliant listener. If specified, statistics will be flushed to this
   596  	// address.
   597  	Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   598  }
   599  
   600  type StatsdSink_TcpClusterName struct {
   601  	// The name of a cluster that is running a TCP `statsd
   602  	// <https://github.com/etsy/statsd>`_ compliant listener. If specified,
   603  	// Envoy will connect to this cluster to flush statistics.
   604  	TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"`
   605  }
   606  
   607  func (*StatsdSink_Address) isStatsdSink_StatsdSpecifier() {}
   608  
   609  func (*StatsdSink_TcpClusterName) isStatsdSink_StatsdSpecifier() {}
   610  
   611  // Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
   612  // The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_
   613  // compatible tags. Tags are configurable via :ref:`StatsConfig
   614  // <envoy_api_msg_config.metrics.v2.StatsConfig>`.
   615  // [#extension: envoy.stat_sinks.dog_statsd]
   616  type DogStatsdSink struct {
   617  	state         protoimpl.MessageState
   618  	sizeCache     protoimpl.SizeCache
   619  	unknownFields protoimpl.UnknownFields
   620  
   621  	// Types that are assignable to DogStatsdSpecifier:
   622  	//	*DogStatsdSink_Address
   623  	DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"`
   624  	// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
   625  	// <envoy_api_field_config.metrics.v2.StatsdSink.prefix>` for more details.
   626  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   627  }
   628  
   629  func (x *DogStatsdSink) Reset() {
   630  	*x = DogStatsdSink{}
   631  	if protoimpl.UnsafeEnabled {
   632  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[5]
   633  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   634  		ms.StoreMessageInfo(mi)
   635  	}
   636  }
   637  
   638  func (x *DogStatsdSink) String() string {
   639  	return protoimpl.X.MessageStringOf(x)
   640  }
   641  
   642  func (*DogStatsdSink) ProtoMessage() {}
   643  
   644  func (x *DogStatsdSink) ProtoReflect() protoreflect.Message {
   645  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[5]
   646  	if protoimpl.UnsafeEnabled && x != nil {
   647  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   648  		if ms.LoadMessageInfo() == nil {
   649  			ms.StoreMessageInfo(mi)
   650  		}
   651  		return ms
   652  	}
   653  	return mi.MessageOf(x)
   654  }
   655  
   656  // Deprecated: Use DogStatsdSink.ProtoReflect.Descriptor instead.
   657  func (*DogStatsdSink) Descriptor() ([]byte, []int) {
   658  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{5}
   659  }
   660  
   661  func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier {
   662  	if m != nil {
   663  		return m.DogStatsdSpecifier
   664  	}
   665  	return nil
   666  }
   667  
   668  func (x *DogStatsdSink) GetAddress() *core.Address {
   669  	if x, ok := x.GetDogStatsdSpecifier().(*DogStatsdSink_Address); ok {
   670  		return x.Address
   671  	}
   672  	return nil
   673  }
   674  
   675  func (x *DogStatsdSink) GetPrefix() string {
   676  	if x != nil {
   677  		return x.Prefix
   678  	}
   679  	return ""
   680  }
   681  
   682  type isDogStatsdSink_DogStatsdSpecifier interface {
   683  	isDogStatsdSink_DogStatsdSpecifier()
   684  }
   685  
   686  type DogStatsdSink_Address struct {
   687  	// The UDP address of a running DogStatsD compliant listener. If specified,
   688  	// statistics will be flushed to this address.
   689  	Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   690  }
   691  
   692  func (*DogStatsdSink_Address) isDogStatsdSink_DogStatsdSpecifier() {}
   693  
   694  // Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
   695  // The sink emits stats in `text/event-stream
   696  // <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_
   697  // formatted stream for use by `Hystrix dashboard
   698  // <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
   699  //
   700  // Note that only a single HystrixSink should be configured.
   701  //
   702  // Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
   703  // [#extension: envoy.stat_sinks.hystrix]
   704  type HystrixSink struct {
   705  	state         protoimpl.MessageState
   706  	sizeCache     protoimpl.SizeCache
   707  	unknownFields protoimpl.UnknownFields
   708  
   709  	// The number of buckets the rolling statistical window is divided into.
   710  	//
   711  	// Each time the sink is flushed, all relevant Envoy statistics are sampled and
   712  	// added to the rolling window (removing the oldest samples in the window
   713  	// in the process). The sink then outputs the aggregate statistics across the
   714  	// current rolling window to the event stream(s).
   715  	//
   716  	// rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
   717  	//
   718  	// More detailed explanation can be found in `Hystrix wiki
   719  	// <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.
   720  	NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"`
   721  }
   722  
   723  func (x *HystrixSink) Reset() {
   724  	*x = HystrixSink{}
   725  	if protoimpl.UnsafeEnabled {
   726  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6]
   727  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   728  		ms.StoreMessageInfo(mi)
   729  	}
   730  }
   731  
   732  func (x *HystrixSink) String() string {
   733  	return protoimpl.X.MessageStringOf(x)
   734  }
   735  
   736  func (*HystrixSink) ProtoMessage() {}
   737  
   738  func (x *HystrixSink) ProtoReflect() protoreflect.Message {
   739  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6]
   740  	if protoimpl.UnsafeEnabled && x != nil {
   741  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   742  		if ms.LoadMessageInfo() == nil {
   743  			ms.StoreMessageInfo(mi)
   744  		}
   745  		return ms
   746  	}
   747  	return mi.MessageOf(x)
   748  }
   749  
   750  // Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead.
   751  func (*HystrixSink) Descriptor() ([]byte, []int) {
   752  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{6}
   753  }
   754  
   755  func (x *HystrixSink) GetNumBuckets() int64 {
   756  	if x != nil {
   757  		return x.NumBuckets
   758  	}
   759  	return 0
   760  }
   761  
   762  var File_envoy_config_metrics_v2_stats_proto protoreflect.FileDescriptor
   763  
   764  var file_envoy_config_metrics_v2_stats_proto_rawDesc = []byte{
   765  	0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d,
   766  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
   767  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
   768  	0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1f,
   769  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72,
   770  	0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   771  	0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63,
   772  	0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   773  	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   774  	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
   775  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
   776  	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   777  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
   778  	0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f,
   779  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74,
   780  	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
   781  	0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   782  	0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x12,
   783  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
   784  	0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
   785  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   786  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01,
   787  	0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79,
   788  	0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
   789  	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   790  	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43,
   791  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
   792  	0x74, 0x79, 0x70, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f,
   793  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61,
   794  	0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   795  	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
   796  	0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52,
   797  	0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x73,
   798  	0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61,
   799  	0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   800  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
   801  	0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x66, 0x61,
   802  	0x75, 0x6c, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73,
   803  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
   804  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65,
   805  	0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61,
   806  	0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63,
   807  	0x68, 0x65, 0x72, 0x22, 0xe5, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74,
   808  	0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
   809  	0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6a, 0x65,
   810  	0x63, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
   811  	0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
   812  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68,
   813  	0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
   814  	0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
   815  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69,
   816  	0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
   817  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68,
   818  	0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
   819  	0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
   820  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d,
   821  	0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7b, 0x0a, 0x0c, 0x54,
   822  	0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74,
   823  	0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
   824  	0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18,
   825  	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x48,
   826  	0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65,
   827  	0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
   828  	0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74,
   829  	0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61,
   830  	0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
   831  	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   832  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64,
   833  	0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
   834  	0x2a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
   835  	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70,
   836  	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
   837  	0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65,
   838  	0x66, 0x69, 0x78, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70,
   839  	0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a,
   840  	0x0d, 0x44, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36,
   841  	0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
   842  	0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
   843  	0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61,
   844  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
   845  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x1b,
   846  	0x0a, 0x14, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65,
   847  	0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10,
   848  	0x03, 0x22, 0x2e, 0x0a, 0x0b, 0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b,
   849  	0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
   850  	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
   851  	0x73, 0x42, 0x3d, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
   852  	0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
   853  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74,
   854  	0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01,
   855  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   856  }
   857  
   858  var (
   859  	file_envoy_config_metrics_v2_stats_proto_rawDescOnce sync.Once
   860  	file_envoy_config_metrics_v2_stats_proto_rawDescData = file_envoy_config_metrics_v2_stats_proto_rawDesc
   861  )
   862  
   863  func file_envoy_config_metrics_v2_stats_proto_rawDescGZIP() []byte {
   864  	file_envoy_config_metrics_v2_stats_proto_rawDescOnce.Do(func() {
   865  		file_envoy_config_metrics_v2_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v2_stats_proto_rawDescData)
   866  	})
   867  	return file_envoy_config_metrics_v2_stats_proto_rawDescData
   868  }
   869  
   870  var file_envoy_config_metrics_v2_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   871  var file_envoy_config_metrics_v2_stats_proto_goTypes = []interface{}{
   872  	(*StatsSink)(nil),                 // 0: envoy.config.metrics.v2.StatsSink
   873  	(*StatsConfig)(nil),               // 1: envoy.config.metrics.v2.StatsConfig
   874  	(*StatsMatcher)(nil),              // 2: envoy.config.metrics.v2.StatsMatcher
   875  	(*TagSpecifier)(nil),              // 3: envoy.config.metrics.v2.TagSpecifier
   876  	(*StatsdSink)(nil),                // 4: envoy.config.metrics.v2.StatsdSink
   877  	(*DogStatsdSink)(nil),             // 5: envoy.config.metrics.v2.DogStatsdSink
   878  	(*HystrixSink)(nil),               // 6: envoy.config.metrics.v2.HystrixSink
   879  	(*_struct.Struct)(nil),            // 7: google.protobuf.Struct
   880  	(*any.Any)(nil),                   // 8: google.protobuf.Any
   881  	(*wrappers.BoolValue)(nil),        // 9: google.protobuf.BoolValue
   882  	(*matcher.ListStringMatcher)(nil), // 10: envoy.type.matcher.ListStringMatcher
   883  	(*core.Address)(nil),              // 11: envoy.api.v2.core.Address
   884  }
   885  var file_envoy_config_metrics_v2_stats_proto_depIdxs = []int32{
   886  	7,  // 0: envoy.config.metrics.v2.StatsSink.config:type_name -> google.protobuf.Struct
   887  	8,  // 1: envoy.config.metrics.v2.StatsSink.typed_config:type_name -> google.protobuf.Any
   888  	3,  // 2: envoy.config.metrics.v2.StatsConfig.stats_tags:type_name -> envoy.config.metrics.v2.TagSpecifier
   889  	9,  // 3: envoy.config.metrics.v2.StatsConfig.use_all_default_tags:type_name -> google.protobuf.BoolValue
   890  	2,  // 4: envoy.config.metrics.v2.StatsConfig.stats_matcher:type_name -> envoy.config.metrics.v2.StatsMatcher
   891  	10, // 5: envoy.config.metrics.v2.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.ListStringMatcher
   892  	10, // 6: envoy.config.metrics.v2.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.ListStringMatcher
   893  	11, // 7: envoy.config.metrics.v2.StatsdSink.address:type_name -> envoy.api.v2.core.Address
   894  	11, // 8: envoy.config.metrics.v2.DogStatsdSink.address:type_name -> envoy.api.v2.core.Address
   895  	9,  // [9:9] is the sub-list for method output_type
   896  	9,  // [9:9] is the sub-list for method input_type
   897  	9,  // [9:9] is the sub-list for extension type_name
   898  	9,  // [9:9] is the sub-list for extension extendee
   899  	0,  // [0:9] is the sub-list for field type_name
   900  }
   901  
   902  func init() { file_envoy_config_metrics_v2_stats_proto_init() }
   903  func file_envoy_config_metrics_v2_stats_proto_init() {
   904  	if File_envoy_config_metrics_v2_stats_proto != nil {
   905  		return
   906  	}
   907  	if !protoimpl.UnsafeEnabled {
   908  		file_envoy_config_metrics_v2_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   909  			switch v := v.(*StatsSink); i {
   910  			case 0:
   911  				return &v.state
   912  			case 1:
   913  				return &v.sizeCache
   914  			case 2:
   915  				return &v.unknownFields
   916  			default:
   917  				return nil
   918  			}
   919  		}
   920  		file_envoy_config_metrics_v2_stats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   921  			switch v := v.(*StatsConfig); i {
   922  			case 0:
   923  				return &v.state
   924  			case 1:
   925  				return &v.sizeCache
   926  			case 2:
   927  				return &v.unknownFields
   928  			default:
   929  				return nil
   930  			}
   931  		}
   932  		file_envoy_config_metrics_v2_stats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   933  			switch v := v.(*StatsMatcher); i {
   934  			case 0:
   935  				return &v.state
   936  			case 1:
   937  				return &v.sizeCache
   938  			case 2:
   939  				return &v.unknownFields
   940  			default:
   941  				return nil
   942  			}
   943  		}
   944  		file_envoy_config_metrics_v2_stats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   945  			switch v := v.(*TagSpecifier); i {
   946  			case 0:
   947  				return &v.state
   948  			case 1:
   949  				return &v.sizeCache
   950  			case 2:
   951  				return &v.unknownFields
   952  			default:
   953  				return nil
   954  			}
   955  		}
   956  		file_envoy_config_metrics_v2_stats_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   957  			switch v := v.(*StatsdSink); i {
   958  			case 0:
   959  				return &v.state
   960  			case 1:
   961  				return &v.sizeCache
   962  			case 2:
   963  				return &v.unknownFields
   964  			default:
   965  				return nil
   966  			}
   967  		}
   968  		file_envoy_config_metrics_v2_stats_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
   969  			switch v := v.(*DogStatsdSink); i {
   970  			case 0:
   971  				return &v.state
   972  			case 1:
   973  				return &v.sizeCache
   974  			case 2:
   975  				return &v.unknownFields
   976  			default:
   977  				return nil
   978  			}
   979  		}
   980  		file_envoy_config_metrics_v2_stats_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
   981  			switch v := v.(*HystrixSink); i {
   982  			case 0:
   983  				return &v.state
   984  			case 1:
   985  				return &v.sizeCache
   986  			case 2:
   987  				return &v.unknownFields
   988  			default:
   989  				return nil
   990  			}
   991  		}
   992  	}
   993  	file_envoy_config_metrics_v2_stats_proto_msgTypes[0].OneofWrappers = []interface{}{
   994  		(*StatsSink_Config)(nil),
   995  		(*StatsSink_TypedConfig)(nil),
   996  	}
   997  	file_envoy_config_metrics_v2_stats_proto_msgTypes[2].OneofWrappers = []interface{}{
   998  		(*StatsMatcher_RejectAll)(nil),
   999  		(*StatsMatcher_ExclusionList)(nil),
  1000  		(*StatsMatcher_InclusionList)(nil),
  1001  	}
  1002  	file_envoy_config_metrics_v2_stats_proto_msgTypes[3].OneofWrappers = []interface{}{
  1003  		(*TagSpecifier_Regex)(nil),
  1004  		(*TagSpecifier_FixedValue)(nil),
  1005  	}
  1006  	file_envoy_config_metrics_v2_stats_proto_msgTypes[4].OneofWrappers = []interface{}{
  1007  		(*StatsdSink_Address)(nil),
  1008  		(*StatsdSink_TcpClusterName)(nil),
  1009  	}
  1010  	file_envoy_config_metrics_v2_stats_proto_msgTypes[5].OneofWrappers = []interface{}{
  1011  		(*DogStatsdSink_Address)(nil),
  1012  	}
  1013  	type x struct{}
  1014  	out := protoimpl.TypeBuilder{
  1015  		File: protoimpl.DescBuilder{
  1016  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1017  			RawDescriptor: file_envoy_config_metrics_v2_stats_proto_rawDesc,
  1018  			NumEnums:      0,
  1019  			NumMessages:   7,
  1020  			NumExtensions: 0,
  1021  			NumServices:   0,
  1022  		},
  1023  		GoTypes:           file_envoy_config_metrics_v2_stats_proto_goTypes,
  1024  		DependencyIndexes: file_envoy_config_metrics_v2_stats_proto_depIdxs,
  1025  		MessageInfos:      file_envoy_config_metrics_v2_stats_proto_msgTypes,
  1026  	}.Build()
  1027  	File_envoy_config_metrics_v2_stats_proto = out.File
  1028  	file_envoy_config_metrics_v2_stats_proto_rawDesc = nil
  1029  	file_envoy_config_metrics_v2_stats_proto_goTypes = nil
  1030  	file_envoy_config_metrics_v2_stats_proto_depIdxs = nil
  1031  }