Skip to content

Commit 8ba04cd

Browse files
authored
Merge pull request #60 from SoundBlaster/claude/add-chart-timeline-bug-Ip2X4
Add BUG-T11: Chart Request Timeline never shows actual events
2 parents 885e63d + a9291d1 commit 8ba04cd

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

SPECS/Workplan.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,50 @@ Refresh the browser page to reset the color assignment, but this persists only f
13061306

13071307
---
13081308

1309+
### BUG-T11: Chart Request Timeline never shows actual events
1310+
- **Type:** Bug / Web UI / Chart Data
1311+
- **Status:** 🔴 Open
1312+
- **Priority:** P1
1313+
- **Discovered:** 2026-02-16
1314+
- **Component:** Web UI Dashboard (`webui/static/`, request timeline chart)
1315+
- **Affected Clients:** All clients using Web UI dashboard
1316+
- **Affected Surface:** Request Timeline chart on the Web UI dashboard
1317+
1318+
#### Description
1319+
The "Request Timeline" chart never displays the actual events. Regardless of how many requests are made or how many errors occur, the chart always shows a static display of 1 request and 0 errors. The chart does not reflect real activity and is effectively non-functional as a monitoring tool.
1320+
1321+
#### Symptoms
1322+
```
1323+
Actual traffic: 50 requests, 3 errors over 10 minutes
1324+
Chart displays: 1 request, 0 errors (static, never changes)
1325+
Expected: Chart should update in real-time to show 50 requests and 3 errors
1326+
```
1327+
1328+
#### Root Cause Analysis
1329+
The request timeline chart is likely not consuming live metrics data correctly. Possible causes include:
1330+
- The chart data source is reading a snapshot or default value instead of the accumulated timeseries data from `SharedMetricsStore`
1331+
- The WebSocket `metrics_update` payload may not include the timeseries buckets needed by the timeline chart, causing it to fall back to a static default
1332+
- The frontend chart update logic may be replacing the dataset with a single-point summary instead of appending new data points over time
1333+
- Related to the earlier timeseries format mismatch (see FU-P10-T1-BUG-1) — the fix may not have fully resolved the issue for the request timeline specifically
1334+
1335+
#### Workaround
1336+
None. The chart is non-functional for monitoring purposes. Users must rely on the raw counters or audit log to observe request activity.
1337+
1338+
#### Resolution Path
1339+
- [ ] Trace the data flow from `SharedMetricsStore.get_timeseries()` through the WebSocket payload to the frontend chart rendering for the request timeline
1340+
- [ ] Verify that the timeseries data returned by the API contains correct per-bucket request and error counts
1341+
- [ ] Verify that the frontend chart update function appends new data points rather than replacing the entire dataset with a summary
1342+
- [ ] Ensure the chart x-axis (time) and y-axis (counts) are correctly bound to the timeseries data
1343+
- [ ] Add integration test that simulates multiple requests and asserts the timeline chart data reflects actual counts
1344+
- [ ] Validate fix with live traffic to confirm the chart updates in real-time
1345+
1346+
#### Related Items
1347+
- **P10-T1** — Web UI Control & Audit Dashboard; the request timeline chart is part of this component
1348+
- **FU-P10-T1-BUG-1** — Earlier timeseries format mismatch bug; may share the same root cause
1349+
- **BUG-T10** — Chart color instability; related chart rendering issue
1350+
1351+
---
1352+
13091353
### Phase 10: Web UI Control & Audit Dashboard
13101354

13111355
**Intent:** Create a web-based dashboard for real-time monitoring, control, and audit logging of the XcodeMCPWrapper. Provides visibility into MCP tool usage, performance metrics, and operational control.

0 commit comments

Comments
 (0)