Hyperlinkv0.8.0-beta.28

Effect

Effect.annotateSpansconsteffect/Effect.ts:7993
(key: string, value: unknown): <A, E, R>(
  effect: Effect<A, E, R>
) => Effect<A, E, R>
(values: Record<string, unknown>): <A, E, R>(
  effect: Effect<A, E, R>
) => Effect<A, E, R>
<A, E, R>(effect: Effect<A, E, R>, key: string, value: unknown): Effect<
  A,
  E,
  R
>
<A, E, R>(
  effect: Effect<A, E, R>,
  values: Record<string, unknown>
): Effect<A, E, R>

Adds an annotation to each span in this effect.

Example (Annotating all spans)

import { Effect } from "effect"

const program = Effect.gen(function*() {
  yield* Effect.log("Doing some work...")
  return "result"
})

// Add single annotation
const annotated1 = Effect.annotateSpans(program, "user", "john")

// Add multiple annotations
const annotated2 = Effect.annotateSpans(program, {
  operation: "data-processing",
  version: "1.0.0",
  environment: "production"
})
tracing
Source effect/Effect.ts:799318 lines
export const annotateSpans: {
  (
    key: string,
    value: unknown
  ): <A, E, R>(effect: Effect<A, E, R>) => Effect<A, E, R>
  (
    values: Record<string, unknown>
  ): <A, E, R>(effect: Effect<A, E, R>) => Effect<A, E, R>
  <A, E, R>(
    effect: Effect<A, E, R>,
    key: string,
    value: unknown
  ): Effect<A, E, R>
  <A, E, R>(
    effect: Effect<A, E, R>,
    values: Record<string, unknown>
  ): Effect<A, E, R>
} = internal.annotateSpans