ISpectTraceConfig class

Base configuration for trace operations.

Subclasses (e.g. ISpectDbConfig) must override copyWith to preserve their additional fields.

Example:

// Log all errors, sample 10% of successes, redact sensitive keys,
// and mark operations slower than 500ms as "slow".
const cfg = ISpectTraceConfig(
  sampleRate: 0.1,
  errorSampleRate: 1.0,
  redact: true,
  slowThreshold: Duration(milliseconds: 500),
  attachStackOnError: true,
);

await logger.authTrace(
  operation: 'login',
  config: cfg,
  () => authService.signIn(email, password),
);
Annotations
  • @immutable

Constructors

ISpectTraceConfig({double? sampleRate, double errorSampleRate = 1.0, bool redact = true, Set<String> redactKeys = defaultSensitiveKeys, int maxValueLength = 500, bool attachStackOnError = false, Duration? slowThreshold})
const

Properties

attachStackOnError bool
Whether to attach stack traces on error.
final
errorSampleRate double
Sampling rate for error operations (default: 1.0 = log all errors).
final
hashCode int
The hash code for this object.
no setterinherited
maxValueLength int
Maximum length for string values before truncation.
final
redact bool
Whether to apply this trace's redactKeys and egress masking.
final
redactKeys Set<String>
Keys to redact in meta maps and URL query params.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sampleRate double?
Sampling rate for successful operations.
final
slowThreshold Duration?
Duration threshold for "slow" operations.
final

Methods

copyWith({double? sampleRate, double? errorSampleRate, bool? redact, Set<String>? redactKeys, int? maxValueLength, bool? attachStackOnError, Duration? slowThreshold}) ISpectTraceConfig
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldLog({required bool isError, double? localSample}) bool
Sampling precedence: error → localSample → sampleRate → null (log all).
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited