-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfathom.html
More file actions
66 lines (61 loc) · 3.83 KB
/
Copy pathfathom.html
File metadata and controls
66 lines (61 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Fathom — LLM-ops observability cinema</title>
<style>
:root { color-scheme: dark; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #04050a; overflow: hidden;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #cdd6f4; }
#gpu-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; display: block; }
.panel { position: fixed; z-index: 10; background: rgba(8, 10, 20, 0.66);
border: 1px solid rgba(120, 160, 255, 0.18); border-radius: 12px; backdrop-filter: blur(7px); }
#hud { top: 22px; left: 22px; padding: 16px 18px; width: 300px; }
#hud h1 { margin: 0; font-size: 15px; letter-spacing: 1px; color: #89dceb; }
#hud .tag { color: #7f849c; font-size: 11px; margin: 2px 0 12px; }
#hud .src { display: inline-block; margin-bottom: 12px; padding: 2px 8px; border-radius: 999px; font-size: 10px;
background: rgba(64, 160, 90, 0.16); border: 1px solid #40a05a; color: #a6e3a1; }
#hud .src.synthetic { background: rgba(200, 160, 40, 0.16); border-color: #d0a828; color: #f9e2af; }
.metric { display: flex; justify-content: space-between; align-items: baseline; padding: 3px 0; }
.metric .k { color: #7f849c; }
.metric .v { font-size: 18px; color: #f9e2af; font-variant-numeric: tabular-nums; }
.legend { position: fixed; bottom: 22px; left: 22px; padding: 12px 16px; }
.legend .row { display: flex; align-items: center; gap: 8px; padding: 2px 0; color: #bac2de; }
.legend .dot { width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
#timeline { position: fixed; left: 22px; right: 22px; bottom: 0; height: 3px; background: rgba(120,160,255,0.12); z-index: 10; }
#playhead { height: 100%; width: 0; background: linear-gradient(90deg, #3f7fff, #19ffb0); box-shadow: 0 0 10px #19ffb0; }
#title-r { top: 22px; right: 22px; padding: 12px 16px; text-align: right; max-width: 340px; }
#title-r .big { font-size: 15px; color: #cdd6f4; letter-spacing: 0.5px; }
#title-r .small { color: #7f849c; font-size: 11px; margin-top: 4px; }
#err { position: fixed; inset: 0; display: none; place-items: center; z-index: 20; background: #04050a; padding: 40px; }
#err div { max-width: 520px; color: #f38ba8; text-align: center; }
</style>
</head>
<body>
<canvas id="gpu-canvas"></canvas>
<div id="hud" class="panel">
<h1>FATHOM</h1>
<div class="tag">LLM-ops observability cinema</div>
<span class="src" id="src">— data —</span>
<div class="metric"><span class="k">requests replayed</span><span class="v" id="m-req">0</span></div>
<div class="metric"><span class="k">cache-hit rate</span><span class="v" id="m-cache">0%</span></div>
<div class="metric"><span class="k">429s survived → fallback</span><span class="v" id="m-fb">0</span></div>
<div class="metric"><span class="k">PII blocked in-path</span><span class="v" id="m-pii">0</span></div>
</div>
<div id="title-r" class="panel">
<div class="big" id="gpu-name">…</div>
<div class="small">every particle is one real <code>sentinel</code> span · 460 spans replayed as a live stream</div>
</div>
<div class="legend panel">
<div class="row" style="color:#3f7fff"><span class="dot"></span><span>span → provider (cache miss)</span></div>
<div class="row" style="color:#19ffb0"><span class="dot"></span><span>cache hit — served from memory (tributary)</span></div>
<div class="row" style="color:#ffb020"><span class="dot"></span><span>429 → retried & failed over</span></div>
<div class="row" style="color:#ff3040"><span class="dot"></span><span>PII caught — blocked in-path (422)</span></div>
</div>
<div id="timeline"><div id="playhead"></div></div>
<div id="err"><div id="err-msg"></div></div>
<script src="./fathom.js"></script>
</body>
</html>