You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
syntax = "proto3"; |
|
|
|
// [#proto-status: draft] |
|
|
|
package envoy.api.v2; |
|
|
|
import "api/base.proto"; |
|
|
|
import "google/api/annotations.proto"; |
|
import "metrics.proto"; |
|
|
|
// Service for streaming metrics to server that consumes the metrics data. It uses Prometheus metric |
|
// data model as a standard to represent metrics information. |
|
service MetricsService { |
|
// Envoy will connect and send StreamMetricsMessage messages forever. It does not expect any |
|
// response to be sent as nothing would be done in the case of failure. |
|
rpc StreamMetrics(stream StreamMetricsMessage) returns (StreamMetricsResponse) { |
|
} |
|
} |
|
|
|
message StreamMetricsResponse { |
|
} |
|
|
|
message StreamMetricsMessage { |
|
message Identifier { |
|
// The node sending the access log messages over the stream. |
|
Node node = 1; |
|
} |
|
|
|
// 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. |
|
message MetricsServiceConfig { |
|
// The name of the upstream cluster that hosts the metrics service. The cluster must be |
|
// configured in the cluster manager. |
|
string cluster_name = 1; |
|
}
|
|
|