n8n
Version:
n8n Workflow Automation Tool
46 lines (45 loc) • 1.74 kB
TypeScript
import type RudderStack from '@rudderstack/rudder-sdk-node';
import { PostHogClient } from '../posthog';
import type { ITelemetryTrackProperties } from 'n8n-workflow';
import { InstanceSettings } from 'n8n-core';
import type { IExecutionTrackProperties } from '../Interfaces';
import { Logger } from '../Logger';
import { License } from '../License';
import { WorkflowRepository } from '../databases/repositories/workflow.repository';
interface IExecutionTrackData {
count: number;
first: Date;
}
interface IExecutionsBuffer {
[workflowId: string]: {
manual_error?: IExecutionTrackData;
manual_success?: IExecutionTrackData;
prod_error?: IExecutionTrackData;
prod_success?: IExecutionTrackData;
user_id: string | undefined;
};
}
export declare class Telemetry {
private readonly logger;
private readonly postHog;
private readonly license;
private readonly instanceSettings;
private readonly workflowRepository;
private rudderStack?;
private pulseIntervalReference;
private executionCountsBuffer;
constructor(logger: Logger, postHog: PostHogClient, license: License, instanceSettings: InstanceSettings, workflowRepository: WorkflowRepository);
init(): Promise<void>;
private startPulse;
private pulse;
trackWorkflowExecution(properties: IExecutionTrackProperties): void;
stopTracking(): Promise<void>;
identify(traits?: {
[key: string]: string | number | boolean | object | undefined | null;
}): void;
track(eventName: string, properties?: ITelemetryTrackProperties, { withPostHog }?: {
withPostHog: boolean;
}): RudderStack | undefined;
getCountsBuffer(): IExecutionsBuffer;
}
export {};