/** * Playwright globalTeardown: sql_top.json + explain/*.json. Только если был сетевой лог (т.е. гонялись сценарии). * PERF_SQLSTATS_TAG= - писать в /sql// (run-all.sh: несколько вызовов Playwright в одном run_id, * у каждого свой reset/dump pg_stat_statements; без тега каждый вызов перезатирал бы /sql_top.json). */ import { existsSync } from 'node:fs'; import path from 'node:path'; import { sqlstats } from './global-setup'; import { runDir } from './results'; import { netlogFile } from './netlog'; export function dumpArgs(): string[] { const tag = process.env.PERF_SQLSTATS_TAG?.replace(/[^\w.-]+/g, '_'); return ['dump', runDir(), ...(tag ? ['--out', path.join(runDir(), 'sql', tag)] : [])]; } export default async function globalTeardown(): Promise { if (process.env.PERF_SQLSTATS === '0') return; if (!existsSync(netlogFile())) return; sqlstats(dumpArgs()); }