hystrix-go: github.com/afex/hystrix-go/hystrix/metric_collector Index | Files

package metricCollector

import "github.com/afex/hystrix-go/hystrix/metric_collector"

Index

Package Files

default_metric_collector.go metric_collector.go

Variables

var Registry = metricCollectorRegistry{
    lock: &sync.RWMutex{},
    registry: []func(name string) MetricCollector{
        newDefaultMetricCollector,
    },
}

Registry is the default metricCollectorRegistry that circuits will use to collect statistics about the health of the circuit.

type DefaultMetricCollector Uses

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

DefaultMetricCollector holds information about the circuit state. This implementation of MetricCollector is the canonical source of information about the circuit. It is used for for all internal hystrix operations including circuit health checks and metrics sent to the hystrix dashboard.

Metric Collectors do not need Mutexes as they are updated by circuits within a locked context.

func (*DefaultMetricCollector) ContextCanceled Uses

func (d *DefaultMetricCollector) ContextCanceled() *rolling.Number

func (*DefaultMetricCollector) ContextDeadlineExceeded Uses

func (d *DefaultMetricCollector) ContextDeadlineExceeded() *rolling.Number

func (*DefaultMetricCollector) Errors Uses

func (d *DefaultMetricCollector) Errors() *rolling.Number

Errors returns the rolling number of errors

func (*DefaultMetricCollector) Failures Uses

func (d *DefaultMetricCollector) Failures() *rolling.Number

Failures returns the rolling number of failures

func (*DefaultMetricCollector) FallbackFailures Uses

func (d *DefaultMetricCollector) FallbackFailures() *rolling.Number

FallbackFailures returns the rolling number of fallback failures

func (*DefaultMetricCollector) FallbackSuccesses Uses

func (d *DefaultMetricCollector) FallbackSuccesses() *rolling.Number

FallbackSuccesses returns the rolling number of fallback successes

func (*DefaultMetricCollector) NumRequests Uses

func (d *DefaultMetricCollector) NumRequests() *rolling.Number

NumRequests returns the rolling number of requests

func (*DefaultMetricCollector) Rejects Uses

func (d *DefaultMetricCollector) Rejects() *rolling.Number

Rejects returns the rolling number of rejects

func (*DefaultMetricCollector) Reset Uses

func (d *DefaultMetricCollector) Reset()

Reset resets all metrics in this collector to 0.

func (*DefaultMetricCollector) RunDuration Uses

func (d *DefaultMetricCollector) RunDuration() *rolling.Timing

RunDuration returns the rolling run duration

func (*DefaultMetricCollector) ShortCircuits Uses

func (d *DefaultMetricCollector) ShortCircuits() *rolling.Number

ShortCircuits returns the rolling number of short circuits

func (*DefaultMetricCollector) Successes Uses

func (d *DefaultMetricCollector) Successes() *rolling.Number

Successes returns the rolling number of successes

func (*DefaultMetricCollector) Timeouts Uses

func (d *DefaultMetricCollector) Timeouts() *rolling.Number

Timeouts returns the rolling number of timeouts

func (*DefaultMetricCollector) TotalDuration Uses

func (d *DefaultMetricCollector) TotalDuration() *rolling.Timing

TotalDuration returns the rolling total duration

func (*DefaultMetricCollector) Update Uses

func (d *DefaultMetricCollector) Update(r MetricResult)

type MetricCollector Uses

type MetricCollector interface {
    // Update accepts a set of metrics from a command execution for remote instrumentation
    Update(MetricResult)
    // Reset resets the internal counters and timers.
    Reset()
}

MetricCollector represents the contract that all collectors must fulfill to gather circuit statistics. Implementations of this interface do not have to maintain locking around thier data stores so long as they are not modified outside of the hystrix context.

type MetricResult Uses

type MetricResult struct {
    Attempts                float64
    Errors                  float64
    Successes               float64
    Failures                float64
    Rejects                 float64
    ShortCircuits           float64
    Timeouts                float64
    FallbackSuccesses       float64
    FallbackFailures        float64
    ContextCanceled         float64
    ContextDeadlineExceeded float64
    TotalDuration           time.Duration
    RunDuration             time.Duration
    ConcurrencyInUse        float64
}

Package metricCollector imports 3 packages (graph) and is imported by 30 packages. Updated 2018-05-02. Refresh now. Tools for package owners.