Module: Stoplight::Domain::_MetricsStore

Overview

Encapsulates metrics storage for circuit breaker execution tracking.

This abstraction isolates metrics collection and retrieval from the broader data store concerns, enabling:

  • Purpose-built implementations optimized for time-series data
  • Independent scaling and optimization of metrics vs. state storage
  • Clearer separation between "what happened" (metrics) and "what to do" (state)

Lifecycle: A Metrics instance is scoped to a single circuit breaker configuration. Each circuit gets its own metrics store instance, allowing different circuits to use different storage strategies.

Instance Method Summary collapse

Instance Method Details

#clearvoid

This method returns an undefined value.

Clears all metrics for this circuit



26
# File 'sig/_private/stoplight/domain/ports/metrics_store.rbs', line 26

def clear: () -> void

#metrics_snapshotDomain::MetricsSnapshot

Retrieves a snapshot of current metrics for decision-making.



17
# File 'sig/_private/stoplight/domain/ports/metrics_store.rbs', line 17

def metrics_snapshot: () -> Domain::MetricsSnapshot

#record_failurevoid

This method returns an undefined value.

Records a failed circuit breaker execution

Parameters:

  • error (StandardError)


23
# File 'sig/_private/stoplight/domain/ports/metrics_store.rbs', line 23

def record_failure: (StandardError error) -> void

#record_successvoid

This method returns an undefined value.

Records a successful circuit breaker execution



20
# File 'sig/_private/stoplight/domain/ports/metrics_store.rbs', line 20

def record_success: () -> void