feat(telemetry): expose compute pipeline stage metrics
This commit is contained in:
@@ -274,6 +274,57 @@ def test_worker_telemetry_prefers_ndc_container_names_during_migration(
|
||||
assert triton["canonical_name"] == "ndc-mission-core-triton"
|
||||
|
||||
|
||||
def test_agent_pipeline_snapshot_merges_all_stage_series() -> None:
|
||||
samples = []
|
||||
for stage_id, stage_state, elapsed, activations, share in (
|
||||
("detector", "active", 2.5, 42, 62.5),
|
||||
("semantic-model", "waiting", 1.5, 11, 37.5),
|
||||
):
|
||||
samples.append(
|
||||
{
|
||||
"node_id": EXPECTED_NODE_ID,
|
||||
"kind": "pipeline",
|
||||
"measurement": "missioncore_pipeline",
|
||||
"observed_at_utc": "2026-07-28T12:00:00Z",
|
||||
"payload": {
|
||||
"name": "missioncore_pipeline",
|
||||
"tags": {"stage_id": stage_id},
|
||||
"fields": {
|
||||
"service_state": "busy",
|
||||
"current_stage": "detector",
|
||||
"active_request_id": "request-006",
|
||||
"active_frame_index": 17,
|
||||
"completed_runs": 3,
|
||||
"failed_runs": 0,
|
||||
"model_load_seconds": 10.5,
|
||||
"collector_state": "live",
|
||||
"stage_state": stage_state,
|
||||
"elapsed_seconds": elapsed,
|
||||
"activations": activations,
|
||||
"share_percent": share,
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
raw = _agent_raw_document({"samples": samples})
|
||||
|
||||
assert raw["perception"]["state"] == "busy"
|
||||
assert raw["perception"]["active_stages"] == ["detector"]
|
||||
assert raw["perception"]["stage_metrics"] == {
|
||||
"detector": {
|
||||
"elapsed_seconds": 2.5,
|
||||
"activations": 42,
|
||||
"share_percent": 62.5,
|
||||
},
|
||||
"semantic-model": {
|
||||
"elapsed_seconds": 1.5,
|
||||
"activations": 11,
|
||||
"share_percent": 37.5,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def test_worker_telemetry_history_keeps_one_row_per_agent_observation(
|
||||
tmp_path: Path,
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user