From ac8d6b01c7589bc46b775996de680791d4140589 Mon Sep 17 00:00:00 2001 From: Jon Saad-Falcon Date: Sat, 28 Feb 2026 06:42:54 +0000 Subject: [PATCH] feat(telemetry): add tokens_per_joule field to TelemetryRecord Co-Authored-By: Claude Opus 4.6 --- src/openjarvis/core/types.py | 1 + tests/telemetry/test_telemetry_record.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/telemetry/test_telemetry_record.py diff --git a/src/openjarvis/core/types.py b/src/openjarvis/core/types.py index 623aed40..3da6bba3 100644 --- a/src/openjarvis/core/types.py +++ b/src/openjarvis/core/types.py @@ -162,6 +162,7 @@ class TelemetryRecord: cpu_energy_joules: float = 0.0 gpu_energy_joules: float = 0.0 dram_energy_joules: float = 0.0 + tokens_per_joule: float = 0.0 metadata: Dict[str, Any] = field(default_factory=dict) diff --git a/tests/telemetry/test_telemetry_record.py b/tests/telemetry/test_telemetry_record.py new file mode 100644 index 00000000..51ebc085 --- /dev/null +++ b/tests/telemetry/test_telemetry_record.py @@ -0,0 +1,20 @@ +"""Tests for TelemetryRecord fields.""" + +from __future__ import annotations + +from openjarvis.core.types import TelemetryRecord + + +class TestTelemetryRecord: + def test_tokens_per_joule_field_exists(self): + rec = TelemetryRecord(timestamp=1.0, model_id="test") + assert hasattr(rec, "tokens_per_joule") + assert rec.tokens_per_joule == 0.0 + + def test_tokens_per_joule_set(self): + rec = TelemetryRecord( + timestamp=1.0, + model_id="test", + tokens_per_joule=80.0, + ) + assert rec.tokens_per_joule == 80.0