Type Alias: IngestionStats
type IngestionStats = {
events_received: number;
events_matched: number;
events_dropped: number;
updates_applied: number;
components_written: number;
components_deduped: number;
directives_applied: number;
drops: Partial<Record<IngestionDropReason, number>>;
last_event_at: Date | null;
last_applied_at: Date | null;
bound_scene_count: number;
ticks_processed: number;
continuations_active: number;
per_mapping: MappingStats[];
};
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:65
A snapshot of what an IngestionPipeline has actually done — the answer to "is data flowing?", which the transports and the scene cannot give on their own.
Note that events_matched and events_dropped overlap: an event a mapping selected but then applied nothing for (no id, no updates, unresolved entity) counts in both, so their sum can exceed events_received.
Properties
events_received
events_received: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:67
Events submitted to the pipeline, whatever became of them.
events_matched
events_matched: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:69
Events at least one mapping matched. Overlaps events_dropped.
events_dropped
events_dropped: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:71
Events no mapping applied at all, for any reason. Overlaps events_matched.
updates_applied
updates_applied: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:73
(entity update, scene) pairs successfully applied.
components_written
components_written: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:78
Component writes actually sent to the scene. Includes writes produced by a ContinuousUpdate on a clock tick, not only those an event caused directly.
components_deduped
components_deduped: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:80
Component writes skipped because the value was unchanged.
directives_applied
directives_applied: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:82
Whole-entity directives (delete / hide / show) carried out.
drops
drops: Partial<Record<IngestionDropReason, number>>;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:84
Drop totals across every mapping.
last_event_at
last_event_at: Date | null;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:86
When the pipeline last received an event, whatever became of it.
last_applied_at
last_applied_at: Date | null;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:88
When the pipeline last wrote to a scene.
bound_scene_count
bound_scene_count: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:90
Scenes currently bound.
ticks_processed
ticks_processed: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:96
Clock ticks the pipeline has processed. Ticks are deliberately not counted as events: events_received and last_event_at keep meaning "data is arriving" even while a continuous update drives the scene on its own.
continuations_active
continuations_active: number;
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:102
ContinuousUpdates currently installed, across every mapping — the answer to "the stream is fine, so why is nothing moving?". MappingStats.continuations_active breaks it down by mapping.
per_mapping
per_mapping: MappingStats[];
Defined in: livelink.clients/livelink.agent/sources/data/IngestionStats.ts:104
Per-mapping breakdown, index-aligned with the pipeline's mappings.