circuitbreakingcfg

package
v3.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 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 ProvideCircuitBreakerFromConfig

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

ProvideCircuitBreakerFromConfig 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"`
	ErrorRate              float64 `env:"ERROR_RATE"               json:"circuitBreakerErrorPercentage"`
	MinimumSampleThreshold uint64  `env:"MINIMUM_SAMPLE_THRESHOLD" json:"circuitBreakerMinimumOccurrenceThreshold"`
}

func (*Config) EnsureDefaults

func (cfg *Config) EnsureDefaults()

func (*Config) ProvideCircuitBreaker

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

ProvideCircuitBreaker provides a CircuitBreaker.

func (*Config) ValidateWithContext

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

type ProvideOption

type ProvideOption func(*provideOptions)

ProvideOption customizes how a CircuitBreaker is provided.

func WithMetricAttributes

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

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
⌂ 换网址