defer optional telemetry dependencies in perception graph

This commit is contained in:
DCCONSTRUCTIONS
2026-08-23 20:29:14 +03:00
parent cbbaea9148
commit bcda5d001a
2 changed files with 31 additions and 7 deletions
+12 -7
View File
@@ -8,14 +8,15 @@ from contextlib import AbstractContextManager
from dataclasses import dataclass, replace
from queue import Empty, Full, Queue
from threading import Event, Lock, Thread
from typing import TypeVar, cast
from typing import TYPE_CHECKING, TypeVar, cast
from k1link.compute.pipeline_telemetry import (
PipelineStageOutcome,
PipelineTelemetryEmitter,
PipelineTelemetryIdentity,
PipelineTelemetrySink,
)
if TYPE_CHECKING:
from k1link.compute.pipeline_telemetry import (
PipelineStageOutcome,
PipelineTelemetryEmitter,
PipelineTelemetryIdentity,
PipelineTelemetrySink,
)
from .baseline import BASELINE_PROFILE_ID, BASELINE_SOURCE_ID
from .contracts import (
@@ -763,6 +764,8 @@ class ReferencePerceptionGraphV1:
def _run_emitter(self) -> PipelineTelemetryEmitter | None:
if self.telemetry_identity is None or self.telemetry_sink is None:
return None
from k1link.compute.pipeline_telemetry import PipelineTelemetryEmitter
return PipelineTelemetryEmitter(
identity=self.telemetry_identity,
sink=self.telemetry_sink,
@@ -772,6 +775,8 @@ class ReferencePerceptionGraphV1:
def _frame_emitter(self, packet: SourcePacket) -> PipelineTelemetryEmitter | None:
if self.telemetry_identity is None or self.telemetry_sink is None:
return None
from k1link.compute.pipeline_telemetry import PipelineTelemetryEmitter
identity = replace(
self.telemetry_identity,
request_id=packet.envelope.frame_id,