summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.config.metrics.v2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/envoy.config.metrics.v2.rs')
-rw-r--r--src/rpc/envoy.config.metrics.v2.rs380
1 files changed, 0 insertions, 380 deletions
diff --git a/src/rpc/envoy.config.metrics.v2.rs b/src/rpc/envoy.config.metrics.v2.rs
deleted file mode 100644
index 918ed31d..00000000
--- a/src/rpc/envoy.config.metrics.v2.rs
+++ /dev/null
@@ -1,380 +0,0 @@
-// @generated
-// This file is @generated by prost-build.
-// \[#protodoc-title: Stats\]
-// Statistics :ref:`architecture overview <arch_overview_statistics>`.
-
-/// Configuration for pluggable stats sinks.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StatsSink {
- /// The name of the stats sink to instantiate. The name must match a supported
- /// stats sink. The built-in stats sinks are:
- ///
- /// * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v2.StatsdSink>`
- /// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v2.DogStatsdSink>`
- /// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v2.MetricsServiceConfig>`
- /// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v2.HystrixSink>`
- ///
- /// Sinks optionally support tagged/multiple dimensional metrics.
- #[prost(string, tag="1")]
- pub name: ::prost::alloc::string::String,
- /// Stats sink specific configuration which depends on the sink being instantiated. See
- /// :ref:`StatsdSink <envoy_api_msg_config.metrics.v2.StatsdSink>` for an example.
- #[prost(oneof="stats_sink::ConfigType", tags="2, 3")]
- pub config_type: ::core::option::Option<stats_sink::ConfigType>,
-}
-/// Nested message and enum types in `StatsSink`.
-pub mod stats_sink {
- /// Stats sink specific configuration which depends on the sink being instantiated. See
- /// :ref:`StatsdSink <envoy_api_msg_config.metrics.v2.StatsdSink>` for an example.
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum ConfigType {
- #[prost(message, tag="2")]
- Config(super::super::super::super::super::google::protobuf::Struct),
- #[prost(message, tag="3")]
- TypedConfig(super::super::super::super::super::google::protobuf::Any),
- }
-}
-/// Statistics configuration such as tagging.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StatsConfig {
- /// Each stat name is iteratively processed through these tag specifiers.
- /// When a tag is matched, the first capture group is removed from the name so
- /// later :ref:`TagSpecifiers <envoy_api_msg_config.metrics.v2.TagSpecifier>` cannot match that
- /// same portion of the match.
- #[prost(message, repeated, tag="1")]
- pub stats_tags: ::prost::alloc::vec::Vec<TagSpecifier>,
- /// Use all default tag regexes specified in Envoy. These can be combined with
- /// custom tags specified in :ref:`stats_tags
- /// <envoy_api_field_config.metrics.v2.StatsConfig.stats_tags>`. They will be processed before
- /// the custom tags.
- ///
- /// .. note::
- ///
- /// If any default tags are specified twice, the config will be considered
- /// invalid.
- ///
- /// See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
- /// default tags in Envoy.
- ///
- /// If not provided, the value is assumed to be true.
- #[prost(message, optional, tag="2")]
- pub use_all_default_tags: ::core::option::Option<super::super::super::super::google::protobuf::BoolValue>,
- /// Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
- /// as normal. Preventing the instantiation of certain families of stats can improve memory
- /// performance for Envoys running especially large configs.
- ///
- /// .. warning::
- /// Excluding stats may affect Envoy's behavior in undocumented ways. See
- /// `issue #8771 <<https://github.com/envoyproxy/envoy/issues/8771>`_> for more information.
- /// If any unexpected behavior changes are observed, please open a new issue immediately.
- #[prost(message, optional, tag="3")]
- pub stats_matcher: ::core::option::Option<StatsMatcher>,
-}
-/// Configuration for disabling stat instantiation.
-///
-/// The instantiation of stats is unrestricted by default. If the goal is to configure Envoy to
-/// instantiate all stats, there is no need to construct a StatsMatcher.
-///
-/// However, StatsMatcher can be used to limit the creation of families of stats in order to
-/// conserve memory. Stats can either be disabled entirely, or they can be
-/// limited by either an exclusion or an inclusion list of :ref:`StringMatcher
-/// <envoy_api_msg_type.matcher.StringMatcher>` protos:
-///
-/// * If ``reject_all`` is set to ``true``, no stats will be instantiated. If ``reject_all`` is set to
-/// ``false``, all stats will be instantiated.
-///
-/// * If an exclusion list is supplied, any stat name matching *any* of the StringMatchers in the
-/// list will not instantiate.
-///
-/// * If an inclusion list is supplied, no stats will instantiate, except those matching *any* of
-/// the StringMatchers in the list.
-///
-///
-/// A StringMatcher can be used to match against an exact string, a suffix / prefix, or a regex.
-/// **NB:** For performance reasons, it is highly recommended to use a prefix- or suffix-based
-/// matcher rather than a regex-based matcher.
-///
-/// Example 1. Excluding all stats.
-///
-/// .. code-block:: json
-///
-/// {
-/// "statsMatcher": {
-/// "rejectAll": "true"
-/// }
-/// }
-///
-/// Example 2. Excluding all cluster-specific stats, but not cluster-manager stats:
-///
-/// .. code-block:: json
-///
-/// {
-/// "statsMatcher": {
-/// "exclusionList": {
-/// "patterns": [
-/// {
-/// "prefix": "cluster."
-/// }
-/// ]
-/// }
-/// }
-/// }
-///
-/// Example 3. Including only manager-related stats:
-///
-/// .. code-block:: json
-///
-/// {
-/// "statsMatcher": {
-/// "inclusionList": {
-/// "patterns": [
-/// {
-/// "prefix": "cluster_manager."
-/// },
-/// {
-/// "prefix": "listener_manager."
-/// }
-/// ]
-/// }
-/// }
-/// }
-///
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StatsMatcher {
- #[prost(oneof="stats_matcher::StatsMatcher", tags="1, 2, 3")]
- pub stats_matcher: ::core::option::Option<stats_matcher::StatsMatcher>,
-}
-/// Nested message and enum types in `StatsMatcher`.
-pub mod stats_matcher {
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum StatsMatcher {
- /// If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
- /// stats are enabled.
- #[prost(bool, tag="1")]
- RejectAll(bool),
- /// Exclusive match. All stats are enabled except for those matching one of the supplied
- /// StringMatcher protos.
- #[prost(message, tag="2")]
- ExclusionList(super::super::super::super::r#type::matcher::ListStringMatcher),
- /// Inclusive match. No stats are enabled except for those matching one of the supplied
- /// StringMatcher protos.
- #[prost(message, tag="3")]
- InclusionList(super::super::super::super::r#type::matcher::ListStringMatcher),
- }
-}
-/// Designates a tag name and value pair. The value may be either a fixed value
-/// or a regex providing the value via capture groups. The specified tag will be
-/// unconditionally set if a fixed value, otherwise it will only be set if one
-/// or more capture groups in the regex match.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct TagSpecifier {
- /// Attaches an identifier to the tag values to identify the tag being in the
- /// sink. Envoy has a set of default names and regexes to extract dynamic
- /// portions of existing stats, which can be found in :repo:`well_known_names.h
- /// <source/common/config/well_known_names.h>` in the Envoy repository. If a :ref:`tag_name
- /// <envoy_api_field_config.metrics.v2.TagSpecifier.tag_name>` is provided in the config and
- /// neither :ref:`regex <envoy_api_field_config.metrics.v2.TagSpecifier.regex>` or
- /// :ref:`fixed_value <envoy_api_field_config.metrics.v2.TagSpecifier.fixed_value>` were specified,
- /// Envoy will attempt to find that name in its set of defaults and use the accompanying regex.
- ///
- /// .. note::
- ///
- /// It is invalid to specify the same tag name twice in a config.
- #[prost(string, tag="1")]
- pub tag_name: ::prost::alloc::string::String,
- #[prost(oneof="tag_specifier::TagValue", tags="2, 3")]
- pub tag_value: ::core::option::Option<tag_specifier::TagValue>,
-}
-/// Nested message and enum types in `TagSpecifier`.
-pub mod tag_specifier {
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum TagValue {
- /// Designates a tag to strip from the tag extracted name and provide as a named
- /// tag value for all statistics. This will only occur if any part of the name
- /// matches the regex provided with one or more capture groups.
- ///
- /// The first capture group identifies the portion of the name to remove. The
- /// second capture group (which will normally be nested inside the first) will
- /// designate the value of the tag for the statistic. If no second capture
- /// group is provided, the first will also be used to set the value of the tag.
- /// All other capture groups will be ignored.
- ///
- /// Example 1. a stat name ``cluster.foo_cluster.upstream_rq_timeout`` and
- /// one tag specifier:
- ///
- /// .. code-block:: json
- ///
- /// {
- /// "tag_name": "envoy.cluster_name",
- /// "regex": "^cluster\\.((.+?)\\.)"
- /// }
- ///
- /// Note that the regex will remove ``foo_cluster.`` making the tag extracted
- /// name ``cluster.upstream_rq_timeout`` and the tag value for
- /// ``envoy.cluster_name`` will be ``foo_cluster`` (note: there will be no
- /// ``.`` character because of the second capture group).
- ///
- /// Example 2. a stat name
- /// ``http.connection_manager_1.user_agent.ios.downstream_cx_total`` and two
- /// tag specifiers:
- ///
- /// .. code-block:: json
- ///
- /// [
- /// {
- /// "tag_name": "envoy.http_user_agent",
- /// "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$"
- /// },
- /// {
- /// "tag_name": "envoy.http_conn_manager_prefix",
- /// "regex": "^http\\.((.*?)\\.)"
- /// }
- /// ]
- ///
- /// The two regexes of the specifiers will be processed in the definition order.
- ///
- /// The first regex will remove ``ios.``, leaving the tag extracted name
- /// ``http.connection_manager_1.user_agent.downstream_cx_total``. The tag
- /// ``envoy.http_user_agent`` will be added with tag value ``ios``.
- ///
- /// The second regex will remove ``connection_manager_1.`` from the tag
- /// extracted name produced by the first regex
- /// ``http.connection_manager_1.user_agent.downstream_cx_total``, leaving
- /// ``http.user_agent.downstream_cx_total`` as the tag extracted name. The tag
- /// ``envoy.http_conn_manager_prefix`` will be added with the tag value
- /// ``connection_manager_1``.
- #[prost(string, tag="2")]
- Regex(::prost::alloc::string::String),
- /// Specifies a fixed tag value for the ``tag_name``.
- #[prost(string, tag="3")]
- FixedValue(::prost::alloc::string::String),
- }
-}
-/// Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support
-/// tagged metrics.
-/// \[#extension: envoy.stat_sinks.statsd\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StatsdSink {
- /// Optional custom prefix for StatsdSink. If
- /// specified, this will override the default prefix.
- /// For example:
- ///
- /// .. code-block:: json
- ///
- /// {
- /// "prefix" : "envoy-prod"
- /// }
- ///
- /// will change emitted stats to
- ///
- /// .. code-block:: cpp
- ///
- /// envoy-prod.test_counter:1|c
- /// envoy-prod.test_timer:5|ms
- ///
- /// Note that the default prefix, "envoy", will be used if a prefix is not
- /// specified.
- ///
- /// Stats with default prefix:
- ///
- /// .. code-block:: cpp
- ///
- /// envoy.test_counter:1|c
- /// envoy.test_timer:5|ms
- #[prost(string, tag="3")]
- pub prefix: ::prost::alloc::string::String,
- #[prost(oneof="statsd_sink::StatsdSpecifier", tags="1, 2")]
- pub statsd_specifier: ::core::option::Option<statsd_sink::StatsdSpecifier>,
-}
-/// Nested message and enum types in `StatsdSink`.
-pub mod statsd_sink {
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum StatsdSpecifier {
- /// The UDP address of a running `statsd <<https://github.com/etsy/statsd>`_>
- /// compliant listener. If specified, statistics will be flushed to this
- /// address.
- #[prost(message, tag="1")]
- Address(super::super::super::super::api::v2::core::Address),
- /// The name of a cluster that is running a TCP `statsd
- /// <<https://github.com/etsy/statsd>`_> compliant listener. If specified,
- /// Envoy will connect to this cluster to flush statistics.
- #[prost(string, tag="2")]
- TcpClusterName(::prost::alloc::string::String),
- }
-}
-/// Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
-/// The sink emits stats with `DogStatsD <<https://docs.datadoghq.com/guides/dogstatsd/>`_>
-/// compatible tags. Tags are configurable via :ref:`StatsConfig
-/// <envoy_api_msg_config.metrics.v2.StatsConfig>`.
-/// \[#extension: envoy.stat_sinks.dog_statsd\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct DogStatsdSink {
- /// Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
- /// <envoy_api_field_config.metrics.v2.StatsdSink.prefix>` for more details.
- #[prost(string, tag="3")]
- pub prefix: ::prost::alloc::string::String,
- #[prost(oneof="dog_statsd_sink::DogStatsdSpecifier", tags="1")]
- pub dog_statsd_specifier: ::core::option::Option<dog_statsd_sink::DogStatsdSpecifier>,
-}
-/// Nested message and enum types in `DogStatsdSink`.
-pub mod dog_statsd_sink {
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum DogStatsdSpecifier {
- /// The UDP address of a running DogStatsD compliant listener. If specified,
- /// statistics will be flushed to this address.
- #[prost(message, tag="1")]
- Address(super::super::super::super::api::v2::core::Address),
- }
-}
-/// Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
-/// The sink emits stats in `text/event-stream
-/// <<https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_>
-/// formatted stream for use by `Hystrix dashboard
-/// <<https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.>
-///
-/// Note that only a single HystrixSink should be configured.
-///
-/// Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
-/// \[#extension: envoy.stat_sinks.hystrix\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, Copy, PartialEq, ::prost::Message)]
-pub struct HystrixSink {
- /// The number of buckets the rolling statistical window is divided into.
- ///
- /// Each time the sink is flushed, all relevant Envoy statistics are sampled and
- /// added to the rolling window (removing the oldest samples in the window
- /// in the process). The sink then outputs the aggregate statistics across the
- /// current rolling window to the event stream(s).
- ///
- /// rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
- ///
- /// More detailed explanation can be found in `Hystrix wiki
- /// <<https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.>
- #[prost(int64, tag="1")]
- pub num_buckets: i64,
-}
-// \[#protodoc-title: Metrics service\]
-
-/// Metrics Service is configured as a built-in *envoy.stat_sinks.metrics_service* :ref:`StatsSink
-/// <envoy_api_msg_config.metrics.v2.StatsSink>`. This opaque configuration will be used to create
-/// Metrics Service.
-/// \[#extension: envoy.stat_sinks.metrics_service\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct MetricsServiceConfig {
- /// The upstream gRPC cluster that hosts the metrics service.
- #[prost(message, optional, tag="1")]
- pub grpc_service: ::core::option::Option<super::super::super::api::v2::core::GrpcService>,
-}
-// @@protoc_insertion_point(module)