feat(perception): export bounded runtime observations outside heartbeat lane
This commit is contained in:
@@ -16,6 +16,7 @@ from pathlib import Path
|
||||
from pilot_freshness import CLOCK_DOMAIN
|
||||
|
||||
from k1link.perception.realtime_contract import StreamStart
|
||||
from k1link.perception.runtime_telemetry import RuntimeTelemetryPublisher
|
||||
from k1link.perception.streaming_continuity import StreamSuspended
|
||||
from k1link.perception.streaming_lifecycle import StreamingLifecycle
|
||||
from k1link.perception.worker_control import WorkerControlChannel
|
||||
@@ -132,8 +133,14 @@ class PilotController:
|
||||
)
|
||||
self.thread.start()
|
||||
self.control = None
|
||||
self.telemetry = None
|
||||
self.report = report
|
||||
try:
|
||||
if getattr(args, "telemetry_snapshot", None):
|
||||
self.telemetry = RuntimeTelemetryPublisher(
|
||||
self.runtime, Path(args.telemetry_snapshot),
|
||||
"K1 DDRNet + RF-DETR + LiDAR + TGS",
|
||||
)
|
||||
if control_config:
|
||||
self.control = WorkerControlPump(
|
||||
self.runtime,
|
||||
@@ -195,4 +202,8 @@ class PilotController:
|
||||
self.report["worker_control_thread_released"] = self.control.close()
|
||||
self.report["worker_control"] = self.control.snapshot()
|
||||
self.stop_renewals()
|
||||
return self.runtime.close(reason)
|
||||
closed = self.runtime.close(reason)
|
||||
if self.telemetry:
|
||||
self.report["telemetry_thread_released"] = self.telemetry.close()
|
||||
self.report["telemetry_export_failures"] = self.telemetry.failures
|
||||
return closed
|
||||
|
||||
@@ -921,6 +921,7 @@ if __name__ == "__main__":
|
||||
parser.add_argument("--controller-image-sha256")
|
||||
parser.add_argument("--worker-control-requests")
|
||||
parser.add_argument("--worker-control-responses")
|
||||
parser.add_argument("--telemetry-snapshot", help="Optional host-agent current snapshot, never readiness")
|
||||
parser.add_argument(
|
||||
"--worker-readiness-mode",
|
||||
choices=("strict-envelope", "labelled-experiment"),
|
||||
|
||||
Reference in New Issue
Block a user