From 00840e0b88ece395647828ef253c8101c9c18a34 Mon Sep 17 00:00:00 2001 From: Shon Feder Date: Mon, 23 Jun 2025 18:37:01 -0400 Subject: [PATCH] Add pretty printer utils These combinators seem tiny, but they simpflify code where they are used quite a lot. --- src/client/signal.ml | 10 ++++++++++ src/client/signal.mli | 13 +++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/client/signal.ml b/src/client/signal.ml index 7dc1cf08..ebb3e460 100644 --- a/src/client/signal.ml +++ b/src/client/signal.ml @@ -61,3 +61,13 @@ module Decode = struct ~dec:Trace_service.decode_pb_export_trace_service_request data) .resource_spans end + +module Pp = struct + module Proto = Opentelemetry.Proto + + let logs = Format.pp_print_list Proto.Logs.pp_resource_logs + + let metrics = Format.pp_print_list Proto.Metrics.pp_resource_metrics + + let traces = Format.pp_print_list Proto.Trace.pp_resource_spans +end diff --git a/src/client/signal.mli b/src/client/signal.mli index 3ed188c7..a5c25a27 100644 --- a/src/client/signal.mli +++ b/src/client/signal.mli @@ -45,3 +45,16 @@ module Decode : sig @param encoder provide an encoder state to reuse *) end + +module Pp : sig + val logs : + Format.formatter -> Opentelemetry_proto.Logs.resource_logs list -> unit + + val metrics : + Format.formatter -> + Opentelemetry_proto.Metrics.resource_metrics list -> + unit + + val traces : + Format.formatter -> Opentelemetry_proto.Trace.resource_spans list -> unit +end