1(function(){ 2 var pid="YOUR_PROJECT_ID"; 3 var ep="https://api.sekrd.com/api/v1/monitor/"+pid+"/events"; 4 var q=[]; 5 var T=null; 6 function flush(){ 7 if(!q.length)return; 8 var batch=q.splice(0,q.length); 9 try{ 10 var ok=navigator.sendBeacon(ep+"?batch=1",JSON.stringify(batch)); 11 if(!ok)throw 0; 12 }catch(e){ 13 try{fetch(ep+"?batch=1",{method:"POST",body:JSON.stringify(batch),keepalive:true})}catch(e2){} 14 } 15 } 16 function enq(t,p){q.push({event_type:t,payload:p});if(!T)T=setTimeout(function(){T=null;flush()},5000)} 17 try{document.addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")flush()})}catch(e){} 18 try{window.addEventListener("pagehide",flush)}catch(e){} 19 window.addEventListener("error",function(e){ 20 enq("error",{message:e.message||"",filename:e.filename||"",lineno:e.lineno||0,colno:e.colno||0}) 21 }); 22 window.addEventListener("unhandledrejection",function(e){ 23 enq("error",{message:String(e.reason||"unhandled rejection"),type:"unhandledrejection"}) 24 }); 25 if(window.PerformanceObserver){ 26 try{ 27 new PerformanceObserver(function(l){ 28 l.getEntries().forEach(function(e){enq("vitals",{name:e.name,value:e.value})}) 29 }).observe({type:"largest-contentful-paint",buffered:true}); 30 }catch(e){} 31 try{ 32 new PerformanceObserver(function(l){ 33 l.getEntries().forEach(function(e){enq("vitals",{name:"CLS",value:e.value})}) 34 }).observe({type:"layout-shift",buffered:true}); 35 }catch(e){} 36 try{ 37 new PerformanceObserver(function(l){ 38 l.getEntries().forEach(function(e){enq("vitals",{name:"INP",value:e.duration})}) 39 }).observe({type:"event",durationThreshold:16,buffered:true}); 40 }catch(e){} 41 } 42 enq("pageview",{url:location.href,referrer:document.referrer}); 43})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.