UNPKG

@zendesk/react-measure-timing-hooks

Version:

react hooks for measuring time to interactive and time to render of components

33 lines (32 loc) 2.47 kB
import type { SpanMatch } from './matchSpan'; import type { DraftTraceConfig, StartTraceConfig } from './spanTypes'; import { type CompleteTraceDefinition, type ComputedSpanDefinitionInput, type ComputedValueDefinitionInput, type DraftTraceContext, type RelationSchemasBase, type TraceDefinitionModifications, type TraceManagerUtilities, type TraceModifications } from './types'; /** * Tracer can create draft traces and start traces */ export declare class Tracer<const SelectedRelationNameT extends keyof RelationSchemasT, const RelationSchemasT extends RelationSchemasBase<RelationSchemasT>, const VariantsT extends string> { private definition; private traceUtilities; constructor(definition: CompleteTraceDefinition<SelectedRelationNameT, RelationSchemasT, VariantsT>, traceUtilities: TraceManagerUtilities<RelationSchemasT>); /** * @returns The ID of the trace. */ start: (input: StartTraceConfig<RelationSchemasT[SelectedRelationNameT], VariantsT>, definitionModifications?: TraceDefinitionModifications<SelectedRelationNameT, RelationSchemasT, VariantsT>) => string | undefined; createDraft: (input: Omit<DraftTraceConfig<RelationSchemasT[SelectedRelationNameT], VariantsT>, "relatedTo">, definitionModifications?: TraceDefinitionModifications<SelectedRelationNameT, RelationSchemasT, VariantsT>) => string | undefined; interrupt: ({ error }?: { error?: Error; }) => void; /** * Adds additional required spans or debounce spans to the current trace *only*. * Note: This recreates the Trace instance with the modified definition and replays all the spans. */ addRequirementsToCurrentTraceOnly: (definitionModifications: TraceDefinitionModifications<SelectedRelationNameT, RelationSchemasT, VariantsT>) => void; transitionDraftToActive: (inputAndDefinitionModifications: TraceModifications<SelectedRelationNameT, RelationSchemasT, VariantsT>) => void; getCurrentTrace: () => DraftTraceContext<SelectedRelationNameT, RelationSchemasT, VariantsT> | undefined; defineComputedSpan: (definition: ComputedSpanDefinitionInput<SelectedRelationNameT, RelationSchemasT, VariantsT> & { name: string; }) => void; defineComputedValue: <const MatchersT extends SpanMatch<SelectedRelationNameT, RelationSchemasT, VariantsT>[]>(definition: ComputedValueDefinitionInput<SelectedRelationNameT, RelationSchemasT, VariantsT, MatchersT> & { name: string; }) => void; }