circuitbreaker

package
v0.0.0-...-cbea63e Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2021 License: Apache-2.0 Imports: 9 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CircuitHealthCheck

func CircuitHealthCheck() (map[string]string, error)

CircuitHealthCheck will report if a circuit is open

func Open

func Open(service, endpoint string) bool

Open is a helper function to call open on the correct default circuit

func Result

func Result(service, endpoint string, err error)

Result is a helper function to call Result on the correct default circuit

Types

type Circuit

type Circuit interface {
	Open() bool
	Result(err error)
}

Circuit keeps track of whether a connection is open or closed

type DefaultCircuit

type DefaultCircuit struct {
	// contains filtered or unexported fields
}

func NewDefaultCircuit

func NewDefaultCircuit(opts Options) *DefaultCircuit

func (*DefaultCircuit) Open

func (r *DefaultCircuit) Open() bool

func (*DefaultCircuit) Result

func (r *DefaultCircuit) Result(err error)

type Options

type Options struct {
	Disabled bool `json:"disabled,omitempty"`

	// Rate threshold config
	Threshold  float64 `json:"threshold,omitempty"`
	MinSamples int64   `json:"minSamples,omitempty"`

	// Backoff config
	Multiplier          float64 `json:"multiplier,omitempty"`
	RandomizationFactor float64 `json:"randomizationFactor,omitempty"`
	InitialIntervalMs   int64   `json:"initialIntervalMs,omitempty"`
	MaxIntervalMs       int64   `json:"maxIntervalMs,omitempty"`
	MaxElapsedTimeMs    int64   `json:"maxElapsedTimeMs,omitempty"`
}

Jump to

Keyboard shortcuts

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