Public declaration syntax from forge-py/src/forge/telemetry/collector.py Original source SHA-256: afad2373c17cbf04cba2597a7b7a00aa8af60a4b8ecc62bfe080c8f47b1241e4 Function bodies and constant values are omitted. This is not the complete implementation. Source line 31 class CompletedSpan() Source line 72 class SpanCollector(Protocol) Source line 81 def record_span(self, span: CompletedSpan) -> None Source line 89 def spans(self) -> list[CompletedSpan] Source line 97 def clear(self) -> None Source line 105 def is_empty(self) -> bool Source line 114 class NoopCollector() Source line 137 def record_span(self, span: CompletedSpan) -> None Source line 140 def spans(self) -> list[CompletedSpan] Source line 144 def clear(self) -> None Source line 151 def is_empty(self) -> bool Source line 160 class InMemoryCollector() Source line 184 def __init__(self) -> None Source line 188 def record_span(self, span: CompletedSpan) -> None Source line 197 def spans(self) -> list[CompletedSpan] Source line 206 def clear(self) -> None Source line 216 def is_empty(self) -> bool Source line 239 class InMemoryTelemetry() Source line 262 def __init__(self, agent_did: str | None=None) -> None Source line 271 def start_span(self, name: str, attributes: list[tuple[str, str]] | None=None) -> SpanId Source line 296 def end_span(self, span_id: SpanId) -> None Source line 325 def emit_event(self, event: AuditEvent) -> None Source line 334 def flush(self) -> None Source line 339 def completed_spans(self) -> list[CompletedSpan] Source line 347 def events(self) -> list[AuditEvent] Source line 356 def clear(self) -> None Source line 363 def span_count(self) -> int Source line 367 def event_count(self) -> int