@gauf/tracker
Version:
Browser tracker with perfect customization
37 lines • 1.42 kB
TypeScript
import Collector, { Settings as CollectorSettings } from "@gauf/tracker/collector";
import { Packed, Packer } from "@gauf/tracker/packer";
import { Transport } from "@gauf/tracker/transport";
export { default as MetricEmitter } from "@gauf/tracker/emitter";
export declare type Metric = {
name: string;
emitter: string;
timestamp: number;
payload?: any;
};
export declare type Metrics = Metric[];
export declare type Payload = any;
export declare type Settings = {
heartbeat?: number;
collector?: CollectorSettings;
transport?: object;
packer?: Packer<any>;
};
export default class Tracker {
protected interval?: number;
protected heartbeat: number;
protected metrics: Metric[];
protected collector: Collector;
protected transport: Transport;
protected packer: Packer<any>;
protected payload?: Payload;
constructor(url: string, trackerSettings?: Settings);
activate(payload?: Payload): void;
deactivate(): void;
protected packData(): Packed<any>;
protected createSendInterval(): void;
protected createCollector(settings?: CollectorSettings): Collector;
protected createTransport(url: string, settings?: object): Transport;
protected createPacker(transport: Transport, settings?: Packer<any>): Packer<any>;
protected collect(metric: Metric): void;
}
//# sourceMappingURL=tracker.d.ts.map