From f74738a4e0376162c5044b06837600ea1e4ec848 Mon Sep 17 00:00:00 2001 From: Orkuncakilkaya Date: Mon, 28 Sep 2026 15:22:26 +0300 Subject: [PATCH] ludic.telemetry: telemetry_str_open - a named string property the caller writes into the kept buffer (a look's numbers) Co-Authored-By: Claude Opus 5.5 --- packages/ludic.telemetry/props_nest.ludic | 6 ++++++ packages/ludic.telemetry/tests/ring_test.ludic | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/ludic.telemetry/props_nest.ludic b/packages/ludic.telemetry/props_nest.ludic index 8f37740f..bb539a4b 100644 --- a/packages/ludic.telemetry/props_nest.ludic +++ b/packages/ludic.telemetry/props_nest.ludic @@ -28,6 +28,12 @@ export function telemetry_item_open(p: TelemetryProps) -> StrBuf { return p.sb } export function telemetry_item_close(p: TelemetryProps) -> void { sb_byte(p.sb, 34) } +# the same for a named string property; closed with telemetry_item_close +export function telemetry_str_open(p: TelemetryProps, k: string) -> StrBuf { + tp_key(p, k) + sb_byte(p.sb, 34) + return p.sb +} # a number standing for what has been written: equal when the bytes are (FNV-1a, 31 bits) export function telemetry_props_sig(p: TelemetryProps) -> int { diff --git a/packages/ludic.telemetry/tests/ring_test.ludic b/packages/ludic.telemetry/tests/ring_test.ludic index 90e1956d..ed079c1a 100644 --- a/packages/ludic.telemetry/tests/ring_test.ludic +++ b/packages/ludic.telemetry/tests/ring_test.ludic @@ -109,11 +109,14 @@ program RingTest { telemetry_item_close(p) telemetry_list_end(p) telemetry_obj_end(p) + let lk = telemetry_str_open(p, "look") + sb_int(lk, 7) + telemetry_item_close(p) telemetry_bool(p, "last", false) let sig = telemetry_props_sig(p) telemetry_event(telemetry_st, "shot", p) let a = telemetry_line(telemetry_st, 0) - expect(Text.contains(a, "{\"grade\":3,\"subjects\":[\"elk\",\"deer\"],\"$set\":{\"arch\":\"arm64\",\"looks\":[\"4,2\"]},\"last\":false,")) + expect(Text.contains(a, "{\"grade\":3,\"subjects\":[\"elk\",\"deer\"],\"$set\":{\"arch\":\"arm64\",\"looks\":[\"4,2\"]},\"look\":\"7\",\"last\":false,")) expect(Json.parse(a) != null) let q = telemetry_props(telemetry_st) telemetry_int(q, "grade", 3)