Skip to main content

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.