diff --git a/lps-temp-fe/index.html b/lps-temp-fe/index.html index 7bf6592..8edb040 100644 --- a/lps-temp-fe/index.html +++ b/lps-temp-fe/index.html @@ -135,6 +135,15 @@ .sec-title{font-size:12px;font-weight:700;color:var(--text-700);margin:0 0 9px;display:flex;align-items:center;gap:7px} .sec-title .cnt{font-size:11px;color:var(--text-400);font-weight:600} + /* 검색 원가 계측 */ + .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px} + @media (max-width:520px){.metrics{grid-template-columns:repeat(2,1fr)}} + .metric{border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:10px 11px;background:var(--surface-2)} + .metric .mk{font-size:10.5px;font-weight:700;color:var(--text-400);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px} + .metric .mv{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1} + .metric .mv small{font-size:11px;font-weight:600;color:var(--text-500)} + .metric .msub{font-size:10.5px;color:var(--text-400);font-weight:600;margin-top:2px} + table{width:100%;border-collapse:collapse;font-size:13px} th{text-align:left;font-size:11px;font-weight:700;color:var(--text-500);text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid var(--border-2)} td{padding:9px 10px;border-bottom:1px solid var(--border-2);vertical-align:top} @@ -499,6 +508,23 @@ function renderJob(d, submitted){ html += ``; } + // 검색 원가 계측(리소스/비용/시간) + const mt=o.metrics; + if(mt){ + const kb=(mt.crawl?.html_bytes||0)/1024; + const kbTxt = kb>=1024 ? (kb/1024).toFixed(1)+" MB" : Math.round(kb)+" KB"; + const cost=mt.ai?.est_cost_usd||0; + const srcMs=mt.source_ms||{}; + const srcTxt=Object.entries(srcMs).map(([s,ms])=>`${(SRC[s]||{}).label||s} ${(ms/1000).toFixed(1)}s`).join(" · "); + html += `