Skip to main content
Dotset CLI API Documentation / index / CircuitBreakerStats

Interface: CircuitBreakerStats

Defined in: src/shield/errors/index.ts:735 Error Handling and Recovery Module Comprehensive error handling with retry logic and circuit breakers.

Example

import {
  withRetry,
  withTimeout,
  CircuitBreaker,
  isRetryableError,
} from '@dotsetlabs/cli';

// Retry with exponential backoff
const result = await withRetry(
  () => fetchSecrets(),
  { maxAttempts: 3, baseDelayMs: 1000, backoffMultiplier: 2 }
);

// Add timeout to operation
const secrets = await withTimeout(fetchSecrets(), 5000);

// Use circuit breaker for external services
const breaker = new CircuitBreaker('aws-sm', {
  failureThreshold: 5,
  resetTimeoutMs: 30000,
});

const secret = await breaker.execute(() => getFromAWS(key));

Properties

consecutiveSuccesses

consecutiveSuccesses: number;
Defined in: src/shield/errors/index.ts:739

failures

failures: number;
Defined in: src/shield/errors/index.ts:737

lastFailure?

optional lastFailure: Date;
Defined in: src/shield/errors/index.ts:740

lastSuccess?

optional lastSuccess: Date;
Defined in: src/shield/errors/index.ts:741

openedAt?

optional openedAt: Date;
Defined in: src/shield/errors/index.ts:742

state

state: CircuitState;
Defined in: src/shield/errors/index.ts:736

successes

successes: number;
Defined in: src/shield/errors/index.ts:738

totalFailures

totalFailures: number;
Defined in: src/shield/errors/index.ts:744

totalRequests

totalRequests: number;
Defined in: src/shield/errors/index.ts:743

totalSuccesses

totalSuccesses: number;
Defined in: src/shield/errors/index.ts:745