Hyperlinkv0.8.0-beta.28

Metric

Metric.disableRuntimeMetricsLayerconsteffect/Metric.ts:3826
Layer.Layer<never, never, never>

Layer that disables automatic collection of fiber runtime metrics.

Example (Disabling runtime metrics with a layer)

import { Data, Effect, Metric } from "effect"

class MetricsError extends Data.TaggedError("MetricsError")<{
  readonly operation: string
}> {}

const program = Effect.gen(function*() {
  // Disable runtime metrics collection
  const disabledLayer = Metric.disableRuntimeMetricsLayer

  return yield* Effect.gen(function*() {
    // Check that metrics service is disabled
    const metricsService = yield* Metric.FiberRuntimeMetrics
    console.log("Metrics enabled:", metricsService !== undefined) // false

    // Run some Effects - no metrics will be collected
    yield* Effect.forkChild(Effect.sleep("50 millis"))
    yield* Effect.forkChild(Effect.sleep("100 millis"))
    yield* Effect.sleep("200 millis")

    // Create test metrics to show they still work
    const testCounter = Metric.counter("test_counter")
    yield* Metric.update(testCounter, 1)
    const counterValue = yield* Metric.value(testCounter)

    return { counterValue, metricsEnabled: metricsService !== undefined }
  }).pipe(Effect.provide(disabledLayer))
})
metrics
Source effect/Metric.ts:38261 lines
export const disableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(undefined)