1import{r as e,j as s}from"./vendor-react-DejgYtBM.js";import{j as r,f as a,B as l,l as i,E as d,I as c,b as t,m as n,p as o,i as m,A as x,V as g}from"./vendor-semi-D8d7bTtM.js";import{u as h,A as j,s as b,a4 as N}from"./index-BeIIFw6E.js";import{ah as y,a7 as p,R as u,ag as v,ai as _,aj as z,D as w,ak as k}from"./vendor-icons-EJvJ5X-w.js";import"./vendor-motion-Chfy_MiU.js";const{Title:f,Text:A}=a,I=()=>{const{t:a}=h(),f={shadows:"always",bordered:!1,headerLine:!0},I={width:96,height:96},R="flex items-center gap-2",[S,C]=e.useState(!1),[F,L]=e.useState(!1),[D,G]=e.useState(null),[M,T]=e.useState(null),$=e.useCallback(async()=>{C(!0);try{const e=await j.get("/api/server/monitor"),{success:s,data:r,message:l}=e.data;s?(G(r),T(new Date)):b(l||a("è·åæå¡å¨çæ§æ°æ®å¤±è´¥"))}catch(e){b(e.response?.data?.message||a("è·åæå¡å¨çæ§æ°æ®å¤±è´¥"))}finally{C(!1)}},[a]);e.useEffect(()=>{$()},[]),N($,5e3,{enabled:F,executeOnResume:!0});const E=e=>e||0===e?(new Intl.NumberFormat).format(e):"N/A",Q=(e,r,l,i)=>{if(!r)return null;const{connected:d,pool_stats:c,server_info:t,performance_stats:h,keyspace_info:j,lock_keys:b,error:N}=r;if(!d)return s.jsx(n,{...f,className:"shadow-sm !rounded-2xl bg-white",title:s.jsxs("div",{className:R,children:[l,s.jsx(A,{strong:!0,children:e}),s.jsx(m,{color:"red",children:a("离线")})]}),children:s.jsx(o,{type:"danger",icon:s.jsx(z,{size:16}),description:N||a("Redis å®ä¾æªè¿æ¥ææªå¯ç¨")})});const y=((e,s)=>{const r=parseInt(e)+parseInt(s);return 0===r?"N/A":`${(parseInt(e)/r*100).toFixed(2)}%`})(h?.keyspace_hits||"0",h?.keyspace_misses||"0"),p=parseFloat(y);return s.jsxs(n,{...f,className:`shadow-sm !rounded-2xl bg-gradient-to-br from-${i}-50 to-white`,title:s.jsxs("div",{className:R,children:[l,s.jsx(A,{strong:!0,children:e}),s.jsx(m,{color:"green",size:20,children:a("å¨çº¿")})]}),children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:i,children:"ð"}),s.jsx(A,{strong:!0,children:a("è¿æ¥æ± ç¶æ")})]}),s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æ»è¿æ¥æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c?.total_conns)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("空é²è¿æ¥")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c?.idle_conns)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("è¶
æ¶æ¬¡æ°")}),s.jsx(A,{strong:!0,className:"text-lg",type:c?.timeouts>0?"danger":"success",children:E(c?.timeouts)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("å½ä¸æ¬¡æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c?.hits)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æªå½ä¸")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c?.misses)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("éæ§è¿æ¥")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c?.stale_conns)})]})]})]}),s.jsxs("div",{className:"mb-4",children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:i,children:"ð¥ï¸"}),s.jsx(A,{strong:!0,children:a("æå¡å¨ä¿¡æ¯")})]}),s.jsx(g,{align:"left",size:"small",data:[{key:a("Redis çæ¬"),value:t?.redis_version||"N/A"},{key:a("è¿è¡å¤©æ°"),value:t?.uptime_in_days||"N/A"},{key:a("è¿æ¥å®¢æ·ç«¯"),value:t?.connected_clients||"N/A"},{key:a("é»å¡å®¢æ·ç«¯"),value:t?.blocked_clients||"0"},{key:a("å
å使ç¨"),value:t?.used_memory_human||"N/A"},{key:a("å
åå³°å¼"),value:t?.used_memory_peak_human||"N/A"}]})]}),h&&s.jsxs("div",{className:"mb-4",children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:i,children:"â¡"}),s.jsx(A,{strong:!0,children:a("æ§è½ç»è®¡")})]}),s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æ¯ç§æä½æ°")}),s.jsx(A,{strong:!0,className:"text-lg text-green-600",children:h.instantaneous_ops_per_sec||"0"})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("ç¼åå½ä¸ç")}),s.jsx(m,{color:p>90?"green":p>70?"orange":"red",size:"large",className:"text-base px-3",children:y})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æ»å½ä»¤æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(h.total_commands_processed)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æç»è¿æ¥")}),s.jsx(A,{strong:!0,className:"text-lg",type:h.rejected_connections>0?"danger":"success",children:h.rejected_connections||"0"})]})]})]}),b&&b.length>0&&s.jsxs("div",{children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:"red",children:"ð"}),s.jsx(A,{strong:!0,children:a("éç¸å
³ç Key")}
1),s.jsxs(m,{color:"red",size:20,children:[b.length," ",a("个")]})]}),s.jsx("div",{className:"bg-gray-50 p-3 rounded-lg max-h-40 overflow-y-auto",children:b.map((e,r)=>s.jsx("div",{className:"mb-1 text-xs font-mono text-gray-600",children:e},r))})]})]})},B=(e,r,l,i)=>{if(!r)return null;const{connected:d,max_open_connections:c,open_connections:t,in_use:g,idle:h,wait_count:j,wait_duration:b,max_idle_closed:N,max_lifetime_closed:y,usage_percent:p,error:u}=r;if(!d)return s.jsx(n,{...f,className:"shadow-sm !rounded-2xl bg-white",title:s.jsxs("div",{className:R,children:[l,s.jsx(A,{strong:!0,children:e}),s.jsx(m,{color:"red",children:a("离线")})]}),children:s.jsx(o,{type:"danger",icon:s.jsx(z,{size:16}),description:u||a("æ°æ®åºæªè¿æ¥")})});const v=parseFloat(p);return s.jsxs(n,{...f,className:`shadow-sm !rounded-2xl bg-gradient-to-br from-${i}-50 to-white`,title:s.jsxs("div",{className:R,children:[l,s.jsx(A,{strong:!0,children:e}),s.jsx(m,{color:"green",size:20,children:a("å¨çº¿")})]}),children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:i,children:"ð"}),s.jsx(A,{strong:!0,children:a("è¿æ¥æ± ç¶æ")})]}),s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æå¤§è¿æ¥æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(c)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æå¼è¿æ¥æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(t)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("使ç¨ä¸")}),s.jsx(A,{strong:!0,className:"text-lg",type:g>.8*c?"danger":"success",children:E(g)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("空é²è¿æ¥")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(h)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("使ç¨ç")}),s.jsx(m,{color:(_=v,isNaN(_)?"grey":_>90?"red":_>70?"orange":"green"),size:"large",className:"text-base px-3",children:p})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("çå¾
次æ°")}),s.jsx(A,{strong:!0,className:"text-lg",type:j>1e3?"warning":"success",children:E(j)})]})]})]}),s.jsxs("div",{children:[s.jsxs("div",{className:R+" mb-3",children:[s.jsx(x,{size:12,color:i,children:"â¡"}),s.jsx(A,{strong:!0,children:a("æ§è½ç»è®¡")})]}),s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("çå¾
æ¶é¿")}),s.jsx(A,{strong:!0,className:"text-sm",children:b})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("空é²å
³éæ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(N)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("çå½å¨æå
³é")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(y)})]})]})]})]});var _};return s.jsxs("div",{className:"h-full px-2 bg-transparent",children:[s.jsxs("div",{className:"flex items-center justify-between mb-4",children:[s.jsxs("h2",{className:"text-2xl font-semibold text-foreground flex items-center gap-2",children:[s.jsx(y,{size:24,className:"text-blue-500"}),a("æå¡å¨æ§è½çæ§")]}),s.jsxs(r,{children:[M&&s.jsxs(A,{type:"tertiary",size:14,children:[a("æåæ´æ°"),": ",M.toLocaleTimeString()]}),s.jsx(l,{theme:"solid",type:F?"danger":"tertiary",icon:s.jsx(p,{size:16}),onClick:()=>L(!F),className:"!rounded-full",children:a(F?"忢èªå¨å·æ°":"èªå¨å·æ°(5s)")}),s.jsx(l,{type:"tertiary",icon:s.jsx(u,{size:16}),onClick:$,loading:S,className:"bg-blue-500 hover:bg-blue-600 text-white hover:bg-opacity-80 !rounded-full",children:a("å·æ°")})]})]}),s.jsx(i,{spinning:S&&!D,children:D?s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[s.jsx("div",{children:(()=>
1{if(!D?.node_info)return null;const{node_name:e,host_name:r,pid:l,version:i}=D.node_info;return s.jsx(n,{...f,className:"shadow-sm !rounded-2xl bg-gradient-to-br from-indigo-50 to-white",title:s.jsxs("div",{className:R,children:[s.jsx(v,{size:20,className:"text-indigo-500"}),s.jsx(A,{strong:!0,children:a("èç¹ä¿¡æ¯")})]}),children:s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("èç¹åç§°")}),s.jsx(A,{strong:!0,className:"text-sm",children:e||"N/A"})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("主æºå")}),s.jsx(A,{strong:!0,className:"text-sm",children:r||"N/A"})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("è¿ç¨ID")}),s.jsx(A,{strong:!0,className:"text-lg",children:l||"N/A"})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("çæ¬")}),s.jsx(A,{strong:!0,className:"text-sm",children:i||"N/A"})]})]})})})()}),s.jsx("div",{children:(()=>{if(!D?.system_info)return null;const{goroutines:e,memory_alloc:r,memory_total:l,memory_sys:i,gc_count:d,last_gc_time:c,cpu_count:t}=D.system_info;return s.jsxs(n,{...f,className:"shadow-sm !rounded-2xl bg-gradient-to-br from-purple-50 to-white",title:s.jsxs("div",{className:R,children:[s.jsx(_,{size:20,className:"text-purple-500"}),s.jsx(A,{strong:!0,children:a("ç³»ç»ä¿¡æ¯")})]}),children:[s.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("Goroutines")}),s.jsx(A,{strong:!0,className:"text-lg",type:e>1e4?"danger":"success",children:E(e)})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("CPUæ ¸å¿")}),s.jsx(A,{strong:!0,className:"text-lg",children:t})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("å½åå
å")}),s.jsx(A,{strong:!0,className:"text-lg",children:r})]}),s.jsxs("div",{className:"bg-white p-3 rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("GC次æ°")}),s.jsx(A,{strong:!0,className:"text-lg",children:E(d)})]})]}),s.jsxs("div",{className:"mt-3 p-3 bg-white rounded-lg border border-gray-200",children:[s.jsx(A,{type:"tertiary",size:14,className:"block mb-1",children:a("æåGCæ¶é´")}),s.jsx(A,{children:c})]})]})})()})]}),s.jsx("div",{children:B(a("ä¸»æ°æ®åº (MySQL)"),D.main_database,s.jsx(w,{size:20,className:"text-cyan-500"}),"cyan")}),D.log_database&&s.jsx("div",{children:B(a("æ¥å¿æ°æ®åº (MySQL)"),D.log_database,s.jsx(w,{size:20,className:"text-teal-500"}),"teal")}),s.jsx("div",{children:Q(a("主 Redis"),D.main_redis,s.jsx(w,{size:20,className:"text-blue-500"}),"blue")}),s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[D.statistics_redis&&s.jsx("div",{children:Q(a("ç»è®¡ Redis"),D.statistics_redis,s.jsx(k,{size:20,className:"text-green-500"}),"green")}),D.channel_redis&&s.jsx("div",{children:Q(a("æ¸ é Redis"),D.channel_redis,s.jsx(k,{size:20,className:"text-orange-500"}),"orange")})]})]}):!S&&s.jsx("div",{className:"flex justify-center items-center py-12",children:s.jsx(d,{image:s.jsx(t,{style:I}),darkModeImage:s.jsx(c,{style:I}),title:a("ææ æ°æ®"),description:a("请ç¹å»å·æ°æé®è·åçæ§æ°æ®")})})})]})};export{I as default};
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.