rlmesh.TelemetryRow

classfrom rlmesh import TelemetryRow[source]

One aggregated metric series from a Model.run() eval.

TelemetryRow(
    op: str,
    component: str,
    metric: str,
    unit: str,
    count: int,
    avg: float,
    p50: float,
    p95: float,
    p99: float,
)

The runtime aggregates every measurement per (op, component, metric) over the whole run. rpc.total is the client-observed round trip of an op; endpoint.total the peer’s own handling wall, split by endpoint.decode / endpoint.user / endpoint.encode; endpoint.queue the wait before the op’s handler ran (the model’s permit, gate, and handler lock; the env’s lock) and predict.in_flight the model endpoint’s slot occupancy at dispatch; predict.adapter the RLMesh adapter work (observation assembly + action apply) inside the handler’s own time, so the model’s own forward is endpoint.user minus it; held.episodes / held.bytes the per-episode frame-stack state the adapter engine was holding when the predict was stamped (what grows with concurrent episodes and shrinks on episode-end GC; a zero is a real sample); lane.skew a vector env’s straggler dispersion, only from an env that times its own lanes; runner.round one full predict -> step -> transform loop iteration (subtract the per-op rows for the driver’s own residual). A metric a peer never stamps produces no row.

op

attribute[source]
op: str

The measured operation (e.g. model.predict, env.step).

component

attribute[source]
component: str

Who produced the sample (model, env, runner).

metric

attribute[source]
metric: str

The metric name (e.g. rpc.total, endpoint.user).

unit

attribute[source]
unit: str

What the values measure: ms, bytes, or count.

count

attribute[source]
count: int

Samples aggregated into this row.

avg

attribute[source]
avg: float

Mean value, in unit.

p50

attribute[source]
p50: float

Median value, in unit.

p95

attribute[source]
p95: float

95th-percentile value, in unit.

p99

attribute[source]
p99: float

99th-percentile value, in unit.