#include html.js (() => { const perfs =
; perfs.ondblclick = () => { perfs.classList.toggle('msz-perfs-right'); }; const appendReal = elem => { $appendChild(perfs, elem); }; let append = elem => { append = appendReal; $appendChild(document.body, perfs); appendReal(elem); }; (new PerformanceObserver(list => { for(const entry of list.getEntries()) { if(entry.serverTiming.length < 1) break; const url = new URL(entry.name); let total = 0; let queries = -1; const timings = ; for(const timing of entry.serverTiming) { if(timing.name === 'msz-queries') { queries = Math.ceil(timing.duration); continue; } total += timing.duration; $appendChild(timings, ); } append(
{entry instanceof PerformanceNavigationTiming ? entry.type : ( entry.initiatorType === 'xmlhttprequest' ? 'xhr' : entry.initiatorType )}
{url.host !== location.host ?
{url.host}
: null}
{url.pathname}
{url.search !== '' ?
{url.search}
: null}
{queries > 0 ?
{queries} {' '} {queries === 1 ? 'query' : 'queries'}
: null}
{total.toFixed(5)} ms
{timings}
); } })).observe({ entryTypes: ['navigation', 'resource'] }); })();
{timing.name} {decodeURIComponent(timing.description)} {timing.duration} ms