parent
b236cc7c73
commit
c54d0ded74
7 changed files with 86 additions and 2 deletions
@ -0,0 +1,40 @@ |
|||||||
|
syntax = "proto3"; |
||||||
|
|
||||||
|
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; |
||||||
|
} |
Loading…
Reference in new issue