@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
TypeScript
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;
}