| 12 |
- import{n as o,a_ as B,d as te,c as v,S as ne,Q as ae,f as le,b4 as re,h as M,o as oe,j as ie,Z as y,$ as R,a0 as u,a7 as s,a5 as C,a9 as x,ay as T,a1 as k,a6 as g,T as m,ck as P,D as se,b8 as ue,C as ce,aP as de,a4 as fe,M as ve,x as me,cl as pe,at as ge}from"./index-8a67e3df.js";/* empty css */import{R as _e,a as be,r as ye}from"./pan-3c2a437f.js";import{b as j,c as F}from"./debug-d93946e9.js";import{u as Ce}from"./index-c6560d80.js";import"./dayjs-919e6097.js";import{_ as he}from"./index-66456a53.js";var we={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"};const Oe=we;function U(r){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?Object(arguments[n]):{},i=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(i=i.concat(Object.getOwnPropertySymbols(a).filter(function(l){return Object.getOwnPropertyDescriptor(a,l).enumerable}))),i.forEach(function(l){ke(r,l,a[l])})}return r}function ke(r,n,a){return n in r?Object.defineProperty(r,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[n]=a,r}var D=function(n,a){var i=U({},n,a.attrs);return o(B,U({},i,{icon:Oe}),null)};D.displayName="ReloadOutlined";D.inheritAttrs=!1;const Se=D;var Ne={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"}}]},name:"undo",theme:"outlined"};const xe=Ne;function z(r){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?Object(arguments[n]):{},i=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(i=i.concat(Object.getOwnPropertySymbols(a).filter(function(l){return Object.getOwnPropertyDescriptor(a,l).enumerable}))),i.forEach(function(l){Te(r,l,a[l])})}return r}function Te(r,n,a){return n in r?Object.defineProperty(r,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[n]=a,r}var A=function(n,a){var i=z({},n,a.attrs);return o(B,z({},i,{icon:xe}),null)};A.displayName="UndoOutlined";A.inheritAttrs=!1;const Pe=A,De={class:"cancel-btn"},Ae={class:"view-controls"},Ie={key:0,class:"heap-stats"},Ve={key:0},$e={class:"control-group"},Me={key:2,class:"text-view"},Re=te({__name:"cpu",setup(r){v();const n=v(!1),a=v(0),i=v("正在分析,请稍等...");let l=null,c=null;const f=v("graph"),E=ne(),{getDarkMode:q}=ae(E),S=le(()=>q.value===re.DARK),d=v({samplingIntervalNs:"0",goroutines:[],functions:[],runtimeStats:{blockingTimeNs:"",gcCount:"",gcCpuFraction:0,gcPauseTimeNs:""}}),L=v(null),p=v(null),G=()=>{ye()},O=v("");M(S,e=>{f.value==="graph"&&(p.value&&p.value.querySelector("svg")?$(p.value.querySelector("svg")):N())}),M(f,e=>{e==="graph"?N():ce(()=>{H(d.value)})});const I=Ce();oe(async()=>{try{n.value=!0,await N()}catch(e){console.error("Failed to load heap data:",e)}finally{n.value=!1;const e=await j();d.value=e}});const H=e=>{const t=[e];t.length>0&&I.tableRef.reloadData(t)},V=e=>`${(e*1e4).toFixed(3)}‰`,_=(e,t)=>{if(t==="s")return Number(e)/1e6+"秒";if(t==="ns")return Number(e)+"纳秒";if(t==="ms")return(Number(e)/1e3).toFixed(2)+"毫秒"};async function N(){try{O.value||(O.value=await F()),_e().then(e=>{if(!p.value)return;p.value.innerHTML="";const t=e.renderSVGElement(O.value);$(t),p.value.appendChild(t),be(t)})}catch(e){console.error("Failed to render graph:",e)}}function $(e){if(!e)return;const t=S.value;e.style.backgroundColor=t?"var(--layout-background)":"#f8f8f8";const h=e.querySelectorAll("polygon, ellipse"),w=e.querySelectorAll("text");h.forEach(b=>{b.setAttribute("fill",t?"#1f1f1f":"#ffffff"),b.setAttribute("stroke",t?"#aaaaaa":"#000000")}),w.forEach(b=>{b.setAttribute("fill",t?"var(--text-color)":"#000000")})}const Z={maxHeight:"100%",rowConfig:{className:()=>S.value?"dark-row":"",isHover:!0},columnConfig:{useKey:!0},columns:[{field:"samplingIntervalNs",title:"采样间隔",formatter:({row:e})=>_(e.samplingIntervalNs,"s")},{field:"gcCpuFraction",title:"垃圾回收占用CPU时间比例",formatter:({row:e})=>V(e.runtimeStats.gcCpuFraction),minWidth:"100px"},{field:"gcCount",title:"垃圾回收次数",formatter:({row:e})=>e.runtimeStats.gcCount},{field:"blockingTimeNs",title:"阻塞时间",formatter:({row:e})=>_(e.runtimeStats.blockingTimeNs,"ns")},{field:"gcPauseTimeNs",title:"垃圾回收暂停时间",formatter:({row:e})=>_(e.runtimeStats.gcPauseTimeNs,"ms")},{field:"functions",title:"函数调用栈数量",formatter:({row:e})=>e.functions.length||0},{field:"goroutines",title:"协程数量",formatter:({row:e})=>e.goroutines.length||0}],data:[]},Q=({key:e})=>{W(Number(e))},W=async(e=10)=>{try{n.value=!0,O.value="",c&&c.abort(),c=new AbortController,a.value=e,l&&clearInterval(l),l=setInterval(()=>{a.value>0?(a.value--,i.value=`正在分析,距离完成还剩 ${a.value} 秒...`):l&&(clearInterval(l),l=null)},1e3),await F(!0,e,c.signal);const t=await j();d.value=t}catch(t){t.name==="AbortError"||console.error("Failed to reload data:",t)}finally{l&&(clearInterval(l),l=null),n.value=!1,i.value="正在分析,请稍等...",c=null}},J=()=>{l&&(clearInterval(l),l=null),c&&(c.abort(),c=null),n.value=!1,a.value=0,i.value="正在分析,请稍等..."};return ie(()=>{l&&(clearInterval(l),l=null),c&&(c.abort(),c=null)}),(e,t)=>{const h=de,w=fe,b=ve,X=me,Y=he,K=pe;return y(),R(K,{spinning:n.value,tip:i.value},{indicator:u(()=>[s("div",De,[a.value>0?(y(),R(h,{key:0,type:"danger",onClick:J},{default:u(()=>t[2]||(t[2]=[C(" 取消分析 ")])),_:1})):x("",!0)])]),default:u(()=>[s("div",{class:T(["heap-container",{"graph-view":f.value==="graph"}])},[s("div",Ae,[s("button",{class:T({active:f.value==="graph"}),onClick:t[0]||(t[0]=ee=>f.value="graph")}," Graph View ",2),s("button",{class:T({active:f.value==="text"}),onClick:t[1]||(t[1]=ee=>f.value="text")}," Text View ",2)]),!n.value&&f.value==="graph"?(y(),k("div",Ie,[t[3]||(t[3]=s("h3",null,"Cpu Statistics",-1)),d.value.samplingIntervalNs?(y(),k("div",Ve,[s("div",null," 采样间隔: "+g(_(d.value.samplingIntervalNs,"s")),1),s("div",null," 垃圾回收占用CPU时间比例: "+g(V(d.value.runtimeStats.gcCpuFraction)),1),s("div",null,"垃圾回收次数: "+g(d.value.runtimeStats.gcCount),1),s("div",null," 阻塞时间: "+g(_(d.value.runtimeStats.blockingTimeNs,"ns")),1),s("div",null," 垃圾回收暂停时间: "+g(_(d.value.runtimeStats.gcPauseTimeNs,"ms")),1),s("div",null,"函数调用栈数量: "+g(d.value.functions.length),1),s("div",null,"协程数量: "+g(d.value.goroutines.length),1)])):x("",!0)])):x("",!0),f.value==="graph"?(y(),k("div",{key:1,class:"viz-container",ref_key:"vizContainer",ref:L},[s("div",$e,[o(Y,null,{default:u(()=>[o(h,{class:"reset-btn",onClick:G},{icon:u(()=>[o(m(Pe))]),default:u(()=>[t[4]||(t[4]=C(" 重置视图 "))]),_:1}),o(X,null,{overlay:u(()=>[o(b,{onClick:Q},{default:u(()=>[o(w,{key:"10"},{default:u(()=>[o(m(P)),t[6]||(t[6]=C(" 10秒 "))]),_:1}),o(w,{key:"30"},{default:u(()=>[o(m(P)),t[7]||(t[7]=C(" 30秒 "))]),_:1}),o(w,{key:"60"},{default:u(()=>[o(m(P)),t[8]||(t[8]=C(" 1分钟 "))]),_:1})]),_:1})]),default:u(()=>[o(h,{type:"primary"},{icon:u(()=>[o(m(Se))]),default:u(()=>[t[5]||(t[5]=C(" 重新分析 ")),o(m(se))]),_:1})]),_:1})]),_:1})]),s("div",{class:"main-view",ref_key:"mainView",ref:p},null,512)],512)):(y(),k("div",Me,[o(m(ue),{uid:m(I).uid,gridOptions:Z},null,8,["uid"])]))],2)]),_:1},8,["spinning","tip"])}}});const Le=ge(Re,[["__scopeId","data-v-570f1997"]]);export{Le as default};
- //# sourceMappingURL=cpu-8a0ed830.js.map
|