1 | import { SystemLogLevel } from './Types';
|
2 | export declare type MetricScopeMap = Map<string, number>;
|
3 | export declare type MetricLabelMap = Map<string, number>;
|
4 | export declare type MetricResult = {
|
5 | scope_id: number;
|
6 | label_id: number;
|
7 | start: number;
|
8 | end: number;
|
9 | };
|
10 | export declare type SessionResult = {
|
11 | metricLabels: string[];
|
12 | metricScopes: string[];
|
13 | results: MetricResult[];
|
14 | sessionName: string;
|
15 | sessionStart: number;
|
16 | sessionEnd: number;
|
17 | };
|
18 | export declare type StartSessionOptions = {
|
19 | keepLabels?: boolean;
|
20 | keepScopes?: boolean;
|
21 | keepResults?: boolean;
|
22 | };
|
23 | export declare type NewMeticOptions = {
|
24 | label?: string;
|
25 | scope?: string;
|
26 | };
|
27 |
|
28 |
|
29 |
|
30 | export interface Instrumentor {
|
31 | beginSession(name: string, options?: StartSessionOptions): void;
|
32 | endSession(): SessionResult;
|
33 | newLabel(name: string): number;
|
34 | newScope(name: string): number;
|
35 | metric(options?: NewMeticOptions): MetricCollector;
|
36 | }
|
37 | interface InstrumentorConstructor {
|
38 | new (): Instrumentor;
|
39 | prototype: Instrumentor;
|
40 | }
|
41 | export interface MetricCollector {
|
42 | start(): () => void;
|
43 | }
|
44 | declare const Instrumentor: InstrumentorConstructor;
|
45 | export default Instrumentor;
|
46 | export declare function SetInstrumentorLogger(newLogger: (level: SystemLogLevel, message: any) => void): void;
|