From d420aac79001bc01a17f6dd5b36d15240e8d2a4a Mon Sep 17 00:00:00 2001 From: "data-plane-api(CircleCI)" Date: Thu, 28 Jun 2018 14:17:18 +0000 Subject: [PATCH] support for hystrix dashboard through an admin endpoint, using sink (#3425) Signed-off-by: trabetti Mirrored from https://github.com/envoyproxy/envoy @ 9c273391b532dc20e7300dd2306782494947aa57 --- envoy/config/metrics/v2/stats.proto | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/envoy/config/metrics/v2/stats.proto b/envoy/config/metrics/v2/stats.proto index 8d128611..121f59a9 100644 --- a/envoy/config/metrics/v2/stats.proto +++ b/envoy/config/metrics/v2/stats.proto @@ -21,6 +21,7 @@ message StatsSink { // * :ref:`envoy.statsd ` // * :ref:`envoy.dog_statsd ` // * :ref:`envoy.metrics_service ` + // * :ref:`envoy.stat_sinks.hystrix ` // // Sinks optionally support tagged/multiple dimensional metrics. string name = 1; @@ -200,3 +201,27 @@ message DogStatsdSink { reserved 2; } + +// Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink. +// The sink emits stats in `text/event-stream +// `_ +// formatted stream for use by `Hystrix dashboard +// `_. +// +// Note that only a single HystrixSink should be configured. +// +// Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`. +message HystrixSink { + // The number of buckets the rolling statistical window is divided into. + // + // Each time the sink is flushed, all relevant Envoy statistics are sampled and + // added to the rolling window (removing the oldest samples in the window + // in the process). The sink then outputs the aggregate statistics across the + // current rolling window to the event stream(s). + // + // rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets + // + // More detailed explanation can be found in `Hystix wiki + // `_. + int64 num_buckets = 1; +}