n8n
Version:
n8n Workflow Automation Tool
41 lines (40 loc) • 1.8 kB
TypeScript
import { PrometheusMetricsConfig } from '@n8n/config';
import { ScheduledTaskRepository } from '@n8n/db';
import type { MisfireCount, SchedulerMetrics } from '@n8n/scheduler';
import { InstanceSettings } from 'n8n-core';
import { CacheService } from '../../services/cache/cache.service';
import type { PrometheusMetricsCollector } from './base';
export declare class PrometheusSchedulerMetricsService implements PrometheusMetricsCollector, SchedulerMetrics {
private readonly config;
private readonly instanceSettings;
private readonly cacheService;
private readonly taskRepository;
private initialized;
private tasksDispatched;
private tasksCompleted;
private taskRetries;
private occurrencesMaterialized;
private jobsDeferred;
private occurrencesMisfired;
private occurrencesRetired;
private occurrencesMissed;
private tasksReclaimed;
private tasksDeadLettered;
private tasksPruned;
private dispatchLagSeconds;
constructor(config: PrometheusMetricsConfig, instanceSettings: InstanceSettings, cacheService: CacheService, taskRepository: ScheduledTaskRepository);
get enabled(): boolean;
init(): void;
private initPushMetrics;
private initSnapshotGauges;
recordDispatch(taskType: string): void;
recordFireOutcome(taskType: string, result: 'success' | 'failure'): void;
recordRetry(taskType: string): void;
observeDispatchLagSeconds(taskType: string, seconds: number): void;
recordMaterialized(occurrences: number, deferredJobs: number): void;
recordMisfired(discarded: MisfireCount[]): void;
recordRetired(retired: number): void;
recordReaped(reclaimed: number, deadLettered: number, missed: number): void;
recordDeadLettered(): void;
recordPruned(deleted: number): void;
}