[cluster] Use `alt_stat_name` for general observability purposes (access log, tracing, admin) (#15139)

* Re-purpose alt_stat_name for other observability use-cases: access logging, tracing, and admin dumps through a new ClusterInfo field, `observabilityName()`.

Signed-off-by: Asra Ali <asraa@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ 5551e0a3e442cca24d76eeea76e8b9dc5f894303
pull/624/head
data-plane-api(Azure Pipelines) 4 years ago
parent e21b8277e4
commit 7e9e905982
  1. 5
      envoy/admin/v3/clusters.proto
  2. 5
      envoy/admin/v4alpha/clusters.proto
  3. 16
      envoy/config/cluster/v3/cluster.proto
  4. 15
      envoy/config/cluster/v4alpha/cluster.proto

@ -29,7 +29,7 @@ message Clusters {
}
// Details an individual cluster's current status.
// [#next-free-field: 7]
// [#next-free-field: 8]
message ClusterStatus {
option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v2alpha.ClusterStatus";
@ -80,6 +80,9 @@ message ClusterStatus {
// :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
config.cluster.v3.CircuitBreakers circuit_breakers = 6;
// Observability name of the cluster.
string observability_name = 7;
}
// Current state of a particular host.

@ -29,7 +29,7 @@ message Clusters {
}
// Details an individual cluster's current status.
// [#next-free-field: 7]
// [#next-free-field: 8]
message ClusterStatus {
option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.ClusterStatus";
@ -80,6 +80,9 @@ message ClusterStatus {
// :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
config.cluster.v4alpha.CircuitBreakers circuit_breakers = 6;
// Observability name of the cluster.
string observability_name = 7;
}
// Current state of a particular host.

@ -21,6 +21,7 @@ import "google/protobuf/wrappers.proto";
import "xds/core/v3/collection_entry.proto";
import "udpa/annotations/migrate.proto";
import "udpa/annotations/security.proto";
import "udpa/annotations/status.proto";
import "udpa/annotations/versioning.proto";
@ -683,11 +684,16 @@ message Cluster {
// Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
string name = 1 [(validate.rules).string = {min_len: 1}];
// An optional alternative to the cluster name to be used while emitting stats.
// Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
// confused with :ref:`Router Filter Header
// <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
string alt_stat_name = 28;
// An optional alternative to the cluster name to be used for observability. This name is used
// emitting stats for the cluster and access logging the cluster name. This will appear as
// additional information in configuration dumps of a cluster's current status as
// :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
// and as an additional tag "upstream_cluster.name" while tracing. Note: access logging using
// this field is presently enabled with runtime feature
// `envoy.reloadable_features.use_observable_cluster_name`. Any ``:`` in the name will be
// converted to ``_`` when emitting statistics. This should not be confused with :ref:`Router
// Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
string alt_stat_name = 28 [(udpa.annotations.field_migrate).rename = "observability_name"];
oneof cluster_discovery_type {
// The :ref:`service discovery type <arch_overview_service_discovery_types>`

@ -694,11 +694,16 @@ message Cluster {
// Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
string name = 1 [(validate.rules).string = {min_len: 1}];
// An optional alternative to the cluster name to be used while emitting stats.
// Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
// confused with :ref:`Router Filter Header
// <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
string alt_stat_name = 28;
// An optional alternative to the cluster name to be used for observability. This name is used
// emitting stats for the cluster and access logging the cluster name. This will appear as
// additional information in configuration dumps of a cluster's current status as
// :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
// and as an additional tag "upstream_cluster.name" while tracing. Note: access logging using
// this field is presently enabled with runtime feature
// `envoy.reloadable_features.use_observable_cluster_name`. Any ``:`` in the name will be
// converted to ``_`` when emitting statistics. This should not be confused with :ref:`Router
// Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
string observability_name = 28;
oneof cluster_discovery_type {
// The :ref:`service discovery type <arch_overview_service_discovery_types>`

Loading…
Cancel
Save