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