circuitbreakingcfg

package
v5.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2026 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnsureCircuitBreaker

func EnsureCircuitBreaker(breaker circuitbreaking.CircuitBreaker) circuitbreaking.CircuitBreaker

EnsureCircuitBreaker ensures a valid CircuitBreaker is made available.

func NewCircuitBreaker

func NewCircuitBreaker(ctx context.Context, cfg *Config, logger logging.Logger, metricsProvider metrics.Provider, opts ...Option) (circuitbreaking.CircuitBreaker, error)

NewCircuitBreaker provides a CircuitBreaker from config.

func RegisterCircuitBreaker

func RegisterCircuitBreaker(i do.Injector)

RegisterCircuitBreaker registers a CircuitBreaker with the injector.

Types

type Config

type Config struct {
	Name                   string  `env:"NAME"                     json:"name"                                     yaml:"name"`
	ErrorRate              float64 `env:"ERROR_RATE"               json:"circuitBreakerErrorPercentage"            yaml:"circuitBreakerErrorPercentage"`
	MinimumSampleThreshold uint64  `` /* 126-byte string literal not displayed */
}

func (*Config) EnsureDefaults

func (cfg *Config) EnsureDefaults()

func (*Config) NewCircuitBreaker

func (cfg *Config) NewCircuitBreaker(ctx context.Context, logger logging.Logger, metricsProvider metrics.Provider, opts ...Option) (circuitbreaking.CircuitBreaker, error)

NewCircuitBreaker provides a CircuitBreaker.

func (*Config) ValidateWithContext

func (cfg *Config) ValidateWithContext(ctx context.Context) error

type Option

type Option func(*provideOptions)

Option customizes how a CircuitBreaker is provided.

func WithMetricAttributes

func WithMetricAttributes(attrs ...attribute.KeyValue) Option

WithMetricAttributes attaches a fixed set of attributes to every metric the circuit breaker emits. It is used to distinguish breakers that share counter names (for example, tagging a per-key breaker with its partition).

Jump to

Keyboard shortcuts

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