Hyperlinkv0.8.0-beta.28

Metric

Metric.FiberRuntimeMetricsKeyconsteffect/Metric.ts:3517
"effect/observability/Metric/FiberRuntimeMetricsKey"

Service key for the fiber runtime metrics service.

Example (Accessing the fiber runtime metrics key)

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

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

const program = Effect.gen(function*() {
  // The key is used internally by the Effect runtime to manage fiber metrics
  const key = Metric.FiberRuntimeMetricsKey
  console.log("Fiber metrics key:", key)

  // Enable runtime metrics using the key
  const layer = Layer.succeed(Metric.FiberRuntimeMetrics)(
    Metric.FiberRuntimeMetricsImpl
  )

  return yield* Effect.gen(function*() {
    // This Effect will have fiber metrics automatically collected
    yield* Effect.sleep("100 millis")

    // Create a test counter to demonstrate the key usage
    const testCounter = Metric.counter("test_counter")
    yield* Metric.update(testCounter, 1)
    return yield* Metric.value(testCounter)
  }).pipe(Effect.provide(layer))
})
metrics
Source effect/Metric.ts:35172 lines
export const FiberRuntimeMetricsKey: "effect/observability/Metric/FiberRuntimeMetricsKey" =
  InternalMetric.FiberRuntimeMetricsKey