UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

13 lines • 42.8 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-6uiuHcRr.js","assets/rolldown-runtime-DAXXjFlN.js","assets/preload-helper-Cpp8KLTa.js","assets/typeof-B5XbjTb1.js","assets/jszip.min-CsE7HSTL.js"])))=>i.map(i=>d[i]); import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{A as t,B as n,C as r,D as i,E as a,I as o,K as s,M as c,Nt as l,T as u,Y as d,Z as f,Zt as p,_t as m,at as h,k as g,lt as _,q as ee,t as v,w as y,y as b}from"./i18n.store-Bkc9i0ZB.js";import{t as te,x as ne}from"./_plugin-vue_export-helper-BZ1AqotW.js";import{t as re}from"./preload-helper-Cpp8KLTa.js";import{t as ie}from"./redis-state.store-6nwmGrRG.js";import{t as ae}from"./common.store-yJBdXfWc.js";import{i as x,r as oe}from"./socket.service-CwqYs11N.js";import{C as S,D as C,b as se,i as w,w as T}from"./index-BNz7Rlxf.js";import{t as E}from"./P3xrAccordion-HdyTZEnI.js";/* empty css */import{p as ce}from"./monitoring-data-Co5q98XD.js";o(),l(),_();var le={key:0,class:`p3xr-monitoring-loading`},ue={key:1},de={class:`p3xr-pair-row`},fe={class:`p3xr-pair-label`},pe={class:`p3xr-pair-value p3xr-mono`},me={class:`p3xr-pair-row`},he={class:`p3xr-pair-label`},ge={class:`p3xr-pair-value p3xr-mono`},_e={class:`p3xr-pair-row`},ve={class:`p3xr-pair-label`},ye={class:`p3xr-pair-value p3xr-mono`},be={class:`p3xr-pair-row`},xe={class:`p3xr-pair-label`},Se={class:`p3xr-pair-value p3xr-mono`},Ce={class:`p3xr-pair-row`},we={class:`p3xr-pair-label`},Te={class:`p3xr-pair-value p3xr-mono`},Ee={class:`p3xr-pair-row`},De={class:`p3xr-pair-label`},Oe={class:`p3xr-pair-value p3xr-mono`},ke={class:`p3xr-pair-row`},Ae={class:`p3xr-pair-label`},je={class:`p3xr-pair-value p3xr-mono`},Me={class:`p3xr-pair-row`},Ne={class:`p3xr-pair-label`},Pe={class:`p3xr-pair-value p3xr-mono`},Fe={class:`p3xr-pair-row`},Ie={class:`p3xr-pair-label`},Le={class:`p3xr-pair-value p3xr-mono`},Re={class:`p3xr-pair-row`},ze={class:`p3xr-pair-label`},Be={class:`p3xr-pair-value p3xr-mono`},Ve={class:`p3xr-pair-row`},He={class:`p3xr-pair-label`},Ue={class:`p3xr-pair-value p3xr-mono`},We={class:`p3xr-pair-row`},Ge={class:`p3xr-pair-label`},Ke={class:`p3xr-pair-value p3xr-mono`},qe={class:`p3xr-pair-row`},Je={class:`p3xr-pair-label`},Ye={class:`p3xr-pair-value p3xr-mono`},Xe={class:`p3xr-pair-row`},Ze={class:`p3xr-pair-label`},Qe={class:`p3xr-pair-value p3xr-mono`},$e={class:`p3xr-pair-row`},et={class:`p3xr-pair-label`},tt={class:`p3xr-pair-value p3xr-mono`},nt={class:`p3xr-pair-row`},rt={class:`p3xr-pair-label`},it={class:`p3xr-pair-value p3xr-mono`},at={class:`p3xr-pair-row`},ot={class:`p3xr-pair-label`},st={class:`p3xr-pair-value p3xr-mono`},ct={class:`p3xr-pair-row`},lt={class:`p3xr-pair-label`},ut={class:`p3xr-pair-value p3xr-mono`},dt={class:`p3xr-pair-row`},ft={class:`p3xr-pair-label`},pt={class:`p3xr-pair-value p3xr-mono`},mt={class:`p3xr-pair-row`},ht={class:`p3xr-pair-label`},gt={class:`p3xr-pair-value p3xr-mono`},_t={class:`p3xr-pair-row`},vt={class:`p3xr-pair-label`},yt={class:`p3xr-pair-value p3xr-mono`},bt={class:`p3xr-pair-row`},xt={class:`p3xr-pair-label`},St={class:`p3xr-pair-value p3xr-mono`},Ct={class:`p3xr-pair-row`},wt={class:`p3xr-pair-label`},Tt={class:`p3xr-pair-value p3xr-mono`},Et={class:`p3xr-pair-row`},Dt={class:`p3xr-pair-label`},Ot={class:`p3xr-pair-value p3xr-mono`},kt={class:`p3xr-pair-row`},At={class:`p3xr-pair-label`},jt={class:`p3xr-pair-value p3xr-mono`},Mt={class:`p3xr-pair-row`},Nt={class:`p3xr-pair-label`},Pt={class:`p3xr-pair-value p3xr-mono`},Ft={class:`p3xr-pair-row`},It={class:`p3xr-pair-label`},Lt={class:`p3xr-pair-value p3xr-mono`},Rt={class:`p3xr-pair-row`},zt={class:`p3xr-pair-label`},Bt={class:`p3xr-pair-value p3xr-mono`},Vt={class:`p3xr-pair-row`},Ht={class:`p3xr-pair-label`},Ut={class:`p3xr-pair-value p3xr-mono`},Wt={class:`p3xr-pair-row`},Gt={class:`p3xr-pair-label`},Kt={class:`p3xr-pair-value p3xr-mono`},qt={key:0,style:{padding:`16px`,opacity:`0.5`}},Jt={class:`p3xr-pair-row`},Yt={class:`p3xr-pair-label`},Xt={class:`p3xr-pair-value p3xr-mono`},Zt={key:0,style:{padding:`12px 16px`,opacity:`0.6`}},Qt={class:`p3xr-slowlog-row`},$t={class:`p3xr-kbd p3xr-kbd-small`},en={class:`p3xr-slowlog-cmd`},tn={key:0,style:{padding:`16px`,opacity:`0.5`}},nn={key:1,style:{padding:`16px`,opacity:`0.5`}},rn={class:`p3xr-client-row`},an={class:`p3xr-mono p3xr-client-addr`},on={key:0,class:`p3xr-client-name`},sn={class:`p3xr-client-info`},cn={key:0,style:{padding:`16px`,opacity:`0.5`}},ln={key:1,style:{padding:`16px`,opacity:`0.5`}},un={class:`p3xr-pair-row`},dn={class:`p3xr-pair-label`},fn={style:{opacity:`0.4`,"margin-right":`8px`}},pn={class:`p3xr-mono`,style:{"font-size":`13px`}},mn={class:`p3xr-pair-value p3xr-mono`},hn={style:{padding:`8px 16px`,display:`flex`,gap:`8px`,"align-items":`center`}},gn={key:0,style:{padding:`16px`,opacity:`0.5`}},_n={class:`p3xr-pair-row`},vn={class:`p3xr-pair-label`},yn={style:{opacity:`0.4`,"margin-right":`8px`}},bn={class:`p3xr-mono`},xn={class:`p3xr-pair-value p3xr-mono`},Sn={key:0,style:{padding:`12px 16px`,opacity:`0.6`}},Cn={class:`p3xr-pair-row`},wn={class:`p3xr-pair-label`},Tn={style:{"font-weight":`500`}},En={style:{opacity:`0.5`,"margin-left":`8px`,"font-size":`12px`}},Dn={class:`p3xr-pair-value p3xr-mono`},On={key:0,style:{opacity:`0.5`,"margin-left":`8px`}},kn={style:{padding:`8px 16px`,opacity:`0.6`,"font-size":`12px`}},An=120,D=te(c({__name:`PulsePage`,setup(o){let c=v(),l=ie(),_=ae(),te=ce(),D=r(()=>c.strings),O=m(null),k=m([]),jn=m(!1),A=m([]),j=m([]),Mn=m(!1),M=m(localStorage.getItem(`p3xr-monitor-auto-clients`)===`true`),N=m(localStorage.getItem(`p3xr-monitor-auto-topkeys`)===`true`),Nn=m(!1),Pn=m(!1),Fn=m([]),P=m(`KEY-COUNT`),In=m(!1),F=m(!1),I=m(null),L=m(localStorage.getItem(`p3xr-monitor-auto-shards`)===`true`),R=null,Ln=m(),Rn=m(),zn=m(),Bn=m(),Vn,z,B,V,H,U,W=!1,G=null,Hn=null,Un=[],Wn=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}),Gn=e=>Wn.format(new Date(e)),K=r(()=>l.connection?.name),Kn=r(()=>{if(!O.value)return`-`;let e=O.value.server.uptime,t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t}d ${n}h ${r}m`:n>0?`${n}h ${r}m`:`${r}m`});function q(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function J(e,t){let n=new Blob([e],{type:`text/plain`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,i.click(),URL.revokeObjectURL(r)}let Y=r(()=>{let e=l.info;if(!e)return null;let t=e.server||{},n=e.cpu||{};return{os:t.os||``,port:t.tcp_port||``,pid:t.process_id||``,configFile:t.config_file||``,cpuSys:n.used_cpu_sys,cpuUser:n.used_cpu_user}}),X=r(()=>{let e=l.info;if(!e?.persistence)return null;let t=e.persistence,n=parseInt(t.rdb_last_save_time,10);return{rdbLastSave:n?new Date(n*1e3).toLocaleString():`N/A`,rdbStatus:t.rdb_last_bgsave_status,rdbChanges:t.rdb_changes_since_last_save??`N/A`,aofEnabled:t.aof_enabled===`1`?`Yes`:`No`,aofSize:t.aof_enabled===`1`?q(parseInt(t.aof_current_size,10)||0):``}}),Z=r(()=>{let e=l.info;if(!e?.replication)return null;let t=e.replication,n={role:t.role};return t.role===`master`?n.replicas=t.connected_slaves??`0`:t.role===`slave`&&(n.masterHost=t.master_host,n.masterPort=t.master_port,n.linkStatus=t.master_link_status),n}),qn=r(()=>{let e=l.info;return e?.keyspace?Object.keys(e.keyspace).filter(e=>e.startsWith(`db`)).sort((e,t)=>parseInt(e.slice(2),10)-parseInt(t.slice(2),10)).map(t=>{let n=e.keyspace[t];return{db:t,keys:typeof n==`object`?n.keys:`0`,expires:typeof n==`object`?n.expires:`0`}}):[]}),Q=r(()=>(l.modules||[]).map(e=>({name:e.name,ver:String(e.ver??e.version??``)})));async function Jn(){try{let e=(await x({action:`monitor/info`,payload:{}})).data;O.value=e,F.value=l.connection?.cluster===!0,k.value.push(e),k.value.length>An&&k.value.shift(),W?Sr():z&&k.value.length>=2&&br()}catch{}}async function Yn(){try{A.value=(await x({action:`client/list`,payload:{}})).data,Nn.value=!0}catch{Nn.value=!0}}async function Xn(){try{j.value=(await x({action:`memory/top-keys`,payload:{topN:20}})).data,Pn.value=!0}catch{Pn.value=!0}}async function Zn(){try{Fn.value=(await x({action:`cluster/slot-stats`,payload:{metric:P.value,limit:20}})).slots||[],In.value=!0}catch{In.value=!0,Fn.value=[]}}async function Qn(e,t){t.stopPropagation();try{await _.confirm({message:D.value?.page?.monitor?.confirmKillClient}),await x({action:`client/kill`,payload:{id:e}}),_.toast(D.value?.page?.monitor?.clientKilled),await Yn()}catch(e){e!==void 0&&_.generalHandleError(e)}}function $n(){jn.value=!jn.value}function er(){M.value=!M.value;try{localStorage.setItem(`p3xr-monitor-auto-clients`,String(M.value))}catch{}}function tr(){N.value=!N.value;try{localStorage.setItem(`p3xr-monitor-auto-topkeys`,String(N.value))}catch{}}function nr(){if(!O.value)return;let e=O.value,t=D.value?.page?.monitor||{};J([`${t.memory}: ${e.memory.usedHuman}`,`${t.rss}: ${e.memory.rssHuman}`,`${t.peak}: ${e.memory.peakHuman}`,`${t.fragmentation}: ${e.memory.fragRatio}x`,`${t.opsPerSec}: ${e.stats.opsPerSec}`,`${t.totalCommands}: ${e.stats.totalCommands}`,`${t.clients}: ${e.clients.connected}`,`${t.blocked}: ${e.clients.blocked}`,`${t.hitsMisses}: ${e.stats.hitRate}%`,`${t.hitsAndMisses}: ${e.stats.hits} / ${e.stats.misses}`,`${t.networkIo}: ${e.stats.inputKbps.toFixed(1)} / ${e.stats.outputKbps.toFixed(1)} KB/s`,`${t.expired}: ${e.stats.expiredKeys}`,`${t.evicted}: ${e.stats.evictedKeys}`].join(` `),`${K.value}-overview.txt`)}function rr(){let e=Y.value;if(!e)return;let t=D.value?.page?.monitor||{};J([`${t.os}: ${e.os}`,`${t.port}: ${e.port}`,`${t.pid}: ${e.pid}`,`${t.configFile}: ${e.configFile}`,`${t.cpuSys} CPU: ${e.cpuSys}`,`${t.cpuUser} CPU: ${e.cpuUser}`].join(` `),`${K.value}-server-info.txt`)}function ir(){let e=X.value;if(!e)return;let t=D.value?.page?.monitor||{},n=[`${t.rdbLastSave}: ${e.rdbLastSave}`,`${t.rdbStatus}: ${e.rdbStatus}`,`${t.rdbChanges}: ${e.rdbChanges}`,`${t.aofEnabled}: ${e.aofEnabled}`];e.aofSize&&n.push(`${t.aofSize}: ${e.aofSize}`),J(n.join(` `),`${K.value}-persistence.txt`)}function ar(){let e=Z.value;if(!e)return;let t=D.value?.page?.monitor||{},n=[`${t.role}: ${e.role}`];e.replicas!==void 0&&n.push(`${t.replicas}: ${e.replicas}`),e.masterHost&&n.push(`${t.masterHost}: ${e.masterHost}:${e.masterPort}`),e.linkStatus&&n.push(`${t.linkStatus}: ${e.linkStatus}`),J(n.join(` `),`${K.value}-replication.txt`)}function or(){let e=qn.value;if(e.length===0)return;let t=D.value?.page?.monitor||{};J(e.map(e=>`${e.db}: ${t.keys}: ${e.keys}, ${t.expires}: ${e.expires}`).join(` `),`${K.value}-keyspace.txt`)}function sr(){let e=Q.value,t=D.value?.page?.monitor||{};if(e.length===0){J(t.noModules,`${K.value}-modules.txt`);return}J(e.map(e=>`${e.name} v${e.ver}`).join(` `),`${K.value}-modules.txt`)}function cr(e,t){let n=e?.querySelector(`canvas`);if(!n)return;let r=document.createElement(`canvas`);r.width=n.width,r.height=n.height;let i=r.getContext(`2d`),a=document.body.classList.contains(`p3xr-theme-dark`);i.fillStyle=getComputedStyle(document.body).getPropertyValue(`--p3xr-body-bg`).trim()||(a?`#1e1e1e`:`#ffffff`),i.fillRect(0,0,r.width,r.height),i.drawImage(n,0,0);let o=r.toDataURL(`image/png`),s=document.createElement(`a`);s.href=o,s.download=`${K.value}-${t}.png`,s.click()}async function lr(){try{let e=D.value?.page?.monitor||{};await _.confirm({message:e.confirmSlowLogReset}),await x({action:`monitor/slowlog-reset`}),_.toast(e.slowLogResetDone)}catch{}}function ur(){O.value&&J(O.value.slowlog.map(e=>`${e.duration}\u00B5s ${e.command}`).join(` `),`${K.value}-slowlog.txt`)}function dr(){J(A.value.map(e=>`${e.addr} ${e.name||``} db${e.db} ${e.cmd} idle:${e.idle}s`).join(` `),`${K.value}-clients.txt`)}async function fr(){try{I.value=(await x({action:`cluster/shards`})).data.shards}catch(e){_.generalHandleError(e)}}function pr(){L.value=!L.value,localStorage.setItem(`p3xr-monitor-auto-shards`,String(L.value)),L.value?(fr(),R=setInterval(()=>fr(),2e3)):(clearInterval(R),R=null)}function mr(e){return e.slotRanges.reduce((e,[t,n])=>e+(n-t+1),0)}function hr(){I.value&&J(I.value.map(e=>{let t=e.slotRanges.map(([e,t])=>`${e}-${t}`).join(`, `),n=mr(e),r=e.replicas.map(e=>`${e.host}:${e.port}`).join(`, `);return`${e.master.host}:${e.master.port} | ${t} | ${n} slots | replicas: ${r}`}).join(` `),`${K.value}-cluster-slots.txt`)}function gr(){J(j.value.map((e,t)=>`#${t+1} ${e.key} ${q(e.bytes)}`).join(` `),`${K.value}-topkeys.txt`)}function _r(){let e=document.body.classList.contains(`p3xr-theme-dark`),t=getComputedStyle(document.body),n=t.getPropertyValue(`--p3xr-btn-primary-bg`).trim(),r=t.getPropertyValue(`--p3xr-btn-accent-bg`).trim(),i=t.getPropertyValue(`--p3xr-btn-warn-bg`).trim();return{primary:n||(e?`#90caf9`:`#1976d2`),accent:r||(e?`#ce93d8`:`#9c27b0`),warn:i||(e?`#ef9a9a`:`#f44336`),text:e?`rgba(255,255,255,0.87)`:`rgba(0,0,0,0.87)`,grid:e?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.08)`}}function vr(){return{timestamps:k.value.map(e=>e.timestamp/1e3),memUsed:k.value.map(e=>e.memory.used/(1024*1024)),memRss:k.value.map(e=>e.memory.rss/(1024*1024)),ops:k.value.map(e=>e.stats.opsPerSec),connected:k.value.map(e=>e.clients.connected),blocked:k.value.map(e=>e.clients.blocked),netIn:k.value.map(e=>e.stats.inputKbps),netOut:k.value.map(e=>e.stats.outputKbps)}}function $(e){return e?.offsetWidth||500}function yr(e,t){let n=_r();return{width:e,height:180,cursor:{show:!0,drag:{x:!1,y:!1}},legend:{show:!0,live:!1},scales:{x:{time:!0}},axes:[{stroke:n.text,grid:{stroke:n.grid,width:1},ticks:{stroke:n.grid},font:`11px Roboto`,values:(e,t)=>t.map(e=>Gn(e*1e3))},{stroke:n.text,grid:{stroke:n.grid,width:1},ticks:{stroke:n.grid},font:`11px Roboto Mono`,size:55}],series:[{label:D.value?.label?.time,value:(e,t)=>t?Gn(t*1e3):``},...t]}}function br(){if(!z||W)return;let e=_r(),t=vr(),n=Ln.value,r=Rn.value,i=zn.value,a=Bn.value;if(!n||!r||!i||!a)return;let o=D.value?.page?.monitor||{};B=new z(yr($(n),[{label:o.memory,stroke:e.primary,width:2,fill:e.primary+`15`},{label:`RSS`,stroke:e.accent,width:2}]),[t.timestamps,t.memUsed,t.memRss],n),V=new z(yr($(r),[{label:o.opsPerSec,stroke:e.primary,width:2,fill:e.primary+`20`}]),[t.timestamps,t.ops],r),H=new z(yr($(i),[{label:o.clients,stroke:e.primary,width:2},{label:o.blocked,stroke:e.warn,width:2}]),[t.timestamps,t.connected,t.blocked],i),U=new z(yr($(a),[{label:`↓ In`,stroke:e.primary,width:2,fill:e.primary+`15`},{label:`↑ Out`,stroke:e.accent,width:2}]),[t.timestamps,t.netIn,t.netOut],a),W=!0;let s;G=new ResizeObserver(()=>{clearTimeout(s),s=setTimeout(()=>{let e=$(n),t=$(r),o=$(i),s=$(a);e>0&&B?.setSize({width:e,height:180}),t>0&&V?.setSize({width:t,height:180}),o>0&&H?.setSize({width:o,height:180}),s>0&&U?.setSize({width:s,height:180})},50)}),G.observe(n),G.observe(r),G.observe(i),G.observe(a)}function xr(){B?.destroy(),V?.destroy(),H?.destroy(),U?.destroy(),W=!1,k.value.length>=2&&br()}function Sr(){if(!W)return;let e=vr();B?.setData([e.timestamps,e.memUsed,e.memRss]),V?.setData([e.timestamps,e.ops]),H?.setData([e.timestamps,e.connected,e.blocked]),U?.setData([e.timestamps,e.netIn,e.netOut])}async function Cr(){z=(await re(()=>import(`./uPlot.esm-DlluxdM_.js`),[])).default,k.value.length>=2&&br()}function wr(e,t,n){let r=document.createElement(`canvas`);r.width=900*2,r.height=260*2;let i=r.getContext(`2d`);i.scale(2,2);let a=document.body.classList.contains(`p3xr-theme-dark`);i.fillStyle=getComputedStyle(document.body).getPropertyValue(`--p3xr-body-bg`).trim()||(a?`#1e1e1e`:`#ffffff`),i.fillRect(0,0,900,260);let o=e.length;if(o<2)return r;let s=1/0,c=-1/0;for(let e of t)for(let t of e.values)t<s&&(s=t),t>c&&(c=t);s===c&&(--s,c+=1);let l=c-s,u=e[0],d=e[o-1]-u||1,f=e=>60+(e-u)/d*824,p=e=>200-(e-s)/l*168;i.strokeStyle=n.grid,i.lineWidth=1;for(let e=0;e<=5;e++){let t=32+168/5*e;i.beginPath(),i.moveTo(60,t),i.lineTo(884,t),i.stroke();let r=c-l/5*e;i.fillStyle=n.text,i.font=`10px Roboto Mono, monospace`,i.textAlign=`right`,i.textBaseline=`middle`,i.fillText(r>=1e3?(r/1e3).toFixed(1)+`k`:r.toFixed(1),54,t)}let m=Math.min(6,o);i.font=`10px Roboto, sans-serif`,i.textAlign=`center`,i.textBaseline=`top`,i.fillStyle=n.text;for(let t=0;t<m;t++){let n=e[Math.round(t/(m-1)*(o-1))],r=new Date(n*1e3);i.fillText(`${String(r.getHours()).padStart(2,`0`)}:${String(r.getMinutes()).padStart(2,`0`)}:${String(r.getSeconds()).padStart(2,`0`)}`,f(n),206)}for(let n of t){i.strokeStyle=n.color,i.lineWidth=2,i.lineJoin=`round`,i.beginPath();for(let t=0;t<o;t++){let r=f(e[t]),a=p(n.values[t]);t===0?i.moveTo(r,a):i.lineTo(r,a)}if(i.stroke(),n.fill){i.fillStyle=n.color+`20`,i.beginPath(),i.moveTo(f(e[0]),p(n.values[0]));for(let t=1;t<o;t++)i.lineTo(f(e[t]),p(n.values[t]));i.lineTo(f(e[o-1]),200),i.lineTo(f(e[0]),200),i.closePath(),i.fill()}}let h=60;i.font=`11px Roboto, sans-serif`,i.textAlign=`left`,i.textBaseline=`middle`;for(let e of t)i.fillStyle=e.color,i.fillRect(h,240,12,8),i.fillStyle=n.text,i.fillText(e.label,h+16,244),h+=i.measureText(e.label).width+32;return r}function Tr(e){if(e.length===0)return null;let t=_r(),n=t.text.includes(`255`),r=[t.primary,t.accent,t.warn,n?`#ffb74d`:`#ff9800`,n?`#81c784`:`#4caf50`,n?`#4dd0e1`:`#00bcd4`,n?`#a1887f`:`#795548`,n?`#90a4ae`:`#607d8b`],i=8+e.length*28+8,a=document.createElement(`canvas`);a.width=800*2,a.height=i*2;let o=a.getContext(`2d`);o.scale(2,2);let s=document.body.classList.contains(`p3xr-theme-dark`);o.fillStyle=getComputedStyle(document.body).getPropertyValue(`--p3xr-body-bg`).trim()||(s?`#1e1e1e`:`#ffffff`),o.fillRect(0,0,800,i);let c=Math.max(...e.map(e=>e.value),1);return e.forEach((e,n)=>{let i=8+n*28;o.fillStyle=t.text,o.font=`12px Roboto, sans-serif`,o.textAlign=`right`,o.textBaseline=`middle`,o.fillText(e.label.length>15?e.label.substring(0,14)+`…`:e.label,120,i+24/2),o.fillStyle=t.grid,o.fillRect(128,i,584,24),o.fillStyle=r[n%r.length],o.fillRect(128,i,e.value/c*584,24),o.fillStyle=t.text,o.font=`11px Roboto Mono, monospace`,o.textAlign=`left`,o.fillText(q(e.value),720,i+24/2)}),a}function Er(){let e=_r(),t=D.value?.page?.monitor||{},n;if(k.value.length>=2)n=vr();else if(O.value){let e=O.value,t=Date.now()/1e3;n={timestamps:[t-1,t],memUsed:[e.memory.used/(1024*1024),e.memory.used/(1024*1024)],memRss:[e.memory.rss/(1024*1024),e.memory.rss/(1024*1024)],ops:[e.stats.opsPerSec,e.stats.opsPerSec],connected:[e.clients.connected,e.clients.connected],blocked:[e.clients.blocked,e.clients.blocked],netIn:[e.stats.inputKbps,e.stats.inputKbps],netOut:[e.stats.outputKbps,e.stats.outputKbps]}}else return[];return[{label:t.memory+` (MB)`,series:[{label:t.memory,color:e.primary,values:n.memUsed,fill:!0},{label:`RSS`,color:e.accent,values:n.memRss}]},{label:t.opsPerSec,series:[{label:t.opsPerSec,color:e.primary,values:n.ops,fill:!0}]},{label:t.clients,series:[{label:t.clients,color:e.primary,values:n.connected},{label:t.blocked,color:e.warn,values:n.blocked}]},{label:t.networkIo+` (KB/s)`,series:[{label:`↓ In`,color:e.primary,values:n.netIn,fill:!0},{label:`↑ Out`,color:e.accent,values:n.netOut}]}].map(t=>({label:t.label,canvas:wr(n.timestamps,t.series,e)}))}async function Dr(e){let t=Math.max(2400,...e.map(e=>e.canvas.width)),n=32;for(let r of e)n+=60+r.canvas.height*(t/r.canvas.width)+40;n+=32;let r=document.createElement(`canvas`);r.width=t,r.height=n;let i=r.getContext(`2d`),a=document.body.classList.contains(`p3xr-theme-dark`),o=getComputedStyle(document.body).getPropertyValue(`--p3xr-body-bg`).trim()||(a?`#1e1e1e`:`#ffffff`),s=_r();i.fillStyle=o,i.fillRect(0,0,t,n);let c=32;for(let n of e){i.fillStyle=s.text,i.font=`bold 28px Roboto, sans-serif`,i.textAlign=`left`,i.textBaseline=`top`,i.fillText(n.label,32,c),c+=60;let e=t-64,r=n.canvas.height*(e/n.canvas.width);i.drawImage(n.canvas,32,c,e,r),c+=r+40}return new Promise(e=>r.toBlob(t=>e(t),`image/png`))}async function Or(e,t,n=[]){let{jsPDF:r}=await re(async()=>{let{jsPDF:e}=await import(`./jspdf.es.min-6uiuHcRr.js`);return{jsPDF:e}},__vite__mapDeps([0,1,2,3])),i=document.body.classList.contains(`p3xr-theme-dark`),a=getComputedStyle(document.body).getPropertyValue(`--p3xr-body-bg`).trim()||(i?`#1e1e1e`:`#ffffff`),o=i?`#e0e0e0`:`#212121`,s=i?`#90caf9`:`#1565c0`,c=new r({orientation:`portrait`,unit:`mm`,format:`a4`}),l=c.internal.pageSize.getWidth(),u=c.internal.pageSize.getHeight(),d=l-24,f=12,p=()=>{c.setFillColor(a),c.rect(0,0,l,u,`F`)};p();let m=e=>{f+e>u-12&&(c.addPage(),p(),f=12)};for(let t of e)if(!t.startsWith(`====`)){if([`PULSE`,`PROFILER`,`PUBSUB`,`ANALYSIS`].includes(t.trim())){m(14),f+=4,c.setFontSize(14),c.setTextColor(s),c.text(t.trim(),12,f),f+=8;continue}if(t.startsWith(`---`)&&t.endsWith(`---`)){m(8);let e=t.replace(/^-+\s*/,``).replace(/\s*-+$/,``);f+=2,c.setFontSize(10),c.setTextColor(s),c.text(e,12,f),f+=5;continue}if(t===``){f+=2;continue}m(4),c.setTextColor(o),c.setFontSize(8);for(let e of c.splitTextToSize(t,d))m(4),c.text(e,12,f),f+=3.5}for(let e of t){c.addPage(),p(),f=12,c.setFontSize(12),c.setTextColor(s),c.text(e.label,12,f),f+=8;let t=e.canvas.toDataURL(`image/png`),n=e.canvas.height/e.canvas.width,r=Math.min(d*n,u-f-12);c.addImage(t,`PNG`,12,f,r/n>d?d:r/n,r),f+=r}n.length>0&&t.length>0&&(c.addPage(),p(),f=12);for(let e of n)if(!e.startsWith(`====`)){if([`PROFILER`,`PUBSUB`].includes(e.trim())){m(14),f+=4,c.setFontSize(14),c.setTextColor(s),c.text(e.trim(),12,f),f+=8;continue}if(e===``){f+=2;continue}m(4),c.setTextColor(o),c.setFontSize(8);for(let t of c.splitTextToSize(e,d))m(4),c.text(t,12,f),f+=3.5}return c.output(`blob`)}async function kr(){if(O.value)try{let t=(await re(async()=>{let{default:t}=await import(`./jszip.min-CsE7HSTL.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([4,1]))).default,n=new t,r=O.value,i=[],a=D.value?.page?.monitor||{},o=D.value?.page?.analysis||{};i.push(`============================`,` PULSE`,`============================`,``,`--- ${a.title} ---`,`Redis ${r.server.version} \u00B7 ${r.server.mode} \u00B7 Uptime: ${Kn.value}`,`${a.memory}: ${r.memory.usedHuman}`,`${a.rss}: ${r.memory.rssHuman}`,`${a.peak}: ${r.memory.peakHuman}`,`${a.fragmentation}: ${r.memory.fragRatio}x`,`${a.opsPerSec}: ${r.stats.opsPerSec}`,`${a.totalCommands}: ${r.stats.totalCommands}`,`${a.clients}: ${r.clients.connected}`,`${a.blocked}: ${r.clients.blocked}`,`${a.hitsMisses}: ${r.stats.hitRate}%`,`${a.hitsAndMisses}: ${r.stats.hits} / ${r.stats.misses}`,`${a.networkIo}: ${r.stats.inputKbps.toFixed(1)} / ${r.stats.outputKbps.toFixed(1)} KB/s`,`${a.expired}: ${r.stats.expiredKeys}`,`${a.evicted}: ${r.stats.evictedKeys}`);let s=Y.value;s&&(i.push(``,`--- ${a.serverInfo} ---`),i.push(`${a.os}: ${s.os}`,`${a.port}: ${s.port}`,`${a.pid}: ${s.pid}`),s.configFile&&i.push(`${a.configFile}: ${s.configFile}`),i.push(`${a.cpuSys} CPU: ${s.cpuSys}`,`${a.cpuUser} CPU: ${s.cpuUser}`));let c=X.value;c&&(i.push(``,`--- ${a.persistence} ---`),i.push(`${a.rdbLastSave}: ${c.rdbLastSave}`,`${a.rdbStatus}: ${c.rdbStatus}`),i.push(`${a.rdbChanges}: ${c.rdbChanges}`,`${a.aofEnabled}: ${c.aofEnabled}`),c.aofSize&&i.push(`${a.aofSize}: ${c.aofSize}`));let l=Z.value;l&&(i.push(``,`--- ${a.replication} ---`),i.push(`${a.role}: ${l.role}`),l.replicas!==void 0&&i.push(`${a.replicas}: ${l.replicas}`),l.masterHost&&i.push(`${a.masterHost}: ${l.masterHost}:${l.masterPort}`),l.linkStatus&&i.push(`${a.linkStatus}: ${l.linkStatus}`));let u=qn.value;u.length>0&&(i.push(``,`--- ${a.keyspace} ---`),i.push(...u.map(e=>`${e.db}: ${a.keys}: ${e.keys}, ${a.expires}: ${e.expires}`)));let d=Q.value;d.length>0?(i.push(``,`--- ${a.modules} ---`),i.push(...d.map(e=>`${e.name} v${e.ver}`))):i.push(``,`--- ${a.modules} ---`,a.noModules),r.slowlog.length>0&&(i.push(``,`--- ${a.slowLog} ---`),i.push(...r.slowlog.map(e=>`${e.duration}\u00B5s ${e.command}`))),A.value.length>0&&(i.push(``,`--- ${a.clientList} ---`),i.push(...A.value.map(e=>`${e.addr} ${e.name||``} db${e.db} ${e.cmd} idle:${e.idle}s`))),j.value.length>0&&(i.push(``,`--- ${a.topKeys} ---`),i.push(...j.value.map((e,t)=>`#${t+1} ${e.key} ${q(e.bytes)}`)));let f=[];try{let e=(await x({action:`memory/analysis`,payload:{topN:20,maxScanKeys:5e3}})).data;if(e){let t=e.memoryInfo,n=e.expirationOverview,r=Object.keys(e.typeDistribution||{}).map(t=>({type:t,count:e.typeDistribution[t],bytes:e.typeMemory?.[t]||0})).sort((e,t)=>t.bytes-e.bytes);i.push(``,``,`============================`,` ANALYSIS`,`============================`),i.push(``,`--- ${o.keysScanned} ---`,`${o.keysScanned}: ${e.totalScanned} / ${e.dbSize}`),i.push(``,`--- ${o.memoryBreakdown} ---`),i.push(`${o.totalMemory}: ${t.usedHuman}`,`${o.rssMemory}: ${t.rssHuman}`,`${o.peakMemory}: ${t.peakHuman}`),i.push(`${o.overheadMemory}: ${q(t.overhead)}`,`${o.datasetMemory}: ${q(t.dataset)}`),i.push(`${o.luaMemory}: ${q(t.lua)}`,`${o.fragmentation}: ${t.fragRatio}x`,`${o.allocator}: ${t.allocator}`),i.push(``,`--- ${o.typeDistribution} ---`),i.push(...r.map(e=>`${e.type}: ${e.count} ${o.keyCount}, ${q(e.bytes)}`)),e.prefixMemory?.length>0&&(i.push(``,`--- ${o.prefixMemory} ---`),i.push(...e.prefixMemory.map((e,t)=>`#${t+1} ${e.prefix} \u2014 ${e.keyCount} ${o.keyCount}, ${q(e.totalBytes)}`))),i.push(``,`--- ${o.expirationOverview} ---`),i.push(`${o.withTTL}: ${n.withTTL}`,`${o.persistent}: ${n.persistent}`,`${o.avgTTL}: ${n.avgTTL}s`),f=[{name:o.typeDistribution,items:r.map(e=>({label:e.type,value:e.bytes}))},{name:o.prefixMemory,items:(e.prefixMemory||[]).slice(0,20).map(e=>({label:e.prefix,value:e.totalBytes}))}]}}catch{}let p=e=>e.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g,``),m=[];te.profilerEntries.length>0&&(m.push(``,``,`============================`,` PROFILER`,`============================`,``),m.push(...te.profilerEntries.map(e=>p(`${e.fullTimestamp} [${e.database} ${e.source}] ${e.command}`)))),te.pubsubEntries.length>0&&(m.push(``,``,`============================`,` PUBSUB`,`============================`,``),m.push(...te.pubsubEntries.map(e=>p(`${e.fullTimestamp} ${e.channel} ${e.message}`))));let h=[...i,...m].join(` `),g=new TextEncoder().encode(h),_=new Uint8Array([239,187,191]),ee=new Uint8Array(_.length+g.length);ee.set(_),ee.set(g,_.length),n.file(`monitoring.txt`,ee);let v=[];v.push(...Er());for(let e of f){if(e.items.length===0)continue;let t=Tr(e.items);t&&v.push({label:e.name,canvas:t})}if(v.length>0){let e=await Dr(v);e&&n.file(`charts.png`,e)}try{let e=await Or(i,v,m);e&&n.file(`monitoring.pdf`,e)}catch{}let y=await n.generateAsync({type:`blob`}),b=URL.createObjectURL(y),ne=document.createElement(`a`);ne.href=b,ne.download=`${K.value}-monitoring.zip`,ne.click(),URL.revokeObjectURL(b)}catch(e){_.generalHandleError(e)}}return s(()=>{Mn.value=l.connection?.readonly===!0,F.value=l.connection?.cluster===!0,Jn(),Yn(),Xn(),Un.push(oe(`connections`,()=>{Mn.value=l.connection?.readonly===!0,F.value=l.connection?.cluster===!0,k.value=[],W=!1,B?.destroy(),V?.destroy(),H?.destroy(),U?.destroy(),Jn(),Yn(),Xn()})),Vn=setInterval(()=>{jn.value||(Jn(),M.value&&Yn(),N.value&&Xn())},2e3),Hn=new MutationObserver(()=>{W&&setTimeout(()=>xr(),100)}),Hn.observe(document.body,{attributes:!0,attributeFilter:[`class`]});let e=c.currentLang,t=setInterval(()=>{c.currentLang!==e&&(e=c.currentLang,W&&setTimeout(()=>xr(),100))},500);Un.push(()=>clearInterval(t)),L.value&&F.value&&(R=setInterval(()=>fr(),2e3)),n(()=>setTimeout(()=>Cr(),500))}),ee(()=>{Vn&&clearInterval(Vn),R&&clearInterval(R),Un.forEach(e=>e()),Hn?.disconnect(),G?.disconnect(),B?.destroy(),V?.destroy(),H?.destroy(),U?.destroy()}),(e,n)=>(d(),i(b,null,[O.value?a(``,!0):(d(),i(`div`,le,[t(ne,null,{default:h(()=>[...n[26]||=[g(`mdi-timer-sand`,-1)]]),_:1}),y(`span`,null,p(D.value?.label?.loading),1)])),O.value?(d(),i(`div`,ue,[t(E,{title:D.value?.page?.monitor?.title,"accordion-key":`monitor-overview`},{actions:h(()=>[t(w,{onClick:n[0]||=e=>{$n(),e.stopPropagation()},label:jn.value?D.value?.intention?.resume:D.value?.intention?.pause,icon:jn.value?`mdi-play`:`mdi-pause`},null,8,[`label`,`icon`]),t(w,{onClick:n[1]||=e=>{nr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`]),t(w,{onClick:n[2]||=e=>{kr(),e.stopPropagation()},label:D.value?.page?.analysis?.exportAll,icon:`mdi-archive`},null,8,[`label`])]),default:h(()=>[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[t(T,null,{default:h(()=>[y(`div`,de,[y(`div`,fe,`Redis `+p(O.value.server.version)+` · `+p(O.value.server.mode),1),y(`div`,pe,p(Kn.value),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,me,[y(`div`,he,p(D.value?.page?.monitor?.memory),1),y(`div`,ge,p(O.value.memory.usedHuman),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,_e,[y(`div`,ve,p(D.value?.page?.monitor?.rss),1),y(`div`,ye,p(O.value.memory.rssHuman),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,be,[y(`div`,xe,p(D.value?.page?.monitor?.peak),1),y(`div`,Se,p(O.value.memory.peakHuman),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Ce,[y(`div`,we,p(D.value?.page?.monitor?.fragmentation),1),y(`div`,Te,p(O.value.memory.fragRatio)+`x`,1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Ee,[y(`div`,De,p(D.value?.page?.monitor?.opsPerSec),1),y(`div`,Oe,p(O.value.stats.opsPerSec),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,ke,[y(`div`,Ae,p(D.value?.page?.monitor?.totalCommands),1),y(`div`,je,p(O.value.stats.totalCommands),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Me,[y(`div`,Ne,p(D.value?.page?.monitor?.clients),1),y(`div`,Pe,p(O.value.clients.connected),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Fe,[y(`div`,Ie,p(D.value?.page?.monitor?.blocked),1),y(`div`,Le,p(O.value.clients.blocked),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Re,[y(`div`,ze,p(D.value?.page?.monitor?.hitsMisses),1),y(`div`,Be,p(O.value.stats.hitRate)+`%`,1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Ve,[y(`div`,He,p(D.value?.page?.monitor?.hitsAndMisses),1),y(`div`,Ue,p(O.value.stats.hits)+` / `+p(O.value.stats.misses),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,We,[y(`div`,Ge,p(D.value?.page?.monitor?.networkIo),1),y(`div`,Ke,p(O.value.stats.inputKbps.toFixed(1))+` / `+p(O.value.stats.outputKbps.toFixed(1))+` KB/s`,1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,qe,[y(`div`,Je,p(D.value?.page?.monitor?.expired),1),y(`div`,Ye,p(O.value.stats.expiredKeys),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Xe,[y(`div`,Ze,p(D.value?.page?.monitor?.evicted),1),y(`div`,Qe,p(O.value.stats.evictedKeys),1)])]),_:1})]),_:1})]),_:1},8,[`title`]),Y.value?(d(),i(b,{key:0},[n[27]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.serverInfo,"accordion-key":`monitor-server-info`},{actions:h(()=>[t(w,{onClick:n[3]||=e=>{rr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[Y.value.os?(d(),i(b,{key:0},[t(T,null,{default:h(()=>[y(`div`,$e,[y(`div`,et,p(D.value?.page?.monitor?.os),1),y(`div`,tt,p(Y.value.os),1)])]),_:1}),t(C)],64)):a(``,!0),Y.value.port?(d(),i(b,{key:1},[t(T,null,{default:h(()=>[y(`div`,nt,[y(`div`,rt,p(D.value?.page?.monitor?.port),1),y(`div`,it,p(Y.value.port),1)])]),_:1}),t(C)],64)):a(``,!0),Y.value.pid?(d(),i(b,{key:2},[t(T,null,{default:h(()=>[y(`div`,at,[y(`div`,ot,p(D.value?.page?.monitor?.pid),1),y(`div`,st,p(Y.value.pid),1)])]),_:1}),t(C)],64)):a(``,!0),Y.value.configFile?(d(),i(b,{key:3},[t(T,null,{default:h(()=>[y(`div`,ct,[y(`div`,lt,p(D.value?.page?.monitor?.configFile),1),y(`div`,ut,p(Y.value.configFile),1)])]),_:1}),t(C)],64)):a(``,!0),t(T,null,{default:h(()=>[y(`div`,dt,[y(`div`,ft,p(D.value?.page?.monitor?.cpuSys)+` CPU`,1),y(`div`,pt,p(Y.value.cpuSys),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,mt,[y(`div`,ht,p(D.value?.page?.monitor?.cpuUser)+` CPU`,1),y(`div`,gt,p(Y.value.cpuUser),1)])]),_:1})]),_:1})]),_:1},8,[`title`])],64)):a(``,!0),X.value?(d(),i(b,{key:1},[n[28]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.persistence,"accordion-key":`monitor-persistence`},{actions:h(()=>[t(w,{onClick:n[4]||=e=>{ir(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[t(T,null,{default:h(()=>[y(`div`,_t,[y(`div`,vt,p(D.value?.page?.monitor?.rdbLastSave),1),y(`div`,yt,p(X.value.rdbLastSave),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,bt,[y(`div`,xt,p(D.value?.page?.monitor?.rdbStatus),1),y(`div`,St,p(X.value.rdbStatus),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Ct,[y(`div`,wt,p(D.value?.page?.monitor?.rdbChanges),1),y(`div`,Tt,p(X.value.rdbChanges),1)])]),_:1}),t(C),t(T,null,{default:h(()=>[y(`div`,Et,[y(`div`,Dt,p(D.value?.page?.monitor?.aofEnabled),1),y(`div`,Ot,p(X.value.aofEnabled),1)])]),_:1}),X.value.aofSize?(d(),i(b,{key:0},[t(C),t(T,null,{default:h(()=>[y(`div`,kt,[y(`div`,At,p(D.value?.page?.monitor?.aofSize),1),y(`div`,jt,p(X.value.aofSize),1)])]),_:1})],64)):a(``,!0)]),_:1})]),_:1},8,[`title`])],64)):a(``,!0),Z.value?(d(),i(b,{key:2},[n[29]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.replication,"accordion-key":`monitor-replication`},{actions:h(()=>[t(w,{onClick:n[5]||=e=>{ar(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[t(T,null,{default:h(()=>[y(`div`,Mt,[y(`div`,Nt,p(D.value?.page?.monitor?.role),1),y(`div`,Pt,p(Z.value.role),1)])]),_:1}),Z.value.replicas===void 0?a(``,!0):(d(),i(b,{key:0},[t(C),t(T,null,{default:h(()=>[y(`div`,Ft,[y(`div`,It,p(D.value?.page?.monitor?.replicas),1),y(`div`,Lt,p(Z.value.replicas),1)])]),_:1})],64)),Z.value.masterHost?(d(),i(b,{key:1},[t(C),t(T,null,{default:h(()=>[y(`div`,Rt,[y(`div`,zt,p(D.value?.page?.monitor?.masterHost),1),y(`div`,Bt,p(Z.value.masterHost)+`:`+p(Z.value.masterPort),1)])]),_:1})],64)):a(``,!0),Z.value.linkStatus?(d(),i(b,{key:2},[t(C),t(T,null,{default:h(()=>[y(`div`,Vt,[y(`div`,Ht,p(D.value?.page?.monitor?.linkStatus),1),y(`div`,Ut,p(Z.value.linkStatus),1)])]),_:1})],64)):a(``,!0)]),_:1})]),_:1},8,[`title`])],64)):a(``,!0),qn.value.length>0?(d(),i(b,{key:3},[n[30]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.keyspace,"accordion-key":`monitor-keyspace`},{actions:h(()=>[t(w,{onClick:n[6]||=e=>{or(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(qn.value,(e,n)=>(d(),i(b,{key:e.db},[t(T,null,{default:h(()=>[y(`div`,Wt,[y(`div`,Gt,p(e.db),1),y(`div`,Kt,p(D.value?.page?.monitor?.keys)+`: `+p(e.keys)+` · `+p(D.value?.page?.monitor?.expires)+`: `+p(e.expires),1)])]),_:2},1024),n<qn.value.length-1?(d(),u(C,{key:0})):a(``,!0)],64))),128))]),_:1})]),_:1},8,[`title`])],64)):a(``,!0),n[34]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.modules,"accordion-key":`monitor-modules`},{actions:h(()=>[t(w,{onClick:n[7]||=e=>{sr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[Q.value.length===0?(d(),i(`div`,qt,p(D.value?.page?.monitor?.noModules),1)):a(``,!0),Q.value.length>0?(d(),u(S,{key:1,density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(Q.value,(e,n)=>(d(),i(b,{key:e.name},[t(T,null,{default:h(()=>[y(`div`,Jt,[y(`div`,Yt,p(e.name),1),y(`div`,Xt,`v`+p(e.ver),1)])]),_:2},1024),n<Q.value.length-1?(d(),u(C,{key:0})):a(``,!0)],64))),128))]),_:1})):a(``,!0)]),_:1},8,[`title`]),n[35]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.memory+` (MB)`,"accordion-key":`monitor-chart-memory`},{actions:h(()=>[t(w,{onClick:n[8]||=e=>{cr(Ln.value,`memory`),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[y(`div`,{ref_key:`memoryChartEl`,ref:Ln,class:`p3xr-monitoring-chart`},null,512)]),_:1},8,[`title`]),n[36]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.opsPerSec,"accordion-key":`monitor-chart-ops`},{actions:h(()=>[t(w,{onClick:n[9]||=e=>{cr(Rn.value,`ops`),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[y(`div`,{ref_key:`opsChartEl`,ref:Rn,class:`p3xr-monitoring-chart`},null,512)]),_:1},8,[`title`]),n[37]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.clients,"accordion-key":`monitor-chart-clients`},{actions:h(()=>[t(w,{onClick:n[10]||=e=>{cr(zn.value,`clients`),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[y(`div`,{ref_key:`clientsChartEl`,ref:zn,class:`p3xr-monitoring-chart`},null,512)]),_:1},8,[`title`]),n[38]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.networkIo+` (KB/s)`,"accordion-key":`monitor-chart-network`},{actions:h(()=>[t(w,{onClick:n[11]||=e=>{cr(Bn.value,`network`),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[y(`div`,{ref_key:`networkChartEl`,ref:Bn,class:`p3xr-monitoring-chart`},null,512)]),_:1},8,[`title`]),n[39]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.slowLog,"accordion-key":`monitor-slowlog`},{actions:h(()=>[Mn.value?a(``,!0):(d(),u(w,{key:0,onClick:n[12]||=e=>{lr(),e.stopPropagation()},label:`Reset`,icon:`mdi-delete-sweep`})),t(w,{onClick:n[13]||=e=>{ur(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[O.value.slowlog.length===0?(d(),i(`div`,Zt,p(D.value?.page?.monitor?.noSlowQueries),1)):(d(),u(S,{key:1,density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(O.value.slowlog,e=>(d(),i(b,{key:e.id},[t(T,null,{default:h(()=>[y(`div`,Qt,[y(`kbd`,$t,p(e.duration)+`µs`,1),y(`span`,en,p(e.command),1)])]),_:2},1024),t(C)],64))),128))]),_:1}))]),_:1},8,[`title`]),n[40]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.clientList,"accordion-key":`monitor-clients-list`},{actions:h(()=>[t(w,{onClick:n[14]||=e=>{er(),e.stopPropagation()},label:D.value?.label?.autoRefresh,icon:M.value?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`},null,8,[`label`,`icon`]),M.value?a(``,!0):(d(),u(w,{key:0,onClick:n[15]||=e=>{Yn(),e.stopPropagation()},label:D.value?.intention?.refresh,icon:`mdi-refresh`},null,8,[`label`])),t(w,{onClick:n[16]||=e=>{dr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[A.value.length===0&&Nn.value?(d(),i(`div`,tn,p(D.value?.page?.monitor?.noClients),1)):a(``,!0),A.value.length===0&&!Nn.value?(d(),i(`div`,nn,p(D.value?.label?.loading),1)):a(``,!0),A.value.length>0?(d(),u(S,{key:2,density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(A.value,e=>(d(),i(b,{key:e.id},[t(T,null,{default:h(()=>[y(`div`,rn,[y(`span`,an,p(e.addr),1),e.name?(d(),i(`span`,on,`(`+p(e.name)+`)`,1)):a(``,!0),y(`span`,sn,` db`+p(e.db)+` · `+p(e.cmd)+` · `+p(e.idle)+`s `,1),Mn.value?a(``,!0):(d(),u(ne,{key:1,class:`p3xr-client-kill`,onClick:t=>Qn(e.id,t)},{default:h(()=>[...n[31]||=[g(`mdi-close`,-1)]]),_:1},8,[`onClick`]))])]),_:2},1024),t(C)],64))),128))]),_:1})):a(``,!0)]),_:1},8,[`title`]),n[41]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.topKeys,"accordion-key":`monitor-top-keys`},{actions:h(()=>[t(w,{onClick:n[17]||=e=>{tr(),e.stopPropagation()},label:D.value?.label?.autoRefresh,icon:N.value?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`},null,8,[`label`,`icon`]),N.value?a(``,!0):(d(),u(w,{key:0,onClick:n[18]||=e=>{Xn(),e.stopPropagation()},label:D.value?.intention?.refresh,icon:`mdi-refresh`},null,8,[`label`])),t(w,{onClick:n[19]||=e=>{gr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[j.value.length===0&&Pn.value?(d(),i(`div`,cn,p(D.value?.page?.monitor?.noKeys),1)):a(``,!0),j.value.length===0&&!Pn.value?(d(),i(`div`,ln,p(D.value?.label?.loading),1)):a(``,!0),j.value.length>0?(d(),u(S,{key:2,density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(j.value,(e,n)=>(d(),i(b,{key:e.key},[t(T,null,{default:h(()=>[y(`div`,un,[y(`div`,dn,[y(`span`,fn,`#`+p(n+1),1),y(`span`,pn,p(e.key),1)]),y(`div`,mn,p(q(e.bytes)),1)])]),_:2},1024),t(C)],64))),128))]),_:1})):a(``,!0)]),_:1},8,[`title`]),F.value?(d(),i(b,{key:4},[n[32]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.slotStats,"accordion-key":`monitor-slot-stats`},{actions:h(()=>[t(w,{onClick:n[20]||=e=>{Zn(),e.stopPropagation()},label:D.value?.intention?.refresh,icon:`mdi-refresh`},null,8,[`label`])]),default:h(()=>[y(`div`,hn,[t(se,{modelValue:P.value,"onUpdate:modelValue":[n[21]||=e=>P.value=e,n[22]||=e=>Zn()],items:[{title:`Key Count`,value:`KEY-COUNT`},{title:`CPU (µs)`,value:`CPU-USEC`},{title:`Memory (bytes)`,value:`MEMORY-BYTES`}],label:`Metric`,style:{"max-width":`180px`}},null,8,[`modelValue`])]),Fn.value.length===0&&In.value?(d(),i(`div`,gn,`No slot data`)):a(``,!0),Fn.value.length>0?(d(),u(S,{key:1,density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(Fn.value,(e,n)=>(d(),i(b,{key:e.slot},[t(T,null,{default:h(()=>[y(`div`,_n,[y(`div`,vn,[y(`span`,yn,`#`+p(n+1),1),y(`span`,bn,`Slot `+p(e.slot),1)]),y(`div`,xn,[P.value===`KEY-COUNT`?(d(),i(b,{key:0},[g(p(e[`key-count`])+` keys`,1)],64)):a(``,!0),P.value===`CPU-USEC`?(d(),i(b,{key:1},[g(p(e[`cpu-usec`])+` µs`,1)],64)):a(``,!0),P.value===`MEMORY-BYTES`?(d(),i(b,{key:2},[g(p(q(e[`memory-bytes`])),1)],64)):a(``,!0)])])]),_:2},1024),t(C)],64))),128))]),_:1})):a(``,!0)]),_:1},8,[`title`])],64)):a(``,!0),F.value?(d(),i(b,{key:5},[n[33]||=y(`br`,null,null,-1),t(E,{title:D.value?.page?.monitor?.clusterSlotMap,"accordion-key":`monitor-cluster-slots`},{actions:h(()=>[t(w,{onClick:n[23]||=e=>{pr(),e.stopPropagation()},label:D.value?.label?.autoRefresh,icon:L.value?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`},null,8,[`label`,`icon`]),L.value?a(``,!0):(d(),u(w,{key:0,onClick:n[24]||=e=>{fr(),e.stopPropagation()},label:D.value?.intention?.refresh,icon:`mdi-refresh`},null,8,[`label`])),t(w,{onClick:n[25]||=e=>{hr(),e.stopPropagation()},label:D.value?.intention?.export,icon:`mdi-download`},null,8,[`label`])]),default:h(()=>[I.value?(d(),i(b,{key:1},[t(S,{density:`compact`,class:`pa-0`},{default:h(()=>[(d(!0),i(b,null,f(I.value,e=>(d(),i(b,{key:e.master.id},[t(T,null,{default:h(()=>[y(`div`,Cn,[y(`div`,wn,[y(`span`,Tn,p(e.master.host)+`:`+p(e.master.port),1),y(`span`,En,p(e.slotRanges.map(e=>e[0]+`-`+e[1]).join(`, `)),1)]),y(`div`,Dn,[g(p(mr(e))+` slots `,1),e.replicas.length>0?(d(),i(`span`,On,` (`+p(e.replicas.map(e=>e.host+`:`+e.port).join(`, `))+`) `,1)):a(``,!0)])])]),_:2},1024),t(C)],64))),128))]),_:1}),y(`div`,kn,` 16384 slots across `+p(I.value.length)+` masters `,1)],64)):(d(),i(`div`,Sn,p(D.value?.page?.monitor?.noClusterData),1))]),_:1},8,[`title`])],64)):a(``,!0)])):a(``,!0)],64))}}),[[`__scopeId`,`data-v-8cdfeede`]]);export{D as default};