PageSourceSearch

https://xyc.ai/static/js/async/4490.8d8093a3b1.js

js xyc.ai collected 2026-10-05 14:39:22 UTC 3,863 bytes, 1 lines download raw bytes

1"use strict";(self.rspackChunknewapi_web=self.rspackChunknewapi_web||[]).push([[4490],{59137(e,s,a){a.d(s,{PerformanceOverview:()=>p});var t=a(72361),r=a(68413),n=a(53540),i=a(6702),l=a(61631),c=a(81204),d=a(18434),m=a(4860);function u(e){return Number.isFinite(e)?`${e.toFixed(2)}%`:"—"}function o(e,s,a){let t=0,r=0;for(let n of e){let e=Number(n[s]);a(e)&&(t+=e,r++)}return r>0?t/r:NaN}function x(e){return Number.isFinite(e)?e>=99.9?"text-success":e>=99?"text-warning":"text-destructive":"text-muted-foreground"}function p(){var e,s;let{t:a}=(0,i.Bd)(),c=(0,n.I)({queryKey:["perf-metrics-summary",24],queryFn:()=>(0,m.R)(24),staleTime:6e4,retry:!1}),p=(0,r.useMemo)(()=>c.data?.data.models??[],[c.data]),g=(0,r.useMemo)(()=>({totalRequests:p.length,avgLatencyMs:Math.round(o(p,"avg_latency_ms",e=>Number.isFinite(e)&&e>0)),avgTps:o(p,"avg_tps",e=>Number.isFinite(e)&&e>0),successRate:o(p,"success_rate",Number.isFinite)}),[p]),v=(0,r.useMemo)(()=>p.slice(0,5),[p]),N=c.isLoading,b=p.length>0;return N||b?(0,t.jsx)("div",{className:"overflow-hidden rounded-lg border",children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2.5 px-4 py-2.5 sm:px-5 sm:py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(l.iYh,{className:"text-muted-foreground/60 size-3.5 shrink-0","aria-hidden":"true"}),(0,t.jsx)("span",{className:"text-xs font-semibold whitespace-nowrap",children:a("Performance health")})]}),(0,t.jsx)("div",{className:"bg-border hidden h-4 w-px sm:block"}),N?(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2",children:Array.from({length:3}).map((e,s)=>(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(d.E,{className:"h-3 w-14"}),(0,t.jsx)(d.E,{className:"h-4 w-16"})]},s))}):(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2",children:[(0,t.jsx)(f,{icon:l.iYh,label:a("Success rate"),value:u(g.successRate),valueClassName:x(g.successRate)}),(0,t.jsx)(f,{icon:l.M4G,label:a("Average latency"),value:!Number.isFinite(e=g.avgLatencyMs)||e<=0?"—":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`}),(0,t.jsx)(f,{icon:l._I2,label:a("Throughput"),value:!Number.isFinite(s=g.avgTps)||s<=0?"—":s>=1e3?`${(s/1e3).toFixed(1)}K t/s`:`${s.toFixed(s<10?2:1)} t/s`})]}),(0,t.jsx)("div",{className:"bg-border hidden h-4 w-px lg:block"}),!N&&b&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:v.map(e=>(0,t.jsx)(h,{model:e},e.model_name))})]})}):(0,t.jsx)("div",{className:"text-muted-foreground overflow-hidden rounded-lg border px-4 py-3 text-center text-xs",children:a("No performance data available")})}function f(e){let s=e.icon;return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(s,{className:"text-muted-foreground/50 size-3 shrink-0","aria-hidden":"true"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:e.label}),(0,t.jsx)("span",{className:(0,c.cn)("font-mono text-xs font-semibold tabular-nums",e.valueClassName),children:e.value})]})}function h(e){var s;let a=e.model;return(0,t.jsxs)("span",{className:"bg-muted/50 inline-flex items-center gap-1.5 rounded-full px-2.5 py-1",children:[(0,t.jsx)("span",{className:"max-w-[10rem] truncate font-mono text-[11px]",children:a.model_name}),(0,t.jsx)("span",{className:(0,c.cn)("size-1.5 rounded-full",Number.isFinite(s=a.success_rate)?s>=99.9?"bg-success":s>=99?"bg-warning":"bg-destructive":"bg-muted-foreground"),"aria-hidden":"true"}),(0,t.jsx)("span",{className:(0,c.cn)("font-mono text-[11px] font-semibold tabular-nums",x(a.success_rate)),children:u(a.success_rate)})]})}},4860(e,s,a){a.d(s,{R:()=>r});var t=a(64577);async function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:24;return(await t.FH.get("/api/perf-metrics/summary",{params:{hours:e}})).data}}}]);

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.