# Comprehensive Network Diagnostic Pattern ```javascript import { Prober } from "@zoom/probesdk"; const prober = new Prober(); export async function runComprehensiveDiagnostic() { const jsUrl = ""; // optional custom hosted prober.js const wasmUrl = ""; // optional custom hosted prober.wasm loader const config = { probeDuration: 120 * 1000, connectTimeout: 20 * 1000, domain: "zoom.us", }; const statsHistory = []; const report = await prober.startToDiagnose(jsUrl, wasmUrl, config, (stats) => { statsHistory.push(stats); }); return { report, statsHistory, }; } export async function stopEarlyAndCollect() { const partial = await prober.stopToDiagnose(); prober.cleanup(); return partial; } ``` ## Notes - Use stats callback for realtime charting; keep callback lightweight. - Wrap final report fields behind adapter layer for version drift.