...

Source file src/github.com/emissary-ingress/emissary/v3/pkg/api/envoy/config/metrics/v2/stats.pb.go

Documentation: github.com/emissary-ingress/emissary/v3/pkg/api/envoy/config/metrics/v2

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.1
     4  // 	protoc        v3.21.12
     5  // source: envoy/config/metrics/v2/stats.proto
     6  
     7  package metricsv2
     8  
     9  import (
    10  	_ "github.com/cncf/xds/go/udpa/annotations"
    11  	core "github.com/emissary-ingress/emissary/v3/pkg/api/envoy/api/v2/core"
    12  	matcher "github.com/emissary-ingress/emissary/v3/pkg/api/envoy/type/matcher"
    13  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    14  	any1 "github.com/golang/protobuf/ptypes/any"
    15  	_struct "github.com/golang/protobuf/ptypes/struct"
    16  	wrappers "github.com/golang/protobuf/ptypes/wrappers"
    17  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    18  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    19  	reflect "reflect"
    20  	sync "sync"
    21  )
    22  
    23  const (
    24  	// Verify that this generated code is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    26  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    28  )
    29  
    30  // Configuration for pluggable stats sinks.
    31  type StatsSink struct {
    32  	state         protoimpl.MessageState
    33  	sizeCache     protoimpl.SizeCache
    34  	unknownFields protoimpl.UnknownFields
    35  
    36  	// The name of the stats sink to instantiate. The name must match a supported
    37  	// stats sink. The built-in stats sinks are:
    38  	//
    39  	// * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v2.StatsdSink>`
    40  	// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v2.DogStatsdSink>`
    41  	// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v2.MetricsServiceConfig>`
    42  	// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v2.HystrixSink>`
    43  	//
    44  	// Sinks optionally support tagged/multiple dimensional metrics.
    45  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    46  	// Stats sink specific configuration which depends on the sink being instantiated. See
    47  	// :ref:`StatsdSink <envoy_api_msg_config.metrics.v2.StatsdSink>` for an example.
    48  	//
    49  	// Types that are assignable to ConfigType:
    50  	//	*StatsSink_Config
    51  	//	*StatsSink_TypedConfig
    52  	ConfigType isStatsSink_ConfigType `protobuf_oneof:"config_type"`
    53  }
    54  
    55  func (x *StatsSink) Reset() {
    56  	*x = StatsSink{}
    57  	if protoimpl.UnsafeEnabled {
    58  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[0]
    59  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    60  		ms.StoreMessageInfo(mi)
    61  	}
    62  }
    63  
    64  func (x *StatsSink) String() string {
    65  	return protoimpl.X.MessageStringOf(x)
    66  }
    67  
    68  func (*StatsSink) ProtoMessage() {}
    69  
    70  func (x *StatsSink) ProtoReflect() protoreflect.Message {
    71  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[0]
    72  	if protoimpl.UnsafeEnabled && x != nil {
    73  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    74  		if ms.LoadMessageInfo() == nil {
    75  			ms.StoreMessageInfo(mi)
    76  		}
    77  		return ms
    78  	}
    79  	return mi.MessageOf(x)
    80  }
    81  
    82  // Deprecated: Use StatsSink.ProtoReflect.Descriptor instead.
    83  func (*StatsSink) Descriptor() ([]byte, []int) {
    84  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{0}
    85  }
    86  
    87  func (x *StatsSink) GetName() string {
    88  	if x != nil {
    89  		return x.Name
    90  	}
    91  	return ""
    92  }
    93  
    94  func (m *StatsSink) GetConfigType() isStatsSink_ConfigType {
    95  	if m != nil {
    96  		return m.ConfigType
    97  	}
    98  	return nil
    99  }
   100  
   101  // Deprecated: Do not use.
   102  func (x *StatsSink) GetConfig() *_struct.Struct {
   103  	if x, ok := x.GetConfigType().(*StatsSink_Config); ok {
   104  		return x.Config
   105  	}
   106  	return nil
   107  }
   108  
   109  func (x *StatsSink) GetTypedConfig() *any1.Any {
   110  	if x, ok := x.GetConfigType().(*StatsSink_TypedConfig); ok {
   111  		return x.TypedConfig
   112  	}
   113  	return nil
   114  }
   115  
   116  type isStatsSink_ConfigType interface {
   117  	isStatsSink_ConfigType()
   118  }
   119  
   120  type StatsSink_Config struct {
   121  	// Deprecated: Do not use.
   122  	Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
   123  }
   124  
   125  type StatsSink_TypedConfig struct {
   126  	TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
   127  }
   128  
   129  func (*StatsSink_Config) isStatsSink_ConfigType() {}
   130  
   131  func (*StatsSink_TypedConfig) isStatsSink_ConfigType() {}
   132  
   133  // Statistics configuration such as tagging.
   134  type StatsConfig struct {
   135  	state         protoimpl.MessageState
   136  	sizeCache     protoimpl.SizeCache
   137  	unknownFields protoimpl.UnknownFields
   138  
   139  	// Each stat name is iteratively processed through these tag specifiers.
   140  	// When a tag is matched, the first capture group is removed from the name so
   141  	// later :ref:`TagSpecifiers <envoy_api_msg_config.metrics.v2.TagSpecifier>` cannot match that
   142  	// same portion of the match.
   143  	StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags,proto3" json:"stats_tags,omitempty"`
   144  	// Use all default tag regexes specified in Envoy. These can be combined with
   145  	// custom tags specified in :ref:`stats_tags
   146  	// <envoy_api_field_config.metrics.v2.StatsConfig.stats_tags>`. They will be processed before
   147  	// the custom tags.
   148  	//
   149  	// .. note::
   150  	//
   151  	//   If any default tags are specified twice, the config will be considered
   152  	//   invalid.
   153  	//
   154  	// See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
   155  	// default tags in Envoy.
   156  	//
   157  	// If not provided, the value is assumed to be true.
   158  	UseAllDefaultTags *wrappers.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags,proto3" json:"use_all_default_tags,omitempty"`
   159  	// Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
   160  	// as normal. Preventing the instantiation of certain families of stats can improve memory
   161  	// performance for Envoys running especially large configs.
   162  	//
   163  	// .. warning::
   164  	//   Excluding stats may affect Envoy's behavior in undocumented ways. See
   165  	//   `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information.
   166  	//   If any unexpected behavior changes are observed, please open a new issue immediately.
   167  	StatsMatcher *StatsMatcher `protobuf:"bytes,3,opt,name=stats_matcher,json=statsMatcher,proto3" json:"stats_matcher,omitempty"`
   168  }
   169  
   170  func (x *StatsConfig) Reset() {
   171  	*x = StatsConfig{}
   172  	if protoimpl.UnsafeEnabled {
   173  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1]
   174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   175  		ms.StoreMessageInfo(mi)
   176  	}
   177  }
   178  
   179  func (x *StatsConfig) String() string {
   180  	return protoimpl.X.MessageStringOf(x)
   181  }
   182  
   183  func (*StatsConfig) ProtoMessage() {}
   184  
   185  func (x *StatsConfig) ProtoReflect() protoreflect.Message {
   186  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1]
   187  	if protoimpl.UnsafeEnabled && x != nil {
   188  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   189  		if ms.LoadMessageInfo() == nil {
   190  			ms.StoreMessageInfo(mi)
   191  		}
   192  		return ms
   193  	}
   194  	return mi.MessageOf(x)
   195  }
   196  
   197  // Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead.
   198  func (*StatsConfig) Descriptor() ([]byte, []int) {
   199  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{1}
   200  }
   201  
   202  func (x *StatsConfig) GetStatsTags() []*TagSpecifier {
   203  	if x != nil {
   204  		return x.StatsTags
   205  	}
   206  	return nil
   207  }
   208  
   209  func (x *StatsConfig) GetUseAllDefaultTags() *wrappers.BoolValue {
   210  	if x != nil {
   211  		return x.UseAllDefaultTags
   212  	}
   213  	return nil
   214  }
   215  
   216  func (x *StatsConfig) GetStatsMatcher() *StatsMatcher {
   217  	if x != nil {
   218  		return x.StatsMatcher
   219  	}
   220  	return nil
   221  }
   222  
   223  // Configuration for disabling stat instantiation.
   224  type StatsMatcher struct {
   225  	state         protoimpl.MessageState
   226  	sizeCache     protoimpl.SizeCache
   227  	unknownFields protoimpl.UnknownFields
   228  
   229  	// Types that are assignable to StatsMatcher:
   230  	//	*StatsMatcher_RejectAll
   231  	//	*StatsMatcher_ExclusionList
   232  	//	*StatsMatcher_InclusionList
   233  	StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"`
   234  }
   235  
   236  func (x *StatsMatcher) Reset() {
   237  	*x = StatsMatcher{}
   238  	if protoimpl.UnsafeEnabled {
   239  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2]
   240  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   241  		ms.StoreMessageInfo(mi)
   242  	}
   243  }
   244  
   245  func (x *StatsMatcher) String() string {
   246  	return protoimpl.X.MessageStringOf(x)
   247  }
   248  
   249  func (*StatsMatcher) ProtoMessage() {}
   250  
   251  func (x *StatsMatcher) ProtoReflect() protoreflect.Message {
   252  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2]
   253  	if protoimpl.UnsafeEnabled && x != nil {
   254  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   255  		if ms.LoadMessageInfo() == nil {
   256  			ms.StoreMessageInfo(mi)
   257  		}
   258  		return ms
   259  	}
   260  	return mi.MessageOf(x)
   261  }
   262  
   263  // Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead.
   264  func (*StatsMatcher) Descriptor() ([]byte, []int) {
   265  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{2}
   266  }
   267  
   268  func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher {
   269  	if m != nil {
   270  		return m.StatsMatcher
   271  	}
   272  	return nil
   273  }
   274  
   275  func (x *StatsMatcher) GetRejectAll() bool {
   276  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_RejectAll); ok {
   277  		return x.RejectAll
   278  	}
   279  	return false
   280  }
   281  
   282  func (x *StatsMatcher) GetExclusionList() *matcher.ListStringMatcher {
   283  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_ExclusionList); ok {
   284  		return x.ExclusionList
   285  	}
   286  	return nil
   287  }
   288  
   289  func (x *StatsMatcher) GetInclusionList() *matcher.ListStringMatcher {
   290  	if x, ok := x.GetStatsMatcher().(*StatsMatcher_InclusionList); ok {
   291  		return x.InclusionList
   292  	}
   293  	return nil
   294  }
   295  
   296  type isStatsMatcher_StatsMatcher interface {
   297  	isStatsMatcher_StatsMatcher()
   298  }
   299  
   300  type StatsMatcher_RejectAll struct {
   301  	// If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
   302  	// stats are enabled.
   303  	RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"`
   304  }
   305  
   306  type StatsMatcher_ExclusionList struct {
   307  	// Exclusive match. All stats are enabled except for those matching one of the supplied
   308  	// StringMatcher protos.
   309  	ExclusionList *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"`
   310  }
   311  
   312  type StatsMatcher_InclusionList struct {
   313  	// Inclusive match. No stats are enabled except for those matching one of the supplied
   314  	// StringMatcher protos.
   315  	InclusionList *matcher.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"`
   316  }
   317  
   318  func (*StatsMatcher_RejectAll) isStatsMatcher_StatsMatcher() {}
   319  
   320  func (*StatsMatcher_ExclusionList) isStatsMatcher_StatsMatcher() {}
   321  
   322  func (*StatsMatcher_InclusionList) isStatsMatcher_StatsMatcher() {}
   323  
   324  // Designates a tag name and value pair. The value may be either a fixed value
   325  // or a regex providing the value via capture groups. The specified tag will be
   326  // unconditionally set if a fixed value, otherwise it will only be set if one
   327  // or more capture groups in the regex match.
   328  type TagSpecifier struct {
   329  	state         protoimpl.MessageState
   330  	sizeCache     protoimpl.SizeCache
   331  	unknownFields protoimpl.UnknownFields
   332  
   333  	// Attaches an identifier to the tag values to identify the tag being in the
   334  	// sink. Envoy has a set of default names and regexes to extract dynamic
   335  	// portions of existing stats, which can be found in :repo:`well_known_names.h
   336  	// <source/common/config/well_known_names.h>` in the Envoy repository. If a :ref:`tag_name
   337  	// <envoy_api_field_config.metrics.v2.TagSpecifier.tag_name>` is provided in the config and
   338  	// neither :ref:`regex <envoy_api_field_config.metrics.v2.TagSpecifier.regex>` or
   339  	// :ref:`fixed_value <envoy_api_field_config.metrics.v2.TagSpecifier.fixed_value>` were specified,
   340  	// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
   341  	//
   342  	// .. note::
   343  	//
   344  	//   It is invalid to specify the same tag name twice in a config.
   345  	TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
   346  	// Types that are assignable to TagValue:
   347  	//	*TagSpecifier_Regex
   348  	//	*TagSpecifier_FixedValue
   349  	TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"`
   350  }
   351  
   352  func (x *TagSpecifier) Reset() {
   353  	*x = TagSpecifier{}
   354  	if protoimpl.UnsafeEnabled {
   355  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3]
   356  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   357  		ms.StoreMessageInfo(mi)
   358  	}
   359  }
   360  
   361  func (x *TagSpecifier) String() string {
   362  	return protoimpl.X.MessageStringOf(x)
   363  }
   364  
   365  func (*TagSpecifier) ProtoMessage() {}
   366  
   367  func (x *TagSpecifier) ProtoReflect() protoreflect.Message {
   368  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3]
   369  	if protoimpl.UnsafeEnabled && x != nil {
   370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   371  		if ms.LoadMessageInfo() == nil {
   372  			ms.StoreMessageInfo(mi)
   373  		}
   374  		return ms
   375  	}
   376  	return mi.MessageOf(x)
   377  }
   378  
   379  // Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead.
   380  func (*TagSpecifier) Descriptor() ([]byte, []int) {
   381  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{3}
   382  }
   383  
   384  func (x *TagSpecifier) GetTagName() string {
   385  	if x != nil {
   386  		return x.TagName
   387  	}
   388  	return ""
   389  }
   390  
   391  func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue {
   392  	if m != nil {
   393  		return m.TagValue
   394  	}
   395  	return nil
   396  }
   397  
   398  func (x *TagSpecifier) GetRegex() string {
   399  	if x, ok := x.GetTagValue().(*TagSpecifier_Regex); ok {
   400  		return x.Regex
   401  	}
   402  	return ""
   403  }
   404  
   405  func (x *TagSpecifier) GetFixedValue() string {
   406  	if x, ok := x.GetTagValue().(*TagSpecifier_FixedValue); ok {
   407  		return x.FixedValue
   408  	}
   409  	return ""
   410  }
   411  
   412  type isTagSpecifier_TagValue interface {
   413  	isTagSpecifier_TagValue()
   414  }
   415  
   416  type TagSpecifier_Regex struct {
   417  	// Designates a tag to strip from the tag extracted name and provide as a named
   418  	// tag value for all statistics. This will only occur if any part of the name
   419  	// matches the regex provided with one or more capture groups.
   420  	//
   421  	// The first capture group identifies the portion of the name to remove. The
   422  	// second capture group (which will normally be nested inside the first) will
   423  	// designate the value of the tag for the statistic. If no second capture
   424  	// group is provided, the first will also be used to set the value of the tag.
   425  	// All other capture groups will be ignored.
   426  	//
   427  	// Example 1. a stat name ``cluster.foo_cluster.upstream_rq_timeout`` and
   428  	// one tag specifier:
   429  	//
   430  	// .. code-block:: json
   431  	//
   432  	//   {
   433  	//     "tag_name": "envoy.cluster_name",
   434  	//     "regex": "^cluster\\.((.+?)\\.)"
   435  	//   }
   436  	//
   437  	// Note that the regex will remove ``foo_cluster.`` making the tag extracted
   438  	// name ``cluster.upstream_rq_timeout`` and the tag value for
   439  	// ``envoy.cluster_name`` will be ``foo_cluster`` (note: there will be no
   440  	// ``.`` character because of the second capture group).
   441  	//
   442  	// Example 2. a stat name
   443  	// ``http.connection_manager_1.user_agent.ios.downstream_cx_total`` and two
   444  	// tag specifiers:
   445  	//
   446  	// .. code-block:: json
   447  	//
   448  	//   [
   449  	//     {
   450  	//       "tag_name": "envoy.http_user_agent",
   451  	//       "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$"
   452  	//     },
   453  	//     {
   454  	//       "tag_name": "envoy.http_conn_manager_prefix",
   455  	//       "regex": "^http\\.((.*?)\\.)"
   456  	//     }
   457  	//   ]
   458  	//
   459  	// The two regexes of the specifiers will be processed in the definition order.
   460  	//
   461  	// The first regex will remove ``ios.``, leaving the tag extracted name
   462  	// ``http.connection_manager_1.user_agent.downstream_cx_total``. The tag
   463  	// ``envoy.http_user_agent`` will be added with tag value ``ios``.
   464  	//
   465  	// The second regex will remove ``connection_manager_1.`` from the tag
   466  	// extracted name produced by the first regex
   467  	// ``http.connection_manager_1.user_agent.downstream_cx_total``, leaving
   468  	// ``http.user_agent.downstream_cx_total`` as the tag extracted name. The tag
   469  	// ``envoy.http_conn_manager_prefix`` will be added with the tag value
   470  	// ``connection_manager_1``.
   471  	Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
   472  }
   473  
   474  type TagSpecifier_FixedValue struct {
   475  	// Specifies a fixed tag value for the ``tag_name``.
   476  	FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"`
   477  }
   478  
   479  func (*TagSpecifier_Regex) isTagSpecifier_TagValue() {}
   480  
   481  func (*TagSpecifier_FixedValue) isTagSpecifier_TagValue() {}
   482  
   483  // Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support
   484  // tagged metrics.
   485  // [#extension: envoy.stat_sinks.statsd]
   486  type StatsdSink struct {
   487  	state         protoimpl.MessageState
   488  	sizeCache     protoimpl.SizeCache
   489  	unknownFields protoimpl.UnknownFields
   490  
   491  	// Types that are assignable to StatsdSpecifier:
   492  	//	*StatsdSink_Address
   493  	//	*StatsdSink_TcpClusterName
   494  	StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"`
   495  	// Optional custom prefix for StatsdSink. If
   496  	// specified, this will override the default prefix.
   497  	// For example:
   498  	//
   499  	// .. code-block:: json
   500  	//
   501  	//   {
   502  	//     "prefix" : "envoy-prod"
   503  	//   }
   504  	//
   505  	// will change emitted stats to
   506  	//
   507  	// .. code-block:: cpp
   508  	//
   509  	//   envoy-prod.test_counter:1|c
   510  	//   envoy-prod.test_timer:5|ms
   511  	//
   512  	// Note that the default prefix, "envoy", will be used if a prefix is not
   513  	// specified.
   514  	//
   515  	// Stats with default prefix:
   516  	//
   517  	// .. code-block:: cpp
   518  	//
   519  	//   envoy.test_counter:1|c
   520  	//   envoy.test_timer:5|ms
   521  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   522  }
   523  
   524  func (x *StatsdSink) Reset() {
   525  	*x = StatsdSink{}
   526  	if protoimpl.UnsafeEnabled {
   527  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4]
   528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   529  		ms.StoreMessageInfo(mi)
   530  	}
   531  }
   532  
   533  func (x *StatsdSink) String() string {
   534  	return protoimpl.X.MessageStringOf(x)
   535  }
   536  
   537  func (*StatsdSink) ProtoMessage() {}
   538  
   539  func (x *StatsdSink) ProtoReflect() protoreflect.Message {
   540  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4]
   541  	if protoimpl.UnsafeEnabled && x != nil {
   542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   543  		if ms.LoadMessageInfo() == nil {
   544  			ms.StoreMessageInfo(mi)
   545  		}
   546  		return ms
   547  	}
   548  	return mi.MessageOf(x)
   549  }
   550  
   551  // Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead.
   552  func (*StatsdSink) Descriptor() ([]byte, []int) {
   553  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{4}
   554  }
   555  
   556  func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier {
   557  	if m != nil {
   558  		return m.StatsdSpecifier
   559  	}
   560  	return nil
   561  }
   562  
   563  func (x *StatsdSink) GetAddress() *core.Address {
   564  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_Address); ok {
   565  		return x.Address
   566  	}
   567  	return nil
   568  }
   569  
   570  func (x *StatsdSink) GetTcpClusterName() string {
   571  	if x, ok := x.GetStatsdSpecifier().(*StatsdSink_TcpClusterName); ok {
   572  		return x.TcpClusterName
   573  	}
   574  	return ""
   575  }
   576  
   577  func (x *StatsdSink) GetPrefix() string {
   578  	if x != nil {
   579  		return x.Prefix
   580  	}
   581  	return ""
   582  }
   583  
   584  type isStatsdSink_StatsdSpecifier interface {
   585  	isStatsdSink_StatsdSpecifier()
   586  }
   587  
   588  type StatsdSink_Address struct {
   589  	// The UDP address of a running `statsd <https://github.com/etsy/statsd>`_
   590  	// compliant listener. If specified, statistics will be flushed to this
   591  	// address.
   592  	Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   593  }
   594  
   595  type StatsdSink_TcpClusterName struct {
   596  	// The name of a cluster that is running a TCP `statsd
   597  	// <https://github.com/etsy/statsd>`_ compliant listener. If specified,
   598  	// Envoy will connect to this cluster to flush statistics.
   599  	TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"`
   600  }
   601  
   602  func (*StatsdSink_Address) isStatsdSink_StatsdSpecifier() {}
   603  
   604  func (*StatsdSink_TcpClusterName) isStatsdSink_StatsdSpecifier() {}
   605  
   606  // Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
   607  // The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_
   608  // compatible tags. Tags are configurable via :ref:`StatsConfig
   609  // <envoy_api_msg_config.metrics.v2.StatsConfig>`.
   610  // [#extension: envoy.stat_sinks.dog_statsd]
   611  type DogStatsdSink struct {
   612  	state         protoimpl.MessageState
   613  	sizeCache     protoimpl.SizeCache
   614  	unknownFields protoimpl.UnknownFields
   615  
   616  	// Types that are assignable to DogStatsdSpecifier:
   617  	//	*DogStatsdSink_Address
   618  	DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"`
   619  	// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
   620  	// <envoy_api_field_config.metrics.v2.StatsdSink.prefix>` for more details.
   621  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
   622  }
   623  
   624  func (x *DogStatsdSink) Reset() {
   625  	*x = DogStatsdSink{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[5]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *DogStatsdSink) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*DogStatsdSink) ProtoMessage() {}
   638  
   639  func (x *DogStatsdSink) ProtoReflect() protoreflect.Message {
   640  	mi := &file_envoy_config_metrics_v2_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 DogStatsdSink.ProtoReflect.Descriptor instead.
   652  func (*DogStatsdSink) Descriptor() ([]byte, []int) {
   653  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{5}
   654  }
   655  
   656  func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier {
   657  	if m != nil {
   658  		return m.DogStatsdSpecifier
   659  	}
   660  	return nil
   661  }
   662  
   663  func (x *DogStatsdSink) GetAddress() *core.Address {
   664  	if x, ok := x.GetDogStatsdSpecifier().(*DogStatsdSink_Address); ok {
   665  		return x.Address
   666  	}
   667  	return nil
   668  }
   669  
   670  func (x *DogStatsdSink) GetPrefix() string {
   671  	if x != nil {
   672  		return x.Prefix
   673  	}
   674  	return ""
   675  }
   676  
   677  type isDogStatsdSink_DogStatsdSpecifier interface {
   678  	isDogStatsdSink_DogStatsdSpecifier()
   679  }
   680  
   681  type DogStatsdSink_Address struct {
   682  	// The UDP address of a running DogStatsD compliant listener. If specified,
   683  	// statistics will be flushed to this address.
   684  	Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"`
   685  }
   686  
   687  func (*DogStatsdSink_Address) isDogStatsdSink_DogStatsdSpecifier() {}
   688  
   689  // Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
   690  // The sink emits stats in `text/event-stream
   691  // <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_
   692  // formatted stream for use by `Hystrix dashboard
   693  // <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
   694  //
   695  // Note that only a single HystrixSink should be configured.
   696  //
   697  // Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
   698  // [#extension: envoy.stat_sinks.hystrix]
   699  type HystrixSink struct {
   700  	state         protoimpl.MessageState
   701  	sizeCache     protoimpl.SizeCache
   702  	unknownFields protoimpl.UnknownFields
   703  
   704  	// The number of buckets the rolling statistical window is divided into.
   705  	//
   706  	// Each time the sink is flushed, all relevant Envoy statistics are sampled and
   707  	// added to the rolling window (removing the oldest samples in the window
   708  	// in the process). The sink then outputs the aggregate statistics across the
   709  	// current rolling window to the event stream(s).
   710  	//
   711  	// rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
   712  	//
   713  	// More detailed explanation can be found in `Hystrix wiki
   714  	// <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.
   715  	NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"`
   716  }
   717  
   718  func (x *HystrixSink) Reset() {
   719  	*x = HystrixSink{}
   720  	if protoimpl.UnsafeEnabled {
   721  		mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6]
   722  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   723  		ms.StoreMessageInfo(mi)
   724  	}
   725  }
   726  
   727  func (x *HystrixSink) String() string {
   728  	return protoimpl.X.MessageStringOf(x)
   729  }
   730  
   731  func (*HystrixSink) ProtoMessage() {}
   732  
   733  func (x *HystrixSink) ProtoReflect() protoreflect.Message {
   734  	mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6]
   735  	if protoimpl.UnsafeEnabled && x != nil {
   736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   737  		if ms.LoadMessageInfo() == nil {
   738  			ms.StoreMessageInfo(mi)
   739  		}
   740  		return ms
   741  	}
   742  	return mi.MessageOf(x)
   743  }
   744  
   745  // Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead.
   746  func (*HystrixSink) Descriptor() ([]byte, []int) {
   747  	return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{6}
   748  }
   749  
   750  func (x *HystrixSink) GetNumBuckets() int64 {
   751  	if x != nil {
   752  		return x.NumBuckets
   753  	}
   754  	return 0
   755  }
   756  
   757  var File_envoy_config_metrics_v2_stats_proto protoreflect.FileDescriptor
   758  
   759  var file_envoy_config_metrics_v2_stats_proto_rawDesc = []byte{
   760  	0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d,
   761  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
   762  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
   763  	0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1f,
   764  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72,
   765  	0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   766  	0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63,
   767  	0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   768  	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   769  	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
   770  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
   771  	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   772  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
   773  	0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f,
   774  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74,
   775  	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
   776  	0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   777  	0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x12,
   778  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
   779  	0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
   780  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   781  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01,
   782  	0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79,
   783  	0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
   784  	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   785  	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43,
   786  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
   787  	0x74, 0x79, 0x70, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f,
   788  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61,
   789  	0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   790  	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
   791  	0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52,
   792  	0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x73,
   793  	0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61,
   794  	0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   795  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
   796  	0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x66, 0x61,
   797  	0x75, 0x6c, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73,
   798  	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
   799  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65,
   800  	0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61,
   801  	0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63,
   802  	0x68, 0x65, 0x72, 0x22, 0xe5, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74,
   803  	0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
   804  	0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6a, 0x65,
   805  	0x63, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
   806  	0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
   807  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68,
   808  	0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74,
   809  	0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
   810  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69,
   811  	0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 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, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
   815  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d,
   816  	0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7b, 0x0a, 0x0c, 0x54,
   817  	0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74,
   818  	0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
   819  	0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18,
   820  	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x48,
   821  	0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65,
   822  	0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
   823  	0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74,
   824  	0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61,
   825  	0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
   826  	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   827  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64,
   828  	0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
   829  	0x2a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
   830  	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70,
   831  	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
   832  	0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65,
   833  	0x66, 0x69, 0x78, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70,
   834  	0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a,
   835  	0x0d, 0x44, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36,
   836  	0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
   837  	0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
   838  	0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61,
   839  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
   840  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x1b,
   841  	0x0a, 0x14, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65,
   842  	0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10,
   843  	0x03, 0x22, 0x2e, 0x0a, 0x0b, 0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b,
   844  	0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
   845  	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
   846  	0x73, 0x42, 0x87, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
   847  	0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   848  	0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x53, 0x74, 0x61,
   849  	0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75,
   850  	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
   851  	0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
   852  	0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d,
   853  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
   854  	0x73, 0x76, 0x32, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f,
   855  	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  	(*any1.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  }
  1032  

View as plain text