Skip to content

Timeline Collector ​

Captures cross-collector performance timeline — a unified view of all events from all collectors in chronological order.

Timeline Collector panel

What It Captures ​

FieldDescription
timeEvent timestamp
referenceReference ID linking back to the source collector's data entry
collectorSource collector class name
dataAdditional event data (varies by collector)

Data Schema ​

Timeline events are stored as arrays:

json
[
    [1711878000.100, 0, "AppDevPanel\\Kernel\\Collector\\Web\\RequestCollector", []],
    [1711878000.105, 0, "AppDevPanel\\Kernel\\Collector\\LogCollector", ["level", "info"]],
    [1711878000.150, 0, "AppDevPanel\\Kernel\\Collector\\EventCollector", []],
    [1711878000.200, 1, "AppDevPanel\\Kernel\\Collector\\LogCollector", ["level", "warning"]]
]

Summary (shown in debug entry list):

json
{
    "timeline": {
        "total": 15
    }
}

Contract ​

php
use AppDevPanel\Kernel\Collector\TimelineCollector;

// Called by other collectors to register timeline events
$timeline->collect(
    collector: $logCollector,
    reference: 0,           // Index in the source collector's data
    'level', 'info',        // Additional context data
);

How It Works ​

The TimelineCollectorAppDevPanel\Kernel\Collector\TimelineCollectorCollects Timeline data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface is a central aggregation point. Other collectors (Log, Event, Database, etc.) call $timeline->collect() when they record an event, passing themselves as the source. This creates a unified chronological view across all collectors.

Debug Panel ​

  • Visual timeline — horizontal bar chart showing events across time
  • Collector filtering — toggle visibility of specific collectors via chips
  • Color coding — each collector type has a distinct color
  • Time scale — auto-scaling time axis with microsecond precision
  • Event count — total timeline events in sidebar badge

Released under the MIT License.