metriceventstream

package
v4.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package metriceventstream allows exposing your circuit's health as a metric stream that you can visualize with the hystrix dashboard. Note, you do not have to use hystrix open/close logic to take advantage of this.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MetricEventStream

type MetricEventStream struct {
	Manager      *circuit.Manager
	TickDuration time.Duration
	// contains filtered or unexported fields
}

MetricEventStream is a HTTP handler that supports hystrix's metric stream API See https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#metrics-event-stream. It requires that your metrics are monitored by rolling stats, because it uses them to get health information.

Example

This example creates an event stream handler, starts it, then later closes the handler

// metriceventstream uses rolling stats to report circuit information
sf := rolling.StatFactory{}
h := circuit.Manager{
	DefaultCircuitProperties: []circuit.CommandPropertiesConstructor{sf.CreateConfig},
}
es := metriceventstream.MetricEventStream{
	Manager: &h,
}
go func() {
	if err := es.Start(); err != nil {
		log.Fatal(err)
	}
}()
// ES is a http.Handler, so you can pass it directly to your mux
http.Handle("/hystrix.stream", &es)
// ...
if err := es.Close(); err != nil {
	log.Fatal(err)
}
Output:

func (*MetricEventStream) Close

func (m *MetricEventStream) Close() error

Close ends the Start function

func (*MetricEventStream) ServeHTTP

func (m *MetricEventStream) ServeHTTP(rw http.ResponseWriter, req *http.Request)

ServeHTTP sends a never ending list of metric events

func (*MetricEventStream) Start

func (m *MetricEventStream) Start() error

Start should be called once per MetricEventStream. It runs forever, until Close is called.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL