metrics_service.proto 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. syntax = "proto3";
  2. package envoy.config.metrics.v3;
  3. import "envoy/config/core/v3/config_source.proto";
  4. import "envoy/config/core/v3/grpc_service.proto";
  5. import "google/protobuf/wrappers.proto";
  6. import "udpa/annotations/status.proto";
  7. import "udpa/annotations/versioning.proto";
  8. import "validate/validate.proto";
  9. option java_package = "io.envoyproxy.envoy.config.metrics.v3";
  10. option java_outer_classname = "MetricsServiceProto";
  11. option java_multiple_files = true;
  12. option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3;metricsv3";
  13. option (udpa.annotations.file_status).package_version_status = ACTIVE;
  14. // [#protodoc-title: Metrics service]
  15. // Metrics Service is configured as a built-in *envoy.stat_sinks.metrics_service* :ref:`StatsSink
  16. // <envoy_v3_api_msg_config.metrics.v3.StatsSink>`. This opaque configuration will be used to create
  17. // Metrics Service.
  18. //
  19. // Example:
  20. //
  21. // .. code-block:: yaml
  22. //
  23. // stats_sinks:
  24. // - name: envoy.stat_sinks.metrics_service
  25. // typed_config:
  26. // "@type": type.googleapis.com/envoy.config.metrics.v3.MetricsServiceConfig
  27. // transport_api_version: V3
  28. //
  29. // [#extension: envoy.stat_sinks.metrics_service]
  30. message MetricsServiceConfig {
  31. option (udpa.annotations.versioning).previous_message_type =
  32. "envoy.config.metrics.v2.MetricsServiceConfig";
  33. // The upstream gRPC cluster that hosts the metrics service.
  34. core.v3.GrpcService grpc_service = 1 [(validate.rules).message = {required: true}];
  35. // API version for metric service transport protocol. This describes the metric service gRPC
  36. // endpoint and version of messages used on the wire.
  37. core.v3.ApiVersion transport_api_version = 3 [(validate.rules).enum = {defined_only: true}];
  38. // If true, counters are reported as the delta between flushing intervals. Otherwise, the current
  39. // counter value is reported. Defaults to false.
  40. // Eventually (https://github.com/envoyproxy/envoy/issues/10968) if this value is not set, the
  41. // sink will take updates from the :ref:`MetricsResponse <envoy_v3_api_msg_service.metrics.v3.StreamMetricsResponse>`.
  42. google.protobuf.BoolValue report_counters_as_deltas = 2;
  43. // If true, metrics will have their tags emitted as labels on the metrics objects sent to the MetricsService,
  44. // and the tag extracted name will be used instead of the full name, which may contain values used by the tag
  45. // extractor or additional tags added during stats creation.
  46. bool emit_tags_as_labels = 4;
  47. }