F1 告警静默规则 [done]: - 后端 alert_silence.go: CRUD + Toggle (onetime/daily/weekly 三模式) - 告警引擎 isSilenced 集成 (alert_engine.go) - 前端 SilenceRuleTab + SilenceDialog - 路由 /alerts/silences 已注册 F2 审计日志导出 [done]: - 重写 ExportAuditLogs: 真正的 CSV 导出 (encoding/csv + UTF-8 BOM) - 支持 module/action/username/startTime/endTime 筛选 - 导出限制 10000 条防溢出,自动记录审计日志 - JSON 格式向后兼容 (format=json) - 前端 exportLogs 传递查询参数 同时包含累积的前期工作: - 目录重构 internal/ -> controller/model/router (v0.55-v0.57) - 后端分层架构 dto/repository/service/utils - 审计模块全功能 (终端审计/操作审计/登录日志) - asciicast v2 录制格式 - SFTP 文件浏览器 - StatStrip 紧凑统计条 - 在线会话自动刷新 - LiveMonitor WebSocket 诊断修复 验证: go build ✅ | npm run build ✅ | Docker 部署 ✅ | 10 回归端点 ✅ | CSV 导出 ✅ | 静默 CRUD ✅
2 lines
31 KiB
JavaScript
2 lines
31 KiB
JavaScript
import{r,j as e,A as ge,$ as z,x as H,S as Te,I as ue,B as y,U as je,K as Me,D as K,b as Q,c as U,d as Z,a0 as Ne,e as G,a1 as w,a2 as fe,a3 as ve,a4 as ye,n as we,q as be}from"./index-DfyorCky.js";import{B as N}from"./badge-xNW8x0G1.js";import{C as p,a as x,b,c as S}from"./card-C55cvSHg.js";import{S as C,a as D,b as I,c as L,d as n}from"./select-D5qUzdAs.js";import{T as Se,a as Ce,b as R,c as A}from"./tabs-CIh_yD4s.js";import{L as s}from"./label-BK0h2apY.js";import{t as B}from"./index-a3ybMjbR.js";import{t as F}from"./monitor-BAaBXIsC.js";import{L as De}from"./layers-FW4KKJMi.js";import{R as Ie}from"./refresh-cw-DUB_tAG-.js";import{T as Le}from"./trending-up-CdusV6gc.js";import{C as Re}from"./circle-x-DK79Dhg2.js";import{C as Ae}from"./code-L62jFLTC.js";import{B as Be}from"./box-TTGA1p57.js";import{Z as Fe}from"./zap-D2uWSK32.js";import{A as Oe}from"./arrow-right-DyIltvNZ.js";import"./index-CWVNW_qu.js";const _e=()=>{const[O,J]=r.useState([]),[l,X]=r.useState([]),[W,k]=r.useState(!1),[f,Y]=r.useState(""),[g,_]=r.useState("all"),[T,ee]=r.useState("all"),[u,ae]=r.useState("1h"),[te,re]=r.useState("traces"),[m,ce]=r.useState(null),[o,se]=r.useState(null),[oe,E]=r.useState(!1),[ne,$]=r.useState(!1);r.useEffect(()=>{me()},[u]);const me=async()=>{await Promise.all([P(),de()])},P=async()=>{k(!0);try{const a=await F.getTraces({timeRange:u,service:g,status:T});J(a.data||[])}catch{B.error("获取链路数据失败")}finally{k(!1)}},de=async()=>{try{const a=await F.getServices(u);X(a.data||[])}catch{B.error("获取服务数据失败")}},ie=async a=>{try{return(await F.getTraceDetail(a)).data}catch{return B.error("获取链路详情失败"),null}},v=a=>{switch(a){case"success":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:16",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(ve,{"code-path":"src/components/monitor/trace/TraceManager.tsx:140:72",className:"w-3 h-3"}),"成功"]});case"error":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:16",variant:"destructive",className:"gap-1",children:[e.jsx(Re,{"code-path":"src/components/monitor/trace/TraceManager.tsx:142:63",className:"w-3 h-3"}),"错误"]});case"pending":return e.jsxs(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:16",variant:"outline",className:"gap-1",children:[e.jsx(H,{"code-path":"src/components/monitor/trace/TraceManager.tsx:144:59",className:"w-3 h-3"}),"进行中"]});default:return e.jsx(N,{"code-path":"src/components/monitor/trace/TraceManager.tsx:146:16",variant:"secondary",children:"未知"})}},pe=a=>{switch(a){case"client":return e.jsx(Oe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:152:29",className:"w-4 h-4"});case"server":return e.jsx(be,{"code-path":"src/components/monitor/trace/TraceManager.tsx:153:29",className:"w-4 h-4"});case"producer":return e.jsx(Fe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:154:31",className:"w-4 h-4"});case"consumer":return e.jsx(Be,{"code-path":"src/components/monitor/trace/TraceManager.tsx:155:31",className:"w-4 h-4"});default:return e.jsx(Ae,{"code-path":"src/components/monitor/trace/TraceManager.tsx:156:23",className:"w-4 h-4"})}},xe=a=>{switch(a){case"success":return"bg-green-500";case"error":return"bg-red-500";case"pending":return"bg-yellow-500";default:return"bg-gray-500"}},d=a=>a<1?`${(a*1e3).toFixed(2)}μs`:a<1e3?`${a.toFixed(2)}ms`:`${(a/1e3).toFixed(2)}s`,V=O.filter(a=>{const t=a.traceId.toLowerCase().includes(f.toLowerCase())||a.operationName.toLowerCase().includes(f.toLowerCase()),i=g==="all"||a.serviceName===g,c=T==="all"||a.status===T;return t&&i&&c}),le=Array.from(new Set(O.map(a=>a.serviceName))),he=a=>{const t=new Map,i=[];return a.forEach(c=>{t.set(c.spanId,{...c,children:[]})}),a.forEach(c=>{const j=t.get(c.spanId);if(c.parentSpanId&&t.has(c.parentSpanId)){const h=t.get(c.parentSpanId);h.children=h.children||[],h.children.push(j)}else i.push(j)}),i},q=({span:a,level:t,totalDuration:i})=>{const[c,j]=r.useState(!0),h=i>0?a.duration/i*100:0;return e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:215:7",className:"select-none",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:216:9",className:"flex items-center py-2 hover:bg-muted/50 cursor-pointer border-l-2 border-transparent hover:border-blue-500",style:{paddingLeft:`${t*24+12}px`},onClick:()=>{se(a),$(!0)},children:[a.children?.length>0&&e.jsx(y,{"code-path":"src/components/monitor/trace/TraceManager.tsx:222:13",variant:"ghost",size:"sm",className:"h-4 w-4 p-0 mr-1",onClick:M=>{M.stopPropagation(),j(!c)},children:c?e.jsx(ye,{"code-path":"src/components/monitor/trace/TraceManager.tsx:228:27",className:"w-3 h-3"}):e.jsx(we,{"code-path":"src/components/monitor/trace/TraceManager.tsx:228:65",className:"w-3 h-3"})}),!a.children?.length&&e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:231:38",className:"w-5"}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:233:11",className:"flex items-center gap-2 flex-1 min-w-0",children:[pe(a.kind),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:235:13",className:"font-medium truncate",children:a.operationName}),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:236:13",className:"text-xs text-muted-foreground",children:a.serviceName})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:239:11",className:"flex items-center gap-4",children:[e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:240:13",className:"w-32 h-4 bg-muted rounded overflow-hidden",children:e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:241:15",className:`h-full ${xe(a.status)}`,style:{width:`${Math.max(h,1)}%`}})}),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:246:13",className:"text-sm text-muted-foreground w-20 text-right",children:d(a.duration)}),a.status==="error"&&e.jsx(z,{"code-path":"src/components/monitor/trace/TraceManager.tsx:249:41",className:"w-4 h-4 text-red-500"})]})]}),c&&a.children?.map(M=>e.jsx(q,{"code-path":"src/components/monitor/trace/TraceManager.tsx:254:11",span:M,level:t+1,totalDuration:i},M.spanId))]})};return e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:261:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:263:7",className:"grid grid-cols-4 gap-4",children:[e.jsx(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:264:9",children:e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:265:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:266:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:267:15",children:[e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:268:17",className:"text-sm text-muted-foreground",children:"总请求数"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:269:17",className:"text-2xl font-bold",children:l.reduce((a,t)=>a+t.requestCount,0).toLocaleString()})]}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:271:15",className:"p-3 bg-blue-100 rounded-lg",children:e.jsx(ge,{"code-path":"src/components/monitor/trace/TraceManager.tsx:272:17",className:"w-5 h-5 text-blue-600"})})]})})}),e.jsx(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:277:9",children:e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:278:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:279:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:280:15",children:[e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:281:17",className:"text-sm text-muted-foreground",children:"平均错误率"}),e.jsxs("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:282:17",className:"text-2xl font-bold",children:[(l.reduce((a,t)=>a+t.errorRate,0)/(l.length||1)).toFixed(2),"%"]})]}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:286:15",className:"p-3 bg-red-100 rounded-lg",children:e.jsx(z,{"code-path":"src/components/monitor/trace/TraceManager.tsx:287:17",className:"w-5 h-5 text-red-600"})})]})})}),e.jsx(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:292:9",children:e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:293:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:294:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:295:15",children:[e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:296:17",className:"text-sm text-muted-foreground",children:"平均延迟"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:297:17",className:"text-2xl font-bold",children:d(l.reduce((a,t)=>a+t.avgDuration,0)/(l.length||1))})]}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:301:15",className:"p-3 bg-green-100 rounded-lg",children:e.jsx(H,{"code-path":"src/components/monitor/trace/TraceManager.tsx:302:17",className:"w-5 h-5 text-green-600"})})]})})}),e.jsx(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:307:9",children:e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:308:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:309:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:310:15",children:[e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:311:17",className:"text-sm text-muted-foreground",children:"服务数量"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:312:17",className:"text-2xl font-bold",children:l.length})]}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:314:15",className:"p-3 bg-purple-100 rounded-lg",children:e.jsx(De,{"code-path":"src/components/monitor/trace/TraceManager.tsx:315:17",className:"w-5 h-5 text-purple-600"})})]})})})]}),e.jsxs(Se,{"code-path":"src/components/monitor/trace/TraceManager.tsx:322:7",value:te,onValueChange:re,children:[e.jsxs(Ce,{"code-path":"src/components/monitor/trace/TraceManager.tsx:323:9",className:"grid w-full grid-cols-3 lg:w-[400px]",children:[e.jsx(R,{"code-path":"src/components/monitor/trace/TraceManager.tsx:324:11",value:"traces",children:"链路追踪"}),e.jsx(R,{"code-path":"src/components/monitor/trace/TraceManager.tsx:325:11",value:"services",children:"服务拓扑"}),e.jsx(R,{"code-path":"src/components/monitor/trace/TraceManager.tsx:326:11",value:"metrics",children:"性能指标"})]}),e.jsxs(A,{"code-path":"src/components/monitor/trace/TraceManager.tsx:329:9",value:"traces",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:331:11",className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:332:13",className:"flex items-center gap-2 flex-1 min-w-[400px]",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:333:15",className:"relative flex-1",children:[e.jsx(Te,{"code-path":"src/components/monitor/trace/TraceManager.tsx:334:17",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(ue,{"code-path":"src/components/monitor/trace/TraceManager.tsx:335:17",placeholder:"搜索Trace ID、操作名...",value:f,onChange:a=>Y(a.target.value),className:"pl-10"})]}),e.jsxs(C,{"code-path":"src/components/monitor/trace/TraceManager.tsx:342:15",value:g,onValueChange:_,children:[e.jsx(D,{"code-path":"src/components/monitor/trace/TraceManager.tsx:343:17",className:"w-[150px]",children:e.jsx(I,{"code-path":"src/components/monitor/trace/TraceManager.tsx:344:19",placeholder:"服务"})}),e.jsxs(L,{"code-path":"src/components/monitor/trace/TraceManager.tsx:346:17",children:[e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:347:19",value:"all",children:"全部服务"}),le.map(a=>e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:349:21",value:a,children:a},a))]})]}),e.jsxs(C,{"code-path":"src/components/monitor/trace/TraceManager.tsx:353:15",value:T,onValueChange:ee,children:[e.jsx(D,{"code-path":"src/components/monitor/trace/TraceManager.tsx:354:17",className:"w-[120px]",children:e.jsx(I,{"code-path":"src/components/monitor/trace/TraceManager.tsx:355:19",placeholder:"状态"})}),e.jsxs(L,{"code-path":"src/components/monitor/trace/TraceManager.tsx:357:17",children:[e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:358:19",value:"all",children:"全部状态"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:359:19",value:"success",children:"成功"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:360:19",value:"error",children:"错误"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:361:19",value:"pending",children:"进行中"})]})]}),e.jsxs(C,{"code-path":"src/components/monitor/trace/TraceManager.tsx:364:15",value:u,onValueChange:ae,children:[e.jsx(D,{"code-path":"src/components/monitor/trace/TraceManager.tsx:365:17",className:"w-[120px]",children:e.jsx(I,{"code-path":"src/components/monitor/trace/TraceManager.tsx:366:19"})}),e.jsxs(L,{"code-path":"src/components/monitor/trace/TraceManager.tsx:368:17",children:[e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:369:19",value:"15m",children:"15分钟"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:370:19",value:"1h",children:"1小时"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:371:19",value:"6h",children:"6小时"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:372:19",value:"24h",children:"24小时"}),e.jsx(n,{"code-path":"src/components/monitor/trace/TraceManager.tsx:373:19",value:"7d",children:"7天"})]})]})]}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:377:13",className:"flex items-center gap-2",children:e.jsxs(y,{"code-path":"src/components/monitor/trace/TraceManager.tsx:378:15",variant:"outline",onClick:P,children:[e.jsx(Ie,{"code-path":"src/components/monitor/trace/TraceManager.tsx:379:17",className:"w-4 h-4 mr-2"}),"刷新"]})})]}),e.jsx(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:386:11",children:e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:387:13",className:"p-0",children:e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:388:15",className:"overflow-x-auto",children:e.jsxs("table",{"code-path":"src/components/monitor/trace/TraceManager.tsx:389:17",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/monitor/trace/TraceManager.tsx:390:19",className:"bg-muted/50",children:e.jsxs("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:391:21",children:[e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:392:23",className:"px-4 py-3 text-left text-sm font-medium",children:"Trace ID"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:393:23",className:"px-4 py-3 text-left text-sm font-medium",children:"服务 / 操作"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:394:23",className:"px-4 py-3 text-left text-sm font-medium",children:"状态"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:395:23",className:"px-4 py-3 text-left text-sm font-medium",children:"耗时"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:396:23",className:"px-4 py-3 text-left text-sm font-medium",children:"Span数"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:397:23",className:"px-4 py-3 text-left text-sm font-medium",children:"时间"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:398:23",className:"px-4 py-3 text-left text-sm font-medium",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/monitor/trace/TraceManager.tsx:401:19",className:"divide-y",children:W?e.jsx("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:403:23",children:e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:404:25",colSpan:7,className:"px-4 py-8 text-center text-muted-foreground",children:"加载中..."})}):V.length===0?e.jsx("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:407:23",children:e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:408:25",colSpan:7,className:"px-4 py-8 text-center text-muted-foreground",children:"暂无链路数据"})}):V.map(a=>e.jsxs("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:412:25",className:"hover:bg-muted/50",children:[e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:413:27",className:"px-4 py-3",children:e.jsxs("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:414:29",className:"font-mono text-sm text-blue-500",children:[a.traceId.slice(0,16),"..."]})}),e.jsxs("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:416:27",className:"px-4 py-3",children:[e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:417:29",className:"font-medium",children:a.operationName}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:418:29",className:"text-sm text-muted-foreground",children:a.serviceName})]}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:420:27",className:"px-4 py-3",children:v(a.status)}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:421:27",className:"px-4 py-3 text-sm",children:d(a.duration)}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:422:27",className:"px-4 py-3 text-sm",children:a.spanCount}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:423:27",className:"px-4 py-3 text-sm text-muted-foreground",children:a.startTime}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:424:27",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/monitor/trace/TraceManager.tsx:425:29",variant:"ghost",size:"sm",onClick:async()=>{const t=await ie(a.traceId);t&&(ce({...a,spans:t.spans}),E(!0))},children:e.jsx(je,{"code-path":"src/components/monitor/trace/TraceManager.tsx:436:31",className:"w-4 h-4"})})})]},a.id))})]})})})})]}),e.jsx(A,{"code-path":"src/components/monitor/trace/TraceManager.tsx:449:9",value:"services",className:"space-y-4",children:e.jsxs(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:450:11",children:[e.jsx(b,{"code-path":"src/components/monitor/trace/TraceManager.tsx:451:13",children:e.jsx(S,{"code-path":"src/components/monitor/trace/TraceManager.tsx:452:15",children:"服务性能概览"})}),e.jsx(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:454:13",children:e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:455:15",className:"overflow-x-auto",children:e.jsxs("table",{"code-path":"src/components/monitor/trace/TraceManager.tsx:456:17",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/monitor/trace/TraceManager.tsx:457:19",className:"bg-muted/50",children:e.jsxs("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:458:21",children:[e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:459:23",className:"px-4 py-3 text-left text-sm font-medium",children:"服务名称"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:460:23",className:"px-4 py-3 text-left text-sm font-medium",children:"请求数"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:461:23",className:"px-4 py-3 text-left text-sm font-medium",children:"错误率"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:462:23",className:"px-4 py-3 text-left text-sm font-medium",children:"平均延迟"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:463:23",className:"px-4 py-3 text-left text-sm font-medium",children:"P95延迟"}),e.jsx("th",{"code-path":"src/components/monitor/trace/TraceManager.tsx:464:23",className:"px-4 py-3 text-left text-sm font-medium",children:"P99延迟"})]})}),e.jsx("tbody",{"code-path":"src/components/monitor/trace/TraceManager.tsx:467:19",className:"divide-y",children:l.map(a=>e.jsxs("tr",{"code-path":"src/components/monitor/trace/TraceManager.tsx:469:23",className:"hover:bg-muted/50",children:[e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:470:25",className:"px-4 py-3 font-medium",children:a.serviceName}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:471:25",className:"px-4 py-3",children:a.requestCount.toLocaleString()}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:472:25",className:"px-4 py-3",children:e.jsxs("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:473:27",className:a.errorRate>1?"text-red-500":"text-green-500",children:[a.errorRate.toFixed(2),"%"]})}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:477:25",className:"px-4 py-3",children:d(a.avgDuration)}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:478:25",className:"px-4 py-3",children:d(a.p95Duration)}),e.jsx("td",{"code-path":"src/components/monitor/trace/TraceManager.tsx:479:25",className:"px-4 py-3",children:d(a.p99Duration)})]},a.serviceName))})]})})})]})}),e.jsx(A,{"code-path":"src/components/monitor/trace/TraceManager.tsx:489:9",value:"metrics",className:"space-y-4",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:490:11",className:"grid grid-cols-2 gap-4",children:[e.jsxs(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:491:13",children:[e.jsx(b,{"code-path":"src/components/monitor/trace/TraceManager.tsx:492:15",children:e.jsx(S,{"code-path":"src/components/monitor/trace/TraceManager.tsx:493:17",children:"延迟分布"})}),e.jsxs(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:495:15",className:"h-[300px] flex items-center justify-center text-muted-foreground",children:[e.jsx(Me,{"code-path":"src/components/monitor/trace/TraceManager.tsx:496:17",className:"w-16 h-16 mr-4"}),"延迟分布图表(集成图表库后显示)"]})]}),e.jsxs(p,{"code-path":"src/components/monitor/trace/TraceManager.tsx:500:13",children:[e.jsx(b,{"code-path":"src/components/monitor/trace/TraceManager.tsx:501:15",children:e.jsx(S,{"code-path":"src/components/monitor/trace/TraceManager.tsx:502:17",children:"错误率趋势"})}),e.jsxs(x,{"code-path":"src/components/monitor/trace/TraceManager.tsx:504:15",className:"h-[300px] flex items-center justify-center text-muted-foreground",children:[e.jsx(Le,{"code-path":"src/components/monitor/trace/TraceManager.tsx:505:17",className:"w-16 h-16 mr-4"}),"错误率趋势图表(集成图表库后显示)"]})]})]})})]}),e.jsx(K,{"code-path":"src/components/monitor/trace/TraceManager.tsx:514:7",open:oe,onOpenChange:E,children:e.jsxs(Q,{"code-path":"src/components/monitor/trace/TraceManager.tsx:515:9",className:"max-w-6xl max-h-[90vh]",children:[e.jsxs(U,{"code-path":"src/components/monitor/trace/TraceManager.tsx:516:11",children:[e.jsxs(Z,{"code-path":"src/components/monitor/trace/TraceManager.tsx:517:13",className:"flex items-center gap-2",children:[e.jsx(Ne,{"code-path":"src/components/monitor/trace/TraceManager.tsx:518:15",className:"w-5 h-5"}),"Trace详情",e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:520:15",className:"font-mono text-sm text-muted-foreground",children:m?.traceId})]}),e.jsx(G,{"code-path":"src/components/monitor/trace/TraceManager.tsx:522:13",className:"sr-only",children:"描述"})]}),m&&e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:525:13",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:526:15",className:"flex items-center gap-4 p-3 bg-muted rounded-lg",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:527:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:528:19",className:"text-xs text-muted-foreground",children:"服务"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:529:19",className:"font-medium",children:m.serviceName})]}),e.jsx(w,{"code-path":"src/components/monitor/trace/TraceManager.tsx:531:17",orientation:"vertical",className:"h-8"}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:532:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:533:19",className:"text-xs text-muted-foreground",children:"操作"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:534:19",className:"font-medium",children:m.operationName})]}),e.jsx(w,{"code-path":"src/components/monitor/trace/TraceManager.tsx:536:17",orientation:"vertical",className:"h-8"}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:537:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:538:19",className:"text-xs text-muted-foreground",children:"总耗时"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:539:19",className:"font-medium",children:d(m.duration)})]}),e.jsx(w,{"code-path":"src/components/monitor/trace/TraceManager.tsx:541:17",orientation:"vertical",className:"h-8"}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:542:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:543:19",className:"text-xs text-muted-foreground",children:"状态"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:544:19",children:v(m.status)})]})]}),e.jsx(fe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:548:15",className:"h-[500px]",children:e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:549:17",className:"border rounded-lg",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:550:19",className:"flex items-center px-4 py-2 bg-muted/50 border-b text-sm font-medium",children:[e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:551:21",className:"flex-1",children:"Span名称"}),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:552:21",className:"w-32",children:"时间线"}),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:553:21",className:"w-20 text-right",children:"耗时"})]}),m.spans&&he(m.spans).map(a=>e.jsx(q,{"code-path":"src/components/monitor/trace/TraceManager.tsx:557:21",span:a,level:0,totalDuration:m.duration},a.spanId))]})})]})]})}),e.jsx(K,{"code-path":"src/components/monitor/trace/TraceManager.tsx:567:7",open:ne,onOpenChange:$,children:e.jsxs(Q,{"code-path":"src/components/monitor/trace/TraceManager.tsx:568:9",className:"max-w-2xl",children:[e.jsxs(U,{"code-path":"src/components/monitor/trace/TraceManager.tsx:569:11",children:[e.jsx(Z,{"code-path":"src/components/monitor/trace/TraceManager.tsx:570:13",children:"Span详情"}),e.jsx(G,{"code-path":"src/components/monitor/trace/TraceManager.tsx:571:13",className:"sr-only",children:"描述"})]}),o&&e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:574:13",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:575:15",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:576:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:577:19",className:"text-muted-foreground",children:"Span ID"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:578:19",className:"font-mono text-sm",children:o.spanId})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:580:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:581:19",className:"text-muted-foreground",children:"类型"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:582:19",className:"capitalize",children:o.kind})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:584:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:585:19",className:"text-muted-foreground",children:"服务"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:586:19",className:"font-medium",children:o.serviceName})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:588:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:589:19",className:"text-muted-foreground",children:"操作"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:590:19",className:"font-medium",children:o.operationName})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:592:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:593:19",className:"text-muted-foreground",children:"状态"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:594:19",children:v(o.status)})]}),e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:596:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:597:19",className:"text-muted-foreground",children:"耗时"}),e.jsx("p",{"code-path":"src/components/monitor/trace/TraceManager.tsx:598:19",className:"font-medium",children:d(o.duration)})]})]}),Object.keys(o.tags).length>0&&e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:603:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:604:19",className:"text-muted-foreground",children:"标签"}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:605:19",className:"mt-1 p-3 bg-muted rounded-lg",children:Object.entries(o.tags).map(([a,t])=>e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:607:23",className:"flex justify-between text-sm py-1",children:[e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:608:25",className:"text-muted-foreground",children:a}),e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:609:25",className:"font-mono",children:t})]},a))})]}),o.logs?.length>0&&e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:617:17",children:[e.jsx(s,{"code-path":"src/components/monitor/trace/TraceManager.tsx:618:19",className:"text-muted-foreground",children:"日志"}),e.jsx("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:619:19",className:"mt-1 space-y-2",children:o.logs.map((a,t)=>e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:621:23",className:"p-2 bg-muted rounded text-sm",children:[e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:622:25",className:"text-muted-foreground",children:a.timestamp}),e.jsx("pre",{"code-path":"src/components/monitor/trace/TraceManager.tsx:623:25",className:"mt-1 text-xs",children:JSON.stringify(a.fields,null,2)})]},t))})]})]})]})})]})};export{_e as default};
|