diff --git a/api/BUILD b/api/BUILD index 6a638ded..b7928535 100644 --- a/api/BUILD +++ b/api/BUILD @@ -333,6 +333,7 @@ proto_library( ":cds", ":eds", ":lds", + ":metrics", ":protocol", ":rds", ":rls", diff --git a/api/metrics_service.proto b/api/metrics_service.proto index edff678e..0d82a076 100644 --- a/api/metrics_service.proto +++ b/api/metrics_service.proto @@ -2,6 +2,8 @@ syntax = "proto3"; // [#proto-status: draft] +// [#protodoc-title: Metrics Service] + package envoy.api.v2; import "api/base.proto"; @@ -29,16 +31,16 @@ message StreamMetricsMessage { Node node = 1 [(validate.rules).message.required = true]; } - // Identifier data effectively is a structured metadata. - // As a performance optimization this will only be sent in the first message on the stream. + // Identifier data effectively is a structured metadata. As a performance optimization this will + // only be sent in the first message on the stream. Identifier identifier = 1; // A list of metric entries repeated io.prometheus.client.MetricFamily envoy_metrics = 2; } -// Configuration structure for Metrics Service. It is a :ref: `StatsSink ` -// opaque configuration that will be used to create Metrics Service. +// Metrics Service is configured as a built-in *envoy.metrics_service* :ref:`StatsSink +// `. This opaque configuration will be used to create Metrics Service. message MetricsServiceConfig { // The upstream gRPC cluster that hosts the metrics service. GrpcService grpc_service = 1 [(validate.rules).message.required = true]; diff --git a/api/stats.proto b/api/stats.proto index 95ba4e81..953b7bc1 100644 --- a/api/stats.proto +++ b/api/stats.proto @@ -15,11 +15,11 @@ import "validate/validate.proto"; // Configuration for pluggable stats sinks. message StatsSink { // The name of the stats sink to instantiate. The name must match a supported - // stats sink. *envoy.statsd* is a built-in sink suitable for emitting to - // `statsd `_. Any other built-in stats sink - // can be found in `well_known_names.h - // `_ - // in the Envoy repository. + // stats sink. The built-in stats sinks are: + // + // * :ref:`envoy.statsd ` + // * :ref:`envoy.dog_statsd ` + // * :ref:`envoy.metrics_service ` string name = 1; // Stats sink specific configuration which depends on the sink being diff --git a/docs/build.sh b/docs/build.sh index 96a5f60e..ddafb6de 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -36,6 +36,7 @@ PROTO_RST=" /api/grpc_service/api/grpc_service.proto.rst /api/health_check/api/health_check.proto.rst /api/lds/api/lds.proto.rst + /api/metrics/api/metrics_service.proto.rst /api/rds/api/rds.proto.rst /api/rls/api/rls.proto.rst /api/sds/api/sds.proto.rst diff --git a/docs/root/api-v2/api.rst b/docs/root/api-v2/api.rst index 26611d89..4106a765 100644 --- a/docs/root/api-v2/api.rst +++ b/docs/root/api-v2/api.rst @@ -17,6 +17,7 @@ v2 API reference rds.proto sds.proto stats.proto + metrics_service.proto trace.proto base.proto address.proto