@zendesk/react-measure-timing-hooks
Version:
react hooks for measuring time to interactive and time to render of components
24 lines (23 loc) • 1.62 kB
TypeScript
import { type SpanMatch } from './matchSpan';
import type { SpanAnnotationRecord } from './spanAnnotationTypes';
import type { Span } from './spanTypes';
import { Tracer } from './Tracer';
import type { AllPossibleTraceContexts, ComputedValueDefinitionInput, RelationSchemasBase, SpanDeduplicationStrategy, TraceDefinition, TraceManagerConfig } from './types';
/**
* Class representing the centralized trace performance manager.
*/
export declare class TraceManager<const RelationSchemasT extends RelationSchemasBase<RelationSchemasT>> {
readonly performanceEntryDeduplicationStrategy?: SpanDeduplicationStrategy<RelationSchemasT>;
private currentTrace;
get currentTracerContext(): AllPossibleTraceContexts<RelationSchemasT, string> | undefined;
constructor(configInput: Omit<TraceManagerConfig<RelationSchemasT>, 'reportWarningFn'> & {
reportWarningFn?: (warning: Error) => void;
});
private utilities;
createTracer<const SelectedRelationNameT extends keyof RelationSchemasT, const VariantsT extends string, const ComputedValueTuplesT extends {
[K in keyof ComputedValueTuplesT]: SpanMatch<NoInfer<SelectedRelationNameT>, RelationSchemasT, NoInfer<VariantsT>>[];
}>(traceDefinition: TraceDefinition<SelectedRelationNameT, RelationSchemasT, VariantsT, {
[K in keyof ComputedValueTuplesT]: ComputedValueDefinitionInput<NoInfer<SelectedRelationNameT>, RelationSchemasT, NoInfer<VariantsT>, ComputedValueTuplesT[K]>;
}>): Tracer<SelectedRelationNameT, RelationSchemasT, VariantsT>;
processSpan(span: Span<RelationSchemasT>): SpanAnnotationRecord | undefined;
}