ostia 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/chunk-ym89ds9x.js DELETED
@@ -1,21 +0,0 @@
1
- // @bun
2
- import{T,e,d,o,R,E,v,f,n,h,A,c,l,j,s,F,t,b,w,k,J}from"./chunk-pesqame2.js";function Ie(i,y,g){let _=i[0];if(_==="bun"||_?.endsWith("/bun"))return{argv:[_,...y,...i.slice(1)],env:g};return{argv:i,env:{...process.env,...g,BUN_OPTIONS:y.join(" ")}}}function In(i){return i.startsWith("file://")?i.slice(7):i}function De(i,y,g){let _=i.nodes,C=_.length,H=new Map,W=[],L=new Map,V=new Int32Array(C);for(let Q=0;Q<C;Q++){let oe=_[Q],te=oe.callFrame,me=In(te.url),ce=H.get(te.functionName);if(ce===void 0)ce=new Map,H.set(te.functionName,ce);let de=ce.get(me);if(de===void 0)de=W.length,ce.set(me,de),W.push({key:e("fr",te.functionName,me),name:te.functionName,url:me||void 0,line:te.lineNumber>=0?te.lineNumber:void 0,col:te.columnNumber>=0?te.columnNumber:void 0});V[Q]=de,L.set(oe.id,Q)}let O=Array(C);for(let Q=0;Q<C;Q++){let oe=_[Q];O[Q]={id:oe.id,frameIx:V[L.get(oe.id)],children:oe.children??[]}}let z=new Float64Array(C),ne=new Float64Array(C),{samples:ee,timeDeltas:q}=i;for(let Q=0;Q<ee.length;Q++){let oe=L.get(ee[Q]);if(oe===void 0)continue;z[oe]+=q[Q]??0,ne[oe]+=1}let re=new Int32Array(C).fill(-1);for(let Q=0;Q<C;Q++){let oe=_[Q].children;if(!oe)continue;for(let te of oe){let me=L.get(te);if(me!==void 0)re[me]=Q}}let G=[],ae=[];for(let Q=C-1;Q>=0;Q--)if(re[Q]===-1)ae.push(Q);while(ae.length>0){let Q=ae.pop();G.push(Q);let oe=_[Q].children;if(!oe)continue;for(let te of oe){let me=L.get(te);if(me!==void 0&&re[me]===Q)ae.push(me)}}let pe=new Float64Array(C);for(let Q=G.length-1;Q>=0;Q--){let oe=G[Q];pe[oe]+=z[oe];let te=re[oe];if(te>=0)pe[te]+=pe[oe]}let ue=Array(W.length),se=[];for(let Q=0;Q<C;Q++){let oe=O[Q].frameIx,te=ue[oe];if(te)te.selfUs+=z[Q],te.totalUs+=pe[Q],te.samples+=ne[Q];else{let me={frameIx:oe,selfUs:z[Q],totalUs:pe[Q],samples:ne[Q]};ue[oe]=me,se.push(me)}}return{origin:y,samplingIntervalUs:g,frames:W,nodes:O,totals:se.sort((Q,oe)=>oe.selfUs-Q.selfUs),samples:{nodeIds:i.samples,timeDeltasUs:i.timeDeltas}}}async function Le(i){let y=`${i.artifactDir}/${i.fileName}`,{argv:g,env:_}=Ie(i.argv,["--cpu-prof","--cpu-prof-dir",i.artifactDir,"--cpu-prof-name",i.fileName,"--cpu-prof-interval",String(i.intervalUs)],i.env),C=Bun.nanoseconds(),W=await Bun.spawn(g,{cwd:i.cwd,env:_,stdout:"ignore",stderr:"ignore",stdin:"ignore"}).exited,L=Bun.nanoseconds()-C,V=Bun.file(y);if(!await V.exists())return{diagnosticWallNs:L,exitCode:W,warnings:[{code:"artifact-missing",message:`Expected a .cpuprofile at ${y} after exit ${W}, found nothing. The workload's argv[0] must be a \`bun\` binary for CPU capture.`,data:{artifactPath:y,argv:i.argv}}]};let O=await V.json(),z=De(O,"cpu-prof",i.intervalUs),ne=O.samples.length===0?[{code:"empty-profile",message:"CPU capture produced zero samples."}]:[];return{diagnosticWallNs:L,exitCode:W,artifactPath:y,cpu:z,warnings:ne}}function He(i,y="heap-prof"){let{node_fields:g,node_types:_}=i.snapshot.meta,C=g.indexOf("type"),H=g.indexOf("self_size"),W=g.length,L=_[0];if(C===-1||H===-1||!Array.isArray(L))return{origin:y,typeCounts:[],objectCount:i.snapshot.node_count};let V=L.length,O=Array(V),z=new Map,ne=[],ee=0,q=i.nodes,re=q.length;for(let se=0;se<re;se+=W){let Q=q[se+C],oe=q[se+H]??0;ee+=oe;let te;if(Q>=0&&Q<V){if(te=O[Q],te===void 0)te={type:L[Q],count:0,bytes:0},O[Q]=te,ne.push(te)}else{let me=`unknown(${Q})`;if(te=z.get(me),te===void 0)te={type:me,count:0,bytes:0},z.set(me,te),ne.push(te)}te.count++,te.bytes+=oe}let G=ne.sort((se,Q)=>Q.count-se.count),ae=G.slice(0,20),pe=G.slice(20),ue=ae.map(({type:se,count:Q,bytes:oe})=>({type:se,count:Q,retainedBytes:oe}));if(pe.length>0){let se=0,Q=0;for(let oe of pe)se+=oe.count,Q+=oe.bytes;ue.push({type:"other",count:se,retainedBytes:Q})}return{origin:y,heapSizeBytes:ee,objectCount:i.snapshot.node_count,typeCounts:ue}}async function Ve(i){let y=`${i.artifactDir}/${i.fileName}`,{argv:g,env:_}=Ie(i.argv,["--heap-prof","--heap-prof-dir",i.artifactDir,"--heap-prof-name",i.fileName],i.env),C=Bun.nanoseconds(),W=await Bun.spawn(g,{cwd:i.cwd,env:_,stdout:"ignore",stderr:"ignore",stdin:"ignore"}).exited,L=Bun.nanoseconds()-C,V=Bun.file(y);if(!await V.exists())return{diagnosticWallNs:L,exitCode:W,warnings:[{code:"artifact-missing",message:`Expected a heap snapshot at ${y} after exit ${W}, found nothing. The workload's argv[0] must be a \`bun\` binary for heap capture.`,data:{artifactPath:y,argv:i.argv}}]};let O=await V.json(),z=He(O,"heap-prof");return{diagnosticWallNs:L,exitCode:W,artifactPath:y,heap:z,warnings:[]}}import{Session as Dn}from"inspector/promises";var Sn=1000;async function ze(i,y={}){let g=y.intervalUs??Sn,_=new Dn;_.connect();let C=Bun.nanoseconds();try{await _.post("Profiler.enable"),await _.post("Profiler.setSamplingInterval",{interval:g}),await _.post("Profiler.start");let H=await i(),{profile:W}=await _.post("Profiler.stop"),L=Bun.nanoseconds()-C,V=De(W,"inspector",g);return{result:H,cpu:V,diagnosticWallNs:L}}finally{_.disconnect()}}function Nn(i){let y=i>>>0;return()=>{y=y+1831565813|0;let g=Math.imul(y^y>>>15,1|y);return g=g+Math.imul(g^g>>>7,61|g)^g,((g^g>>>14)>>>0)/4294967296}}var Se=2000,Fn=2000;function Je(i){let y=i.length,g=y>>1;return y%2===0?(i[g-1]+i[g])/2:i[g]}function Ge(i,y,g){if(i.length<=g)return i;let _=[...i];for(let C=0;C<g;C++){let H=C+Math.floor(y()*(_.length-C)),W=_[C];_[C]=_[H],_[H]=W}return _.slice(0,g)}function Ke(i,y){let g=i.length,_=new Float64Array(g);for(let C=0;C<g;C++)_[C]=i[Math.floor(y()*g)];return _.sort(),Je(_)}function Ye(i,y,g={}){let _=g.seed??(Date.now()^Math.imul(i.length,2654435761))>>>0,C=Nn(_),H=g.iterations??Fn,W=i.length>Se||y.length>Se,L=Ge(i,C,Se),V=Ge(y,C,Se),O=new Float64Array(L);O.sort();let z=Je(O),ne=new Float64Array(H);for(let ee=0;ee<H;ee++){let q=Ke(L,C),re=Ke(V,C);ne[ee]=z===0?re-q===0?0:1/0:(re-q)/z*100}return ne.sort(),{ci95:[o(ne,0.025),o(ne,0.975)],seed:_,data:{subsampled:W,iterations:H}}}function On(i){let y=i<0?-1:1,g=Math.abs(i),_=0.254829592,C=-0.284496736,H=1.421413741,W=-1.453152027,L=1.061405429,V=0.3275911,O=1/(1+0.3275911*g),z=1-((((1.061405429*O+-1.453152027)*O+1.421413741)*O+-0.284496736)*O+0.254829592)*O*Math.exp(-g*g);return y*z}function Un(i){return 0.5*(1+On(i/Math.SQRT2))}function qe(i,y){let g=i.length,_=y.length,C=g+_,H=[...i.map((G)=>({v:G,group:0})),...y.map((G)=>({v:G,group:1}))].sort((G,ae)=>G.v-ae.v),W=new Float64Array(C),L=0,V=0;while(V<C){let G=V;while(G+1<C&&H[G+1].v===H[V].v)G++;let ae=(V+G)/2+1;for(let ue=V;ue<=G;ue++)W[ue]=ae;let pe=G-V+1;if(pe>1)L+=pe**3-pe;V=G+1}let O=0;for(let G=0;G<C;G++)if(H[G].group===0)O+=W[G];let z=O-g*(g+1)/2,ne=g*_/2,ee=Math.sqrt(g*_*(C+1-L/(C*(C-1)))/12),q=ee===0?0:(z-ne)/ee,re=Math.min(1,Math.max(0,2*(1-Un(Math.abs(q)))));return{u:z,z:q,pValue:re}}var Me={timingPct:5,frameSelfPct:10,heapTypePct:10,minFrameSelfUs:1000,alpha:0.01,bootstrapIterations:2000},Be=5;function Ne(i,y){if(i===0)return y===0?0:1/0;return(y-i)/i*100}function ke(i,y,g){return i.measurements.find((_)=>_.workloadId===y&&_.phase===g)}function x(i,y,g=Me){let _=new Set(y.workloads.map((H)=>H.id)),C=[];for(let H of i.workloads){if(!_.has(H.id))continue;let W=M(i,y,H.id,g);if(W)C.push(W)}return C}function M(i,y,g,_=Me){let C=ke(i,g,"timing"),H=ke(y,g,"timing"),W=ke(i,g,"cpu"),L=ke(y,g,"cpu"),V=ke(i,g,"heap"),O=ke(y,g,"heap"),z=y.workloads.find((se)=>se.id===g),ne=C?.id??W?.id??V?.id,ee=H?.id??L?.id??O?.id??z?.id;if(!ne||!ee)return;let q=!1,re=[],G=Math.max(_.timingPct,i.environment?.noise.floorPct??0,y.environment?.noise.floorPct??0),ae;if(C?.timing&&z?.skipped&&!H?.timing)ae={medianDeltaPct:0,meanDeltaPct:0,effectPct:0,verdict:"unchanged"},re.push({code:"skipped",message:"Candidate has no timing measurement for this workload (task.skip()); treated as unchanged.",data:{workloadId:g}});else if(C?.timing&&H?.timing){let se=C.timing.samples,Q=H.timing.samples,oe=Ne(C.timing.median,H.timing.median),te=Ne(C.timing.mean,H.timing.mean),me=(ce,de)=>{if(ce>G)return"regressed";if(de<-G)return"improved";return"unchanged"};if(se.length<Be||Q.length<Be){let ce=me(oe,oe);if(ce==="regressed")q=!0;ae={medianDeltaPct:oe,meanDeltaPct:te,effectPct:oe,verdict:ce},re.push({code:"thin-comparison",message:`Only ${se.length} baseline / ${Q.length} candidate sample(s); falling back to a point-estimate threshold instead of a bootstrap CI and Mann-Whitney test (needs ${Be}+ per side).`,data:{baseSamples:se.length,candSamples:Q.length}})}else{let ce=Ye(se,Q,{iterations:_.bootstrapIterations}),de=qe(se,Q),ie=de.pValue<_.alpha?me(ce.ci95[0],ce.ci95[1]):"unchanged";if(ie==="regressed")q=!0;ae={medianDeltaPct:oe,meanDeltaPct:te,effectPct:oe,ci95:ce.ci95,pValue:de.pValue,seed:ce.seed,verdict:ie}}}let pe;if(W?.cpu&&L?.cpu){let se=new Map(W.cpu.totals.map((ce)=>[W.cpu.frames[ce.frameIx].key,ce])),Q=new Map(L.cpu.totals.map((ce)=>[L.cpu.frames[ce.frameIx].key,ce])),oe=new Map(W.cpu.frames.map((ce)=>[ce.key,ce.name])),te=new Map(L.cpu.frames.map((ce)=>[ce.key,ce.name]));pe=[...new Set([...se.keys(),...Q.keys()])].map((ce)=>{let de=se.get(ce)?.selfUs??0,ie=Q.get(ce)?.selfUs??0;return{frameKey:ce,name:te.get(ce)??oe.get(ce)??ce,baseSelfUs:de,candSelfUs:ie,deltaPct:Ne(de,ie)}}).sort((ce,de)=>Math.abs(de.deltaPct)-Math.abs(ce.deltaPct));for(let ce of pe)if((ce.baseSelfUs>=_.minFrameSelfUs||ce.candSelfUs>=_.minFrameSelfUs)&&ce.deltaPct>_.frameSelfPct)q=!0}let ue;if(V?.heap&&O?.heap){let se=new Map(V.heap.typeCounts.map((te)=>[te.type,te])),Q=new Map(O.heap.typeCounts.map((te)=>[te.type,te]));ue=[...new Set([...se.keys(),...Q.keys()])].map((te)=>{let me=se.get(te),ce=Q.get(te);return{type:te,baseCount:me?.count??0,candCount:ce?.count??0,baseBytes:me?.retainedBytes,candBytes:ce?.retainedBytes,deltaPct:Ne(me?.count??0,ce?.count??0)}}).sort((te,me)=>Math.abs(me.deltaPct)-Math.abs(te.deltaPct));for(let te of ue)if(te.deltaPct>_.heapTypePct)q=!0}return{id:e("cmp",ne,ee),baselineMeasurementId:ne,candidateMeasurementId:ee,timing:ae,...re.length>0&&{warnings:re},frames:pe,heapTypes:ue,thresholds:{..._,effectiveTimingPct:G},verdict:q?"fail":"pass"}}var Ce="node_modules/.cache/ostia",Wn=".ostia/baselines",Bn={runs:null,warmup:3,outDir:Ce,baselineDir:Wn,baseline:"main",cpuIntervalUs:1000,thresholds:Me,workloads:[]};function Ze(i){return{...Bn,...i,thresholds:{...Me,...i.thresholds??{}}}}async function Qe(i){let y=Bun.file(i);if(!await y.exists())return;return Ze(await y.json())}async function Xe(i){let y=i.startsWith("/")?i:`${process.cwd()}/${i}`;if(!await Bun.file(y).exists())return;let g=await import(y);return Ze(g.default??{})}async function I(i){if(i!==void 0)return i.endsWith(".ts")?Xe(i):Qe(i);return await Xe("ostia.config.ts")??Qe("ostia.config.json")}function a(i,y){return`${i.baselineDir}/${y??i.baseline}.json`}var En=10,An=3000000000,jn=3;function Ee(i){let y=i.warmup??jn,g=i.samples,_=i.minSamples??En,C=g??_,H=g!==void 0?0:i.budgetMs!==void 0?i.budgetMs*1e6:An,W=i.timeSource!==void 0,L=[],V=0,O=0;function z(){if(g!==void 0)return O>=g;return O>=C&&V>=H}async function ne(ee,q){if(i.prepare)await v(i.prepare,{phase:ee,index:q},{cwd:i.cwd,env:i.env});return E(i)}return{async warmup(){for(let ee=0;ee<y;ee++)await ne("warmup",ee)},async step(){if(z())return!1;let ee=await ne("timing",O);return L.push({i:O,wallNs:ee.wallNs,exitCode:ee.exitCode,userNs:ee.userNs,systemNs:ee.systemNs,maxRssBytes:ee.maxRssBytes,...ee.reportedNs!==void 0&&{reportedNs:ee.reportedNs}}),V+=ee.wallNs,O++,!0},done:z,result(){let ee=L.map((G)=>W?G.reportedNs??G.wallNs:G.wallNs),q=d(ee),re=R(q,L.map((G)=>G.exitCode),W?"reported":"subprocess");return{trials:L,timing:q,warnings:re}}}}async function Ae(i){await i.warmup();while(await i.step());}async function U(i){let y=Ee(i);return await Ae(y),y.result()}async function P(i,y){let g=new Set;for(let _ of i)for await(let C of new Bun.Glob(_).scan({cwd:y,absolute:!1}))g.add(C);return[...g].sort()}var en=new URL("./runner.ts",import.meta.url).pathname;function S(){return Math.max(1,navigator.hardwareConcurrency||1)}async function N(i,y){return P(i,y)}function _n(i){if(i===void 0)return;return i==="auto"?S():i}async function B(i,y,g=process.cwd()){return{suites:i.suites.length>0?i.suites:y?.suites?await N(y.suites,g):[],budgetMs:i.budgetMs??y?.budgetMs,samples:i.samples??y?.samples,minSamples:i.minSamples??y?.minSamples,jobs:i.jobs??_n(y?.jobs),gc:i.gc||(y?.gc??!1),cpu:i.cpu||(y?.cpu??!1),alloc:i.alloc||(y?.alloc??!1),filter:i.filter??y?.filter,isolate:i.isolate||(y?.isolate??!1),preload:i.preload.length>0?i.preload:y?.preload??[],bunFlags:i.bunFlags,outDir:i.outDir??y?.outDir,noiseCheck:i.noiseCheck,cwd:g}}async function m(i){let g=`${i.outDir??Ce}/bench-tmp`,_=i.cwd??process.cwd(),C=Math.max(1,Math.floor(i.jobs??1)),H={budgetMs:i.budgetMs,samples:i.samples,minSamples:i.minSamples,gc:i.gc,cpu:i.cpu,alloc:i.alloc,noiseCheck:i.noiseCheck},W=(ne)=>ne.startsWith("/")?ne:`${_}/${ne}`,L=i.suites.map(W),V=(i.preload??[]).map(W),O=i.bunFlags??[],z=async(ne,ee)=>{let q=new Set,re=0,G,ae=async()=>{while(G===void 0&&re<ne.length){let pe=re++;try{let ue=Bun.spawn(ne[pe],{cwd:_,stdout:"inherit",stderr:"inherit",stdin:"ignore"});q.add(ue);let se=await ue.exited;if(q.delete(ue),se!==0)throw Error(`Bench suite failed: ${ee(pe)} (runner exited ${se})`)}catch(ue){G??=ue instanceof Error?ue:Error(String(ue));for(let se of q)se.kill()}}};if(await Promise.all(Array.from({length:Math.min(C,ne.length)},ae)),G)throw G};try{let ne=L.map((te)=>`${g}/${e("bench-plan",te)}.json`),ee=L.map((te)=>`${g}/${e("bench-primary",te)}.json`),q=L.map((te,me)=>["bun",...O,en,te,ee[me],JSON.stringify({...H,filter:i.filter,isolate:i.isolate,preload:V,planPath:ne[me]})]);await z(q,(te)=>i.suites[te]);let re=await Promise.all(ne.map(async(te)=>{let{tasks:me}=await Bun.file(te).json();return me})),G=await Promise.all(ee.map(t)),ae=[];for(let te=0;te<re.length;te++)for(let me of re[te])if(me.isolate)ae.push({suiteIndex:te,taskIds:[me.id]});let pe=ae.map((te,me)=>`${g}/${e("bench-item",L[te.suiteIndex],me)}.json`),ue=ae.map((te,me)=>["bun",...O,en,L[te.suiteIndex],pe[me],JSON.stringify({...H,taskIds:te.taskIds,preload:V,markIsolated:!0})]);await z(ue,(te)=>i.suites[ae[te].suiteIndex]);let se=await Promise.all(pe.map(t)),Q=[],oe=[];for(let te=0;te<re.length;te++){let me=G[te],ce=new Map;for(let le of me.measurements){let fe=ce.get(le.workloadId)??[];fe.push(le),ce.set(le.workloadId,fe)}let de=0,ie=new Map;ae.forEach((le,fe)=>{if(le.suiteIndex===te)ie.set(le.taskIds[0],se[fe])});for(let le of re[te])if(le.isolate){let fe=ie.get(le.id),be=fe.workloads[0];Q.push(be);for(let ve of fe.measurements)if(ve.workloadId===be.id)oe.push(ve)}else{let fe=me.workloads[de];Q.push(fe),de++;for(let be of ce.get(fe.id)??[])oe.push(be)}}return n(Q,oe,G[0]?.environment)}finally{await Bun.spawn(["rm","-rf",g]).exited}}function K(i,y,g=8){if(g<=1)throw RangeError(`range: multiplier must be > 1, got ${g}`);if(i<=0)throw RangeError(`range: start must be > 0, got ${i}`);let _=[];for(let C=i;C<=y;C*=g)_.push(C);if(!_.includes(y))_.push(y);return _}function X(i,y){let g=Object.keys(i),_=(C,H)=>{if(C===g.length){J(H,()=>y(H));return}let W=g[C];for(let L of i[W])_(C+1,{...H,[W]:L})};_(0,{})}function xe(i,y){if(y){let g=i.measurements.find((_)=>_.id===y);return g?.cpu?[g]:[]}return i.measurements.filter((g)=>g.phase==="cpu"&&g.cpu)}function Pe(i){let y=i.nodes,g=y.length,_=Ln(i),C=new Int32Array(g).fill(-1);for(let V=0;V<g;V++)for(let O of y[V].children){let z=_(O);if(z!==-1)C[z]=V}let H=[];for(let V=0;V<g;V++)if(C[V]===-1)H.push(V);let W=[],L=[];for(let V=H.length-1;V>=0;V--)L.push(H[V]);while(L.length>0){let V=L.pop();W.push(V);for(let O of y[V].children){let z=_(O);if(z!==-1&&C[z]===V)L.push(z)}}return{count:g,indexOf:_,parentIx:C,roots:H,order:W}}function Ln(i){let y=i.nodes,g=y.length,_=1/0,C=-1/0,H=!0;for(let L=0;L<g;L++){let V=y[L].id;if(!Number.isInteger(V)){H=!1;break}if(V<_)_=V;if(V>C)C=V}if(H&&g>0&&C-_<g*4+64){let L=C-_+1,V=new Int32Array(L).fill(-1);for(let O=0;O<g;O++)V[y[O].id-_]=O;return(O)=>{let z=O-_;return z>=0&&z<L?V[z]:-1}}let W=new Map;for(let L=0;L<g;L++)W.set(y[L].id,L);return(L)=>W.get(L)??-1}function nn(i,y){let{count:g,indexOf:_,parentIx:C,order:H}=y,W=new Float64Array(g),L=new Float64Array(g),V=i.samples?.nodeIds??[],O=i.samples?.timeDeltasUs??[];for(let ne=0;ne<V.length;ne++){let ee=_(V[ne]);if(ee===-1)continue;W[ee]+=O[ne]??0,L[ee]+=1}let z=new Float64Array(g);for(let ne=H.length-1;ne>=0;ne--){let ee=H[ne];z[ee]+=W[ee];let q=C[ee];if(q>=0)z[q]+=z[ee]}return{selfUs:W,totalUs:z,samples:L}}var tn={name:"collapsed",async render(i,y={}){return{files:xe(i,y.measurementId).map((C)=>{let H=C.cpu,{nodes:W,frames:L}=H,V=Pe(H),O=Array(V.count);for(let re of V.order){let G=L[W[re].frameIx].name||"(anonymous)",ae=V.parentIx[re];O[re]=ae===-1?G:`${O[ae]};${G}`}let z=new Float64Array(V.count),ne=[],ee=H.samples?.nodeIds??[];for(let re=0;re<ee.length;re++){let G=V.indexOf(ee[re]);if(G===-1)continue;if(z[G]++===0)ne.push(G)}let q=Array(ne.length);for(let re=0;re<ne.length;re++){let G=ne[re];q[re]=`${O[G]} ${z[G]}`}return{path:`${C.id}.collapsed.txt`,content:q.join(`
3
- `)+(q.length>0?`
4
- `:"")}})}}};var rn={name:"cpuprofile",async render(i,y={}){let g=xe(i,y.measurementId),_=[],C=[];for(let H of g){if(H.cpu?.origin!=="cpu-prof"&&H.cpu?.origin!=="inspector"){C.push(`${H.id} (origin ${H.cpu?.origin??"unknown"} has no .cpuprofile artifact to pass through)`);continue}let W=H.artifacts.find((V)=>V.kind==="cpuprofile");if(!W){C.push(`${H.id} (no cpuprofile artifact recorded on this run)`);continue}let L=Bun.file(W.path);if(!await L.exists()){C.push(`${H.id} (artifact missing on disk: ${W.path})`);continue}_.push({path:`${H.id}.cpuprofile`,content:await L.text()})}if(_.length===0&&C.length>0)return{text:`No .cpuprofile artifacts available:
5
- ${C.map((H)=>` - ${H}`).join(`
6
- `)}
7
- `};return{files:_}}};var sn={name:"json",async render(i){return{text:F(i)}}};var on={name:"jsonl",async render(i){let{measurements:y,...g}=i;return{text:`${[T(g),...y.map((C)=>T(C))].join(`
8
- `)}
9
- `}}};var Hn={ns:1,\u{b5}s:1000,ms:1e6,s:1e9};function Te(i){let y=Math.abs(i);if(y>=1e9)return"s";if(y>=1e6)return"ms";if(y>=1000)return"\xB5s";return"ns"}function Vn(i){let y=Math.floor(Math.log10(Math.max(Math.abs(i),1)))+1;return Math.max(1,3-y)}function ge(i,y=Te(i)){let g=i/Hn[y];return`${g.toFixed(Vn(g))} ${y}`}function Fe(i){return`${i.cpuModel} \xB7 ${i.cores} cores \xB7 load ${i.loadAvg1.toFixed(1)} \xB7 noise floor ${i.noise.floorPct.toFixed(1)}%`}function p(i){return`${i.sha} (${i.branch}${i.dirty?", dirty":""})`}function r(i){return i?.label??i?.command?.join(" ")??i?.entry?.task??i?.id??"unknown"}function an(i){return(i/1e6).toFixed(3)}function cn(i){if(!i?.params)return"";return` (${Object.entries(i.params).map(([g,_])=>`${g}=${_}`).join(", ")})`}function zn(i){let y;for(let g of i){let _=g?.params?Object.keys(g.params):void 0;if(_?.length!==2)return;if(y===void 0)y=_;else if(_.length!==y.length||_.some((C,H)=>C!==y[H]))return}return y}var un=10,mn=10,pn={name:"markdown",async render(i){let y=new Map(i.workloads.map((W)=>[W.id,W])),g=[];g.push("# Profile Report","");let _=i.git?` \xB7 ${p(i.git)}`:"";if(g.push(`Bun ${i.bunVersion} \xB7 ostia ${i.toolVersion} \xB7 ${i.platform.os}/${i.platform.arch} \xB7 ${i.createdAt}${_}`,""),i.environment)g.push(Fe(i.environment),"");let C=i.measurements.filter((W)=>W.phase==="timing"&&W.timing!==void 0),H=i.workloads.filter((W)=>W.skipped&&!C.some((L)=>L.workloadId===W.id));if(C.length>0||H.length>0){g.push("## Timing","");let W=new Map,L=[];for(let z of C){let ne=y.get(z.workloadId)?.entry?.group;if(ne===void 0){L.push(z);continue}let ee=W.get(ne);if(ee)ee.push(z);else W.set(ne,[z])}let V=new Map;for(let[z,ne]of W){let ee=zn(ne.map((q)=>y.get(q.workloadId)));if(ee)V.set(z,{keys:ee,runs:ne});else L.push(...ne)}if(L.length>0||H.length>0){g.push("| Task | Median | Spread (p75\u2026p99) | Mean \xB1 SD | Range | MAD |","|---|---|---|---|---|---|");for(let z of L){let ne=y.get(z.workloadId),ee=r(ne)+cn(ne),q=z.timing,re=Te(q.median),G=q.p75??q.median,ae=q.p99??q.max,pe=q.mad!==void 0?ge(q.mad,re):"-";g.push(`| ${ee} | ${ge(q.median,re)} | ${ge(G,re)}\u2026${ge(ae,re)} | ${ge(q.mean,re)} \xB1 ${ge(q.stddev,re)} | ${ge(q.min,re)}\u2026${ge(q.max,re)} | ${pe} |`)}for(let z of H){let ne=r(z)+cn(z);g.push(`| ${ne} | - skipped | - | - | - | - |`)}g.push("")}for(let[z,{keys:ne,runs:ee}]of V){let[q,re]=ne,G=[],ae=[],pe=new Map;for(let ue of ee){let se=y.get(ue.workloadId).params,Q=se[q],oe=se[re];if(!G.includes(Q))G.push(Q);if(!ae.includes(oe))ae.push(oe);pe.set(`${Q}\x00${oe}`,ue)}g.push(`### ${z} (${q} \xD7 ${re})`,""),g.push(`| ${q} \\ ${re} | ${ae.join(" | ")} |`,`|---|${ae.map(()=>"---").join("|")}|`);for(let ue of G){let se=ae.map((Q)=>{let oe=pe.get(`${ue}\x00${Q}`);return oe?ge(oe.timing.median):"-"});g.push(`| ${ue} | ${se.join(" | ")} |`)}g.push("")}let O=C.filter((z)=>z.warnings.length>0);if(O.length>0){g.push("### Warnings","");for(let z of O){let ne=r(y.get(z.workloadId));for(let ee of z.warnings)g.push(`- **${ne}**: ${ee.message} (\`${ee.code}\`)`)}g.push("")}}for(let W of i.measurements){if(W.phase!=="cpu"&&W.phase!=="heap")continue;let L=r(y.get(W.workloadId));if(W.phase==="cpu"){if(g.push(`## CPU capture - ${L}`,""),g.push(`instrumented, diagnostic wall ${an(W.diagnosticWallNs??0)}ms`,""),W.cpu){g.push(`origin: \`${W.cpu.origin}\`, interval: ${W.cpu.samplingIntervalUs}\xB5s`,""),g.push("| Self % | Self (ms) | Total (ms) | Frame |","|---|---|---|---|");let V=W.cpu.totals.reduce((O,z)=>O+z.selfUs,0)||1;for(let O of W.cpu.totals.slice(0,un)){let z=W.cpu.frames[O.frameIx],ne=(O.selfUs/V*100).toFixed(1);g.push(`| ${ne}% | ${(O.selfUs/1000).toFixed(2)} | ${(O.totalUs/1000).toFixed(2)} | ${z?.name||"(anonymous)"} |`)}if(g.push(""),W.jit){let O=W.jit.tiers;g.push(`JIT tiers: LLInt ${O.llint} \xB7 Baseline ${O.baseline} \xB7 DFG ${O.dfg} \xB7 FTL ${O.ftl}`,"")}}}else if(g.push(`## Heap snapshot - ${L}`,""),g.push(`instrumented, diagnostic wall ${an(W.diagnosticWallNs??0)}ms`,""),W.heap){g.push(`${W.heap.objectCount??"?"} objects, ${((W.heap.heapSizeBytes??0)/1e6).toFixed(2)}MB`,""),g.push("| Count | Type |","|---|---|");for(let V of W.heap.typeCounts.slice(0,mn))g.push(`| ${V.count} | ${V.type} |`);g.push("")}for(let V of W.artifacts)g.push(`- artifact: \`${V.path}\``);for(let V of W.warnings)g.push(`- ! ${V.message} (\`${V.code}\`)`);if(W.artifacts.length>0||W.warnings.length>0)g.push("")}if(i.comparisons&&i.comparisons.length>0){g.push("## Comparisons","");for(let W of i.comparisons){let L=i.measurements.find((O)=>O.id===W.candidateMeasurementId),V=r(L?y.get(L.workloadId):y.get(W.candidateMeasurementId));if(g.push(`### ${W.verdict==="pass"?"\u2713":"\u2717"} ${V}`,""),W.timing){let O=W.timing.medianDeltaPct>0?"+":"";g.push(`- timing: ${O}${W.timing.medianDeltaPct.toFixed(1)}% median (**${W.timing.verdict}**)`)}for(let O of W.frames?.slice(0,un)??[]){if(Math.abs(O.deltaPct)<0.5)continue;let z=O.deltaPct>0?"+":"";g.push(`- frame \`${O.name}\`: ${z}${O.deltaPct.toFixed(1)}% self-time (${(O.baseSelfUs/1000).toFixed(2)}ms \u2192 ${(O.candSelfUs/1000).toFixed(2)}ms)`)}for(let O of W.heapTypes?.slice(0,mn)??[]){if(Math.abs(O.deltaPct)<0.5)continue;let z=O.deltaPct>0?"+":"";g.push(`- heap \`${O.type}\`: ${z}${O.deltaPct.toFixed(1)}% count (${O.baseCount} \u2192 ${O.candCount})`)}g.push("")}}return{text:g.join(`
10
- `)}}};var Gn=15;function je(i){return`n${i}`}function Kn(i,y,g){return`${(i||"(anonymous)").replace(/"/g,"'")} (self ${(y/1000).toFixed(2)}ms, total ${(g/1000).toFixed(2)}ms)`}function Jn(i,y,g,_){let C=[];if(_<=0)return C;for(let H=0;H<y;H++){if(H===g)continue;let W=i[H];if(C.length===_&&W<=i[C[_-1]])continue;let L=C.length;while(L>0&&i[C[L-1]]<W)L--;if(C.splice(L,0,H),C.length>_)C.pop()}return C}var ln={name:"mermaid",async render(i,y={}){let g=y.topN??Gn;return{files:xe(i,y.measurementId).map((H)=>{let W=H.cpu,{nodes:L,frames:V}=W,O=Pe(W),{selfUs:z,totalUs:ne}=nn(W,O),{parentIx:ee}=O,q=O.roots[0]??-1,re=Jn(z,O.count,q,g),G=new Set(q!==-1?[q]:[]),ae=[];for(let ue of re){ae.length=0;for(let se=ue;se!==-1;se=ee[se])ae.push(se);for(let se=ae.length-1;se>=0;se--)G.add(ae[se])}let pe=["graph TD"];for(let ue of G){let se=L[ue].id;pe.push(` ${je(se)}["${Kn(V[L[ue].frameIx].name,z[ue],ne[ue])}"]`)}for(let ue of G){let se=ee[ue];if(se!==-1&&G.has(se))pe.push(` ${je(L[se].id)} --> ${je(L[ue].id)}`)}return{path:`${H.id}.mermaid.md`,content:`${pe.join(`
11
- `)}
12
- `}})}}};function Oe(i){if(!i?.entry)return;if(i.entry.group!==void 0)return i.entry.group;let y=i.entry.task,g=y.lastIndexOf("/");return g===-1?void 0:y.slice(0,g)}function Ue(i){let y=Math.min(...i.map((C)=>C.run.timing.median)),g=new Map;for(let C of i){let H=Oe(C.workload);if(H===void 0)continue;let W=g.get(H);if(W)W.push(C);else g.set(H,[C])}let _=new Map;for(let C of i){let H=Oe(C.workload);if(H===void 0){_.set(C,y);continue}let W=g.get(H)??[C],L=W.find((V)=>V.workload?.baseline);_.set(C,L?L.run.timing.median:Math.min(...W.map((V)=>V.run.timing.median)))}return _}function he(i){return Number.isFinite(i)?Number(i.toPrecision(6)):i}function Yn(i,y){return i?.entry?.task??i?.label??i?.command?.join(" ")??y.workloadId}function dn(i,y){if(y?.entry?.group!==void 0)i.group=y.entry.group;if(y?.description!==void 0)i.description=y.description;if(y?.groupDescription!==void 0)i.groupDescription=y.groupDescription;if(y?.params!==void 0)i.params=y.params}function fn(i){if(!i?.timing)return;let y={medianPct:he(i.timing.medianDeltaPct),meanPct:he(i.timing.meanDeltaPct),verdict:i.timing.verdict,pass:i.verdict==="pass"};if(i.timing.ci95)y.ci95=[he(i.timing.ci95[0]),he(i.timing.ci95[1])];if(i.timing.pValue!==void 0)y.pValue=he(i.timing.pValue);return y}function qn(i,y){let g={task:i.entry?.task??i.label??i.id,skipped:!0,warnings:[]};dn(g,i);let _=fn(y);if(_)g.delta=_;return g}function Qn(i){let y=new Map(i.workloads.map((O)=>[O.id,O])),g=i.measurements.filter((O)=>O.phase==="timing"&&O.timing!==void 0).map((O)=>({run:O,workload:y.get(O.workloadId)})),_=g.length>1?Ue(g):void 0,C=new Map((i.comparisons??[]).map((O)=>[O.candidateMeasurementId,O])),H=new Set(g.map((O)=>O.run.workloadId)),W=new Map;for(let O of i.measurements){if(O.phase!=="cpu"||O.warnings.length===0)continue;let z=W.get(O.workloadId)??[];W.set(O.workloadId,[...z,...O.warnings])}let L=i.workloads.filter((O)=>O.skipped&&!H.has(O.id)).map((O)=>qn(O,C.get(O.id)));return[...g.map((O)=>{let{run:z,workload:ne}=O,ee=z.timing,q={task:Yn(ne,z),unit:"ns",samples:ee.samples.length,mean:he(ee.mean),median:he(ee.median),stddev:he(ee.stddev),stddevPct:he(ee.mean===0?0:ee.stddev/ee.mean*100),min:he(ee.min),max:he(ee.max),warnings:[...z.warnings,...W.get(z.workloadId)??[]].map((G)=>G.data?{code:G.code,data:G.data}:{code:G.code})};if(ee.p75!==void 0)q.p75=he(ee.p75);if(ee.p99!==void 0)q.p99=he(ee.p99);if(ee.mad!==void 0)q.mad=he(ee.mad);if(dn(q,ne),_)q.relative=he(ee.median/(_.get(O)??ee.median));if(ne?.baseline)q.baseline=!0;let re=fn(C.get(z.id));if(re)q.delta=re;return q}),...L]}var gn={name:"minimal",async render(i){let y=Qn(i).map((g)=>JSON.stringify(g));return{text:y.length>0?`${y.join(`
13
- `)}
14
- `:""}}};var Xn="https://www.speedscope.app/file-format-schema.json";function hn(i){return i?.label??i?.command?.join(" ")??i?.entry?.task??"profile"}var bn={name:"speedscope",async render(i,y={}){let g=xe(i,y.measurementId),_=new Map(i.workloads.map((H)=>[H.id,H]));return{files:g.map((H)=>{let W=H.cpu,{nodes:L}=W,V=Pe(W),O=W.samples?.nodeIds??[],z=W.samples?.timeDeltasUs??[],ne=Array(V.count);for(let G of V.order){let ae=V.parentIx[G],pe=L[G].frameIx;ne[G]=ae===-1?[pe]:[...ne[ae],pe]}let ee=Array(O.length);for(let G=0;G<O.length;G++){let ae=V.indexOf(O[G]);ee[G]=ae===-1?[]:ne[ae]}let q=0;for(let G=0;G<z.length;G++)q+=z[G];let re={$schema:Xn,exporter:"ostia",name:hn(_.get(H.workloadId)),activeProfileIndex:0,shared:{frames:W.frames.map((G)=>({name:G.name||"(anonymous)",file:G.url,line:G.line!==void 0?G.line+1:void 0}))},profiles:[{type:"sampled",name:hn(_.get(H.workloadId)),unit:"microseconds",startValue:0,endValue:q,samples:ee,weights:z}]};return{path:`${H.id}.speedscope.json`,content:`${JSON.stringify(re,null,2)}
15
- `}})}}};function Zn(i){return(i/1e6).toFixed(3)}function et(i){if(i<1024)return`${i.toFixed(0)}B`;if(i<1048576)return`${(i/1024).toFixed(2)}KB`;return`${(i/1048576).toFixed(2)}MB`}var yn={name:"table",async render(i){let y=i.measurements.filter((ie)=>ie.phase==="timing"&&ie.timing!==void 0),g=new Map(i.workloads.map((ie)=>[ie.id,ie])),_=i.environment?[Fe(i.environment),""]:[],C=i.workloads.filter((ie)=>ie.skipped&&!y.some((le)=>le.workloadId===ie.id));if(y.length===0&&C.length===0){let ie=wn(i,g);return{text:ie.length>0?`${[..._,...ie].join(`
16
- `)}
17
- `:`(no timing runs)
18
- `}}let H=new Map(y.map((ie)=>[ie.workloadId,ie])),W=[],L=[];for(let ie of i.workloads){let le=H.get(ie.id),fe=r(ie);if(le){let be={kind:"measured",run:le,workload:ie,label:fe};W.push(be),L.push(be)}else if(ie.skipped)W.push({kind:"skipped",workload:ie,label:fe})}let V=new Map(i.measurements.filter((ie)=>ie.phase==="memstats"&&ie.memory?.bytesPerOp!==void 0).map((ie)=>[ie.workloadId,ie.memory.bytesPerOp])),O=V.size>0,z=L.length>1,ne=Ue(L),ee=new Map,q=new Map,re;for(let ie of W){let le=Oe(ie.workload);if(le!==re){if(le!==void 0)q.set(ie,le);re=le}ee.set(ie,le!==void 0?" ":"")}let G=Math.max(4,...W.map((ie)=>ee.get(ie).length+ie.label.length)),ae=10,pe=18,ue=18,se=10,Q=[..._],oe=O?` ${"Alloc/op".padEnd(se)}`:"",te=`${"Task".padEnd(G)} ${"Median".padEnd(ae)} ${"Spread".padEnd(pe)} ${"Range".padEnd(ue)}${oe}${z?" Relative":""}`;Q.push(te),Q.push("-".repeat(te.length));let me=[];for(let ie of W){let le=q.get(ie);if(le!==void 0)Q.push(`${le}:`);let fe=ee.get(ie);if(ie.kind==="skipped"){Q.push(`${(fe+ie.label).padEnd(G)} - skipped`);continue}let{run:be,label:ve,workload:We}=ie,we=be.timing,$e=Te(we.median),$n=we.p75??we.median,Rn=we.p99??we.max,Mn=ge(we.median,$e),Cn=`${ge($n,$e)}\u2026${ge(Rn,$e)}`,Tn=`${ge(we.min,$e)}\u2026${ge(we.max,$e)}`,Re=`${(fe+ve).padEnd(G)} ${Mn.padEnd(ae)} ${Cn.padEnd(pe)} ${Tn.padEnd(ue)}`;if(O){let ye=We?V.get(We.id):void 0,vn=ye!==void 0?et(ye):"";Re+=` ${vn.padEnd(se)}`}if(z){let ye=we.median/(ne.get(ie)??we.median);if(ye===1)Re+=We?.baseline?" 1.00\xD7 (baseline)":" 1.00\xD7";else if(ye>1)Re+=` ${ye.toFixed(2)}\xD7 slower`;else Re+=` ${(1/ye).toFixed(2)}\xD7 faster`}if(Q.push(Re),be.warnings.length>0)Q.push(`${" ".repeat(fe.length)} ! ${be.warnings.map((ye)=>ye.code).join(", ")}`),me.push(ie)}if(me.length>0){Q.push(""),Q.push("Warnings:");for(let ie of me)for(let le of ie.run.warnings)Q.push(` ${ie.label}: ${le.message}`)}let ce=nt(i,g);if(ce.length>0)Q.push(""),Q.push(...ce);let de=wn(i,g);if(de.length>0)Q.push(""),Q.push(...de);return{text:`${Q.map((ie)=>ie.trimEnd()).join(`
19
- `)}
20
- `}}};function wn(i,y){if(!i.comparisons||i.comparisons.length===0)return[];let g=[],_=new Map(i.measurements.map((C)=>[C.id,C]));for(let C of i.comparisons){let H=_.get(C.candidateMeasurementId),W=y.get(H?.workloadId??C.candidateMeasurementId),L=W?r(W):C.candidateMeasurementId,V=C.verdict==="pass"?"\u2713":"\u2717";if(g.push(`${V} ${L}`),C.timing){let O=(z)=>`${z>=0?"+":""}${z.toFixed(1)}%`;if(C.timing.ci95&&C.timing.pValue!==void 0){let z=C.timing.pValue<0.001?"p<0.001":`p=${C.timing.pValue.toFixed(3)}`;g.push(` timing: ${O(C.timing.medianDeltaPct)} median, 95% CI [${O(C.timing.ci95[0])}, ${O(C.timing.ci95[1])}], ${z} (${C.timing.verdict})`)}else g.push(` timing: ${O(C.timing.medianDeltaPct)} median (${C.timing.verdict})`)}if(C.frames)for(let O of C.frames.slice(0,xn)){if(Math.abs(O.deltaPct)<0.5)continue;let z=O.deltaPct>0?"+":"";g.push(` frame ${O.name}: ${z}${O.deltaPct.toFixed(1)}% self-time (${(O.baseSelfUs/1000).toFixed(2)}ms -> ${(O.candSelfUs/1000).toFixed(2)}ms)`)}if(C.heapTypes)for(let O of C.heapTypes.slice(0,kn)){if(Math.abs(O.deltaPct)<0.5)continue;let z=O.deltaPct>0?"+":"";g.push(` heap ${O.type}: ${z}${O.deltaPct.toFixed(1)}% count (${O.baseCount} -> ${O.candCount})`)}}return g}var xn=5,kn=5;function nt(i,y){let g=[];for(let _ of i.measurements){if(_.phase!=="cpu"&&_.phase!=="heap")continue;let C=y.get(_.workloadId),H=C?r(C):_.workloadId;if(_.phase==="cpu")if(_.cpu){g.push(`CPU capture - ${H} (instrumented, ${_.cpu.samplingIntervalUs}\xB5s interval, diagnostic wall ${Zn(_.diagnosticWallNs??0)}ms)`);let W=_.cpu.totals.reduce((L,V)=>L+V.selfUs,0)||1;for(let L of _.cpu.totals.slice(0,xn)){let V=_.cpu.frames[L.frameIx],O=(L.selfUs/W*100).toFixed(1);g.push(` ${O.padStart(5)}% ${(L.selfUs/1000).toFixed(2).padStart(8)}ms self ${V?.name??"?"}`)}}else g.push(`CPU capture - ${H} (instrumented, no evidence captured)`);else if(_.heap){let W=((_.heap.heapSizeBytes??0)/1e6).toFixed(2);g.push(`Heap snapshot - ${H} (instrumented, ${_.heap.objectCount??"?"} objects, ${W}MB)`);for(let L of _.heap.typeCounts.slice(0,kn))g.push(` ${String(L.count).padStart(6)} ${L.type}`)}else g.push(`Heap snapshot - ${H} (instrumented, no evidence captured)`);for(let W of _.artifacts)g.push(` artifact: ${W.path}`);for(let W of _.warnings)g.push(` ! ${W.message}`)}return g}var u={table:yn,json:sn,markdown:pn,jsonl:on,minimal:gn,collapsed:tn,mermaid:ln,speedscope:bn,cpuprofile:rn};function Z(i){return i}var _e=1000;async function D(i){let y=s({samples:i.samples??null,budgetMs:i.budgetMs??null,minSamples:i.minSamples??null,warmup:i.warmup??null,cpu:i.cpu??!1,heap:i.heap??!1,cpuIntervalUs:i.cpuIntervalUs??_e}),_=`${i.outDir??Ce}/artifacts`,C=i.noiseCheck===!1?void 0:w(),H=C?k(C):void 0,W=[],L=[],V=i.commands.map((q)=>{let re=typeof q==="string"||Array.isArray(q)?{command:q}:q,G=Array.isArray(re.command)?re.command:f(re.command),ae=re.prepare??i.prepare,pe=re.timeSource??i.timeSource,ue=h(G,re.label??(Array.isArray(re.command)?void 0:re.command),{prepare:ae,timeSource:pe});return{argv:G,workload:ue,prepare:ae,timeSource:pe}}),O=(i.interleave??!0)&&V.length>1,z=(q)=>({argv:q.argv,cwd:i.cwd,env:i.env,samples:i.samples,budgetMs:i.budgetMs,minSamples:i.minSamples,warmup:i.warmup,prepare:q.prepare,timeSource:q.timeSource}),ne=V.map((q)=>Ee(z(q))),ee=async(q)=>{let{argv:re,workload:G,prepare:ae}=V[q];W.push(G);let pe=ne[q].result(),ue=c({workload:G,configFingerprint:y,trials:pe.trials,timing:pe.timing,warnings:H&&L.length===0?[...pe.warnings,H]:pe.warnings,interleaved:O?!0:void 0});L.push(ue),L.push(...await tt({workload:G,argv:re,timingMeasurementId:ue.id,cfgFp:y,opts:i,artifactDir:_,prepare:ae}))};if(O){for(let re of ne)await re.warmup();let q=!0;while(q){q=!1;for(let re of ne)if(await re.step())q=!0}for(let re=0;re<V.length;re++)await ee(re)}else for(let q=0;q<V.length;q++)await Ae(ne[q]),await ee(q);return n(W,L,C)}async function tt({workload:i,argv:y,timingMeasurementId:g,cfgFp:_,opts:C,artifactDir:H,prepare:W}){let L=[],V=async(O)=>{if(W)await v(W,{phase:O,index:0},{cwd:C.cwd,env:C.env})};if(C.cpu){await V("cpu");let O=`${g}-cpu.cpuprofile`,z=await Le({argv:y,cwd:C.cwd,env:C.env,artifactDir:H,fileName:O,intervalUs:C.cpuIntervalUs??_e});L.push(await Pn({workload:i,phase:"cpu",configFingerprint:_,diagnosticWallNs:z.diagnosticWallNs,exitCode:z.exitCode,cpu:z.cpu,artifactPath:z.artifactPath,artifactKind:"cpuprofile",warnings:z.warnings}))}if(C.heap){await V("heap");let O=`${g}-heap.heapsnapshot`,z=await Ve({argv:y,cwd:C.cwd,env:C.env,artifactDir:H,fileName:O});L.push(await Pn({workload:i,phase:"heap",configFingerprint:_,diagnosticWallNs:z.diagnosticWallNs,exitCode:z.exitCode,heap:z.heap,artifactPath:z.artifactPath,artifactKind:"heapsnapshot",warnings:z.warnings}))}return L}async function Pn(i){let y=`${i.workload.id}-${i.phase}-${i.configFingerprint}`,g=i.artifactPath?[await j(y,i.artifactKind,i.artifactPath)]:[];return l({workload:i.workload,phase:i.phase,configFingerprint:i.configFingerprint,diagnosticWallNs:i.diagnosticWallNs,exitCode:i.exitCode,cpu:i.cpu,heap:i.heap,warnings:i.warnings,artifacts:g})}async function Y(i,y={}){let g=A(i),_=s({intervalUs:y.intervalUs??_e,origin:y.origin??"inspector"}),C=(L)=>L.samples?.nodeIds.length===0?[{code:"empty-profile",message:"In-process capture produced zero samples."}]:[],H=y.origin==="jsc"?await b(i,y):{...await ze(i,y),jit:void 0},W=l({workload:g,phase:"cpu",configFingerprint:_,diagnosticWallNs:H.diagnosticWallNs,cpu:H.cpu,jit:H.jit,warnings:C(H.cpu),artifacts:[]});return{result:H.result,measurement:W,document:n([g],[W])}}
21
- export{x,M,I,a,P,S,N,B,m,U,p,r,K,X,u,Z,D,Y};