1import{$ as S,A as D,C as K,N as _,R as z,a as V,c as U,e as R,f as Y,g as j,j as F,l as O,m as G,n as B,o as m,ra as X,t as y}from"./chunk-U4D3XZGX.js";import{a as M,b as H}from"./chunk-MQCKOGUH.js";function q(s){let e=0;for(let t of s)t.stackId!==void 0&&e++;return e}var me=/\/(?![vV]\d{1,2}\/)([^/\d?]*\d+[^/?]*)/g;function J(s){return s?s.replace(me,"/?"):"/"}var k=(s,e)=>s||J(e);function Q(s,e,t){var i,a;let{ids:c,names:l}=ve(s.views),v=s.longTasks.map(p=>p.id).filter(p=>p!==void 0),b=(a=(i=s.actions)===null||i===void 0?void 0:i.map(p=>p.id).filter(p=>p!==void 0))!==null&&a!==void 0?a:[],{ids:h,labels:E}=be(s.vitals),f={application:{id:e}};return t&&(f.session={id:t}),c.length&&(f.view={id:c,name:l}),v.length&&(f.long_task={id:v}),b.length&&(f.action={id:b,label:[]}),h.length&&(f.vital={id:h,label:E}),f}function ve(s){let e={ids:[],names:[]};for(let t of s)e.ids.push(t.viewId),t.viewName&&e.names.push(t.viewName);return e.names=Array.from(new Set(e.names)),e}function be(s){let e={ids:[],labels:[]};if(!s)return e;for(let t of s)e.ids.push(t.id),e.labels.push(t.label);return e.labels=Array.from(new Set(e.labels)),e}function W(s,e,t){return{event:he(s,e,t),"wall-time.json":s}}function he(s,e,t){let i=K(e),a=Q(s,e.applicationId,t),c=ye(i);return H(M({},a),{attachments:["wall-time.json"],start:new Date(s.startClocks.timeStamp).toISOString(),end:new Date(s.endClocks.timeStamp).toISOString(),family:"chrome",runtime:"chrome",format:"json",version:4,tags_profiler:c.join(","),_dd:{clock_drift:F()}})}function ye(s){return s.concat(["language:javascript","runtime:chrome","family:chrome","host:browser"])}var _e=y;function Z(s){let e=_({expireDelay:_e});return s.subscribe(12,({rawRumEvent:t,startClocks:i,duration:a})=>{t.type==="long_task"&&e.add({id:t.long_task.id,startClocks:i,duration:a,entryType:t.long_task.entry_type===z.LONG_TASK?S.LONG_TASK:S.LONG_ANIMATION_FRAME},i.relative).close(m(i.relative,a))}),e}var Ie=y;function $(s){let e=_({expireDelay:Ie});return s.subscribe(15,t=>{e.add({id:t.id,label:"",startClocks:t.startClocks,duration:void 0},t.startClocks.relative)}),s.subscribe(12,({rawRumEvent:t,startClocks:i,duration:a})=>{if(t.type==="action"){let c=e.getEntries(i.relative).find(v=>v.value.id===t.action.id),l=a??0;c?(c.value.duration=l,c.close(m(i.relative,l))):e.add({id:t.action.id,label:"",startClocks:i,duration:a},i.relative).close(m(i.relative,l))}}),e}var Te=y;function C(s){let e=_({expireDelay:Te});return s.subscribe(16,t=>{e.add({id:t.id,startClocks:t.startClocks,duration:void 0,label:t.name},t.startClocks.relative)}),s.subscribe(12,({rawRumEvent:t,startClocks:i,duration:a})=>{if(t.type==="vital"){let c=e.getEntries(i.relative).find(l=>l.value.id===t.vital.id);c?(c.value.duration=a,c.close(m(i.relative,a))):e.add({id:t.vital.id,startClocks:i,duration:a,label:t.vital.name},i.relative).close(m(i.relative,a))}}),e}var ge={sampleIntervalMs:10,collectIntervalMs:6e4,minProfileDurationMs:5e3,minNumberOfSamples:50};function Je(s,e,t,i,a,c,l=ge){let v=X(s,e,a,6),b,h=[],E=Z(e),f=$(e),p=C(e),r={state:"stopped",stateReason:"initializing"};e.subscribe(9,()=>{N("session-expired")}),e.subscribe(10,()=>{r.state==="stopped"&&r.stateReason==="session-expired"&&A()});function A(){if(r.state==="running")return;let n=c.findView();b=n?{startClocks:n.startClocks,viewId:n.id,viewName:k(n.name,document.location.pathname)}:void 0,h.push(D(s,window,"visibilitychange",re).stop,D(s,window,"beforeunload",oe).stop),I()}function ee(){N("stopped-by-user")}function N(n){se(n),h.forEach(o=>o()),h.length=0,i.set({status:"stopped",error_reason:void 0})}function te(n){if(n.state==="running")return{cleanupTasks:n.cleanupTasks};let o=[],u=e.subscribe(2,d=>{let T={viewId:d.id,viewName:k(d.name,document.location.pathname),startClocks:d.startClocks};P(T),b=T});return o.push(u.unsubscribe),{cleanupTasks:o}}function I(){let n=U().Profiler;if(!n)throw i.set({status:"error",error_reason:"not-supported-by-browser"}),new Error("RUM Profiler is not supported in this browser.");r.state==="running"&&w(r);let{cleanupTasks:o}=te(r),u;try{u=new n({sampleInterval:l.sampleIntervalMs,maxBufferSize:Math.round(l.collectIntervalMs*1.5/l.sampleIntervalMs)})}catch(d){d instanceof Error&&d.message.includes("disabled by Document Policy")?(V.warn("[DD_RUM] Profiler startup failed. Ensure your server includes the `Document-Policy: js-profiling` response header when serving HTML pages.",d),i.set({status:"error",error_reason:"missing-document-policy-header"})):i.set({status:"error",error_reason:"unexpected-exception"});return}i.set({status:"running",error_reason:void 0}),r={state:"running",startClocks:O(),profiler:u,timeoutId:Y(I,l.collectIntervalMs),views:[],cleanupTasks:o,longTasks:[]},P(b),u.addEventListener("samplebufferfull",L)}function w(n){j(n.timeoutId),n.profiler.removeEventListener("samplebufferfull",L);let{startClocks:o,views:u}=n;n.profiler.stop().then(d=>{let T=O(),g=B(o.relative,T.relative),x=E.findAll(o.relative,g),de=f.findAll(o.relative,g),ue=p.findAll(o.relative,g),pe=g<l.minProfileDurationMs,fe=q(d.samples)<l.minNumberOfSamples;x.length===0&&(pe||fe)||ie(Object.assign(d,{startClocks:o,endClocks:T,clocksOrigin:G(
1),longTasks:x,actions:de,vitals:ue,views:u,sampleInterval:l.sampleIntervalMs}))}).catch(R)}function se(n){if(r.state!=="running"){(r.state==="paused"||r.state==="stopped"&&n==="stopped-by-user")&&(r={state:"stopped",stateReason:n});return}let o=r;r={state:"stopped",stateReason:n},o.cleanupTasks.forEach(u=>u()),w(o)}function ne(){if(r.state!=="running")return;let n=r;r={state:"paused"},n.cleanupTasks.forEach(o=>o()),w(n)}function P(n){r.state!=="running"||!n||r.views.push(n)}function ie(n){var o;let u=(o=t.findTrackedSession())===null||o===void 0?void 0:o.id,d=W(n,s,u);v.send(d)}function L(){I()}function re(){document.visibilityState==="hidden"&&r.state==="running"?ne():document.visibilityState==="visible"&&r.state==="paused"&&I()}function oe(){I()}function ae(){return r.state==="stopped"}function le(){return r.state==="running"}function ce(){return r.state==="paused"}return{start:A,stop:ee,isStopped:ae,isRunning:le,isPaused:ce}}export{ge as DEFAULT_RUM_PROFILER_CONFIGURATION,Je as createRumProfiler}; 2//# sourceMappingURL=chunk-XD2RQX7N.js.map
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.