IFClite TypeScript API
    Preparing search index...

    Interface LoadTrace

    One load's trace. Every method is safe to call when tracing is OFF: the disabled implementation keeps only the start time (so milestone/finish still return elapsed ms) and every other call is an empty function, so an instrumented call site costs one monomorphic no-op call and no allocation.

    interface LoadTrace {
        enabled: boolean;
        loadId: string;
        start: number;
        begin(
            name: string,
            attrs?: Readonly<Record<string, TraceAttrValue>>,
            parent?: number,
        ): number;
        end(token: number, attrs?: Readonly<Record<string, TraceAttrValue>>): void;
        finish(attrs?: LoadTraceAttributes): number;
        merge(payload: WorkerTracePayload, parent?: number): void;
        milestone(name: string, atMs?: number | null): number;
        record(
            name: string,
            start: number,
            end: number,
            attrs?: Readonly<Record<string, TraceAttrValue>>,
            parent?: number,
        ): void;
        setAttrs(attrs: LoadTraceAttributes): void;
        snapshot(): LoadTraceSnapshot | null;
        span<T>(
            name: string,
            fn: () => T,
            attrs?: Readonly<Record<string, TraceAttrValue>>,
            parent?: number,
        ): T;
    }
    Index
    enabled: boolean
    loadId: string
    start: number

    Load start on the main performance.now() clock.

    • Open a span; returns a token for end (-1 when disabled).

      Parameters

      • name: string
      • Optionalattrs: Readonly<Record<string, TraceAttrValue>>
      • Optionalparent: number

      Returns number

    • Parameters

      • token: number
      • Optionalattrs: Readonly<Record<string, TraceAttrValue>>

      Returns void

    • Fold a worker's spans onto this timeline (clock-aligned via timeOrigin).

      Parameters

      Returns void

    • Mark a milestone atMs after the load start (default: now). The span runs from the load start, so its measure duration IS the time-to-milestone. The first call per name is recorded; every call returns the elapsed ms.

      Parameters

      • name: string
      • OptionalatMs: number | null

      Returns number

    • Record an interval the caller already measured.

      Parameters

      • name: string
      • start: number
      • end: number
      • Optionalattrs: Readonly<Record<string, TraceAttrValue>>
      • Optionalparent: number

      Returns void

    • Time fn; a returned promise ends the span when it settles. Returns fn's result unchanged.

      Type Parameters

      • T

      Parameters

      • name: string
      • fn: () => T
      • Optionalattrs: Readonly<Record<string, TraceAttrValue>>
      • Optionalparent: number

      Returns T