query-analyzer
Version:
A utility for enhancing Sequelize queries with EXPLAIN options and logging detailed query plans.
30 lines (29 loc) • 777 B
TypeScript
import { AnalyzerError } from './errors';
export interface AnalyzerOptions {
enabled?: boolean;
environment?: string;
onError?: (error: AnalyzerError) => void | Promise<void>;
onSlowQuery?: (payload: Payload) => void | Promise<void>;
slowQueryThreshold?: number;
verbose?: boolean;
costs?: boolean;
settings?: boolean;
buffers?: boolean;
serialize?: 'NONE' | 'TEXT' | 'BINARY';
wal?: boolean;
timing?: boolean;
summary?: boolean;
}
export interface Payload {
query: string;
actualExecutionTime: number;
queryPlan: string;
planningTime: string;
executionTime: string;
startCost: string;
endCost: string;
params: string | undefined;
}
export interface QueryPlanRow {
'QUERY PLAN': string;
}