Rulvar API reference / @rulvar/core / LogicalRunTelemetry
Interface: LogicalRunTelemetry
Defined in: packages/core/src/stores/reconcile.ts:481
One logical run's telemetry, folded across every segment (RV2510).
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
activeMs? | number | The two time conventions of a resumed run (RV4409, the seventh comparison experiment's post-mortem measured them by external script): activeMs sums each segment's own append window (its first to its last appended entry), calendarMs spans the whole journal, and gapMs is their difference, the operator time between segments. Derived from the startedAt stamps the entries already carry; absent when the journal carries none (absence means NOT RECORDED, RV1209). | packages/core/src/stores/reconcile.ts:517 |
adapterFetches? | number | Provider HTTP fetches across the WHOLE journal (RV4604): the sum of every provider-call decision's absorbed wireRequests (absent reads one, the single-wire dispatch). The counter above counts DECISIONS; this one counts the HTTP requests those decisions absorbed, so the two figures the seventh comparison experiment reconciled by hand now carry their own names side by side, and perSegment[].adapterFetches says which segment actually paid for them (a pure-replay segment reads 0). | packages/core/src/stores/reconcile.ts:554 |
calendarMs? | number | - | packages/core/src/stores/reconcile.ts:518 |
entries | number | Entries the run holds in total. Equal to the sum of entriesPerSegment plus whatever follows the last settle: the partition is exact BECAUSE it is a partition, which is what makes this figure safe to read beside a cumulative one. | packages/core/src/stores/reconcile.ts:499 |
entriesAfterLastSettle | number | Entries appended AFTER the last settle. Nonzero means the journal continued past its terminal (RV1407: a detached resolution awaiting its resume, or a successor segment over a stale settle), so the last status is not the run's last word. | packages/core/src/stores/reconcile.ts:506 |
entriesPerSegment | number[] | Journal entries each segment APPENDED, in the same order: its own share of the run's durable work, which is the one honest per-segment measure of effort a resumed run has. A pure-replay segment that appended nothing but its settle reads 1. | packages/core/src/stores/reconcile.ts:492 |
gapMs? | number | - | packages/core/src/stores/reconcile.ts:519 |
logicalWireRequests? | number | Provider wire decisions across the WHOLE journal (RV4409): the logical run's paid wire count, the invoice's cardinality. A resumed segment re-reads its prefix without re-paying it, so this figure and a segment's own adapter fetches are DIFFERENT counters with different names; the seventh comparison experiment reconciled "16 versus 109" by hand for exactly this reason. | packages/core/src/stores/reconcile.ts:543 |
perSegment? | { activeMs?: number; adapterFetches: number; entries: number; replayed?: true; status: RunStatus; }[] | Per segment, in journal order (RV4409): the settled status, the appended entries, the segment's own append window when the stamps exist, and replayed: true on a pure-replay segment (nothing appended but its settle), so a resumed run's walls read as the original segments' work instead of 0.0 s. | packages/core/src/stores/reconcile.ts:527 |
segments | number | How many settles the journal records: the number of segments that ran. | packages/core/src/stores/reconcile.ts:483 |
statuses | RunStatus[] | Each segment's settled status, in journal order. | packages/core/src/stores/reconcile.ts:485 |