Problem
When collectors are failing, the Lite status bar shows a count ("Collectors: 1 erroring") with a tooltip containing the failing collector names and error messages. But this tooltip is easy to miss and hard to read for multiple failures.
The backend infrastructure already exists:
collection_log DuckDB table stores every collector run with status, error messages, and timing
LocalDataService.GetCollectionHealthAsync() computes per-collector health status (HEALTHY / WARNING / STALE / FAILING / NEVER_RUN), failure rates, and average durations
CollectorHealthRow model has all the fields needed for display
But nothing in the UI calls GetCollectionHealthAsync() — the data is collected and computed but never shown.
Proposed Solution
Add a "Collection Health" tab or panel in the ServerTab that displays a DataGrid with:
| Column |
Source |
| Collector |
CollectorName |
| Status |
HealthStatus (color-coded) |
| Total Runs |
TotalRuns |
| Success / Error |
SuccessCount / ErrorCount |
| Failure Rate |
FailureRatePercent |
| Avg Duration |
AvgDurationFormatted |
| Last Success |
LastSuccessTime |
| Last Error |
LastError (truncated, tooltip for full message) |
This would make it immediately obvious which collectors are healthy and which need attention, without hovering over a status bar tooltip.
Related Files
Lite/Services/LocalDataService.CollectionHealth.cs — GetCollectionHealthAsync() (line 21), CollectorHealthRow model (line 66)
Lite/Services/RemoteCollectorService.cs — CollectorHealthEntry (line 32), RecordCollectorResult() (line 156)
Lite/MainWindow.xaml.cs — UpdateCollectorHealth() (line 287) — current tooltip-only display
Lite/Database/Schema.cs — collection_log table schema (line 37)
Problem
When collectors are failing, the Lite status bar shows a count ("Collectors: 1 erroring") with a tooltip containing the failing collector names and error messages. But this tooltip is easy to miss and hard to read for multiple failures.
The backend infrastructure already exists:
collection_logDuckDB table stores every collector run with status, error messages, and timingLocalDataService.GetCollectionHealthAsync()computes per-collector health status (HEALTHY / WARNING / STALE / FAILING / NEVER_RUN), failure rates, and average durationsCollectorHealthRowmodel has all the fields needed for displayBut nothing in the UI calls
GetCollectionHealthAsync()— the data is collected and computed but never shown.Proposed Solution
Add a "Collection Health" tab or panel in the ServerTab that displays a DataGrid with:
CollectorNameHealthStatus(color-coded)TotalRunsSuccessCount/ErrorCountFailureRatePercentAvgDurationFormattedLastSuccessTimeLastError(truncated, tooltip for full message)This would make it immediately obvious which collectors are healthy and which need attention, without hovering over a status bar tooltip.
Related Files
Lite/Services/LocalDataService.CollectionHealth.cs—GetCollectionHealthAsync()(line 21),CollectorHealthRowmodel (line 66)Lite/Services/RemoteCollectorService.cs—CollectorHealthEntry(line 32),RecordCollectorResult()(line 156)Lite/MainWindow.xaml.cs—UpdateCollectorHealth()(line 287) — current tooltip-only displayLite/Database/Schema.cs—collection_logtable schema (line 37)