Hyperlinkv0.8.0-beta.28

References

References.TracerTimingEnabledconsteffect/References.ts:657
Context.Reference<boolean>

Context reference for controlling whether trace timing is enabled globally. When set to false, spans will not contain timing information (trace time will always be set to zero).

When to use

Use to disable or re-enable timing capture for spans in the current context.

Example (Toggling trace timing)

import { Effect, References } from "effect"

const tracingControl = Effect.gen(function*() {
  // Check if trace timing is enabled (default is true)
  const current = yield* References.TracerTimingEnabled
  console.log(current) // true

  // Disable trace timing globally
  yield* Effect.provideService(
    Effect.gen(function*() {
      // Spans will not having timing information in this context
      const isEnabled = yield* References.TracerTimingEnabled
      console.log(isEnabled) // false
    }),
    References.TracerTimingEnabled,
    false
  )

  // Re-enable trace timing
  yield* Effect.provideService(
    Effect.gen(function*() {
      // Spans will have timing information in this context
      const isEnabled = yield* References.TracerTimingEnabled
      console.log(isEnabled) // true
    }),
    References.TracerTimingEnabled,
    true
  )
})
references
export const TracerTimingEnabled: Context.Reference<boolean> = references.TracerTimingEnabled