-
Notifications
You must be signed in to change notification settings - Fork 25
Closed
Description
Problem
Every collector in Lite tracks split timing via Stopwatch — SQL Server query time (sql_duration_ms) and DuckDB insert time (duckdb_duration_ms) — and logs both to the collection_log table and to disk (logs/lite_YYYYMMDD.log). But none of this timing data is surfaced in the UI.
When a collector starts timing out (like the XE ring buffer issue in #37), the only way to diagnose it today is to:
- Read the log file manually from
logs/on disk - Query the
collection_logDuckDB table directly - Use the MCP
get_collection_healthtool
There's no way for a user to see that a collector is getting slower over time, or whether the bottleneck is SQL Server or DuckDB.
Proposed Solution
Add a diagnostics view (tab, panel, or window) that shows:
- Collector timing grid — recent
collection_logentries showing collector name, duration, SQL vs DuckDB split, rows collected, status - Timing trend chart — per-collector duration over time to spot degradation
- Log viewer — display recent entries from the daily log file, or at minimum an "Open Log File" button
The collection_log table already has all the data needed:
collector_name,collection_time,duration_ms,sql_duration_ms,duckdb_duration_msrows_collected,status,error_message
Related Files
Lite/Database/Schema.cs—collection_logtable schema (line 37), split timing columns added in v4 migrationLite/Services/RemoteCollectorService.cs—_lastSqlMs/_lastDuckDbMsfields (line 89),LogCollectionAsync()(line 372)Lite/Services/LocalDataService.CollectionHealth.cs—GetCollectionHealthAsync()query (line 21)Lite/Services/AppLogger.cs— file-based logging implementation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels