From d1a451550bc1d5f9d1eb924709e49a73abf87f5f Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 4 Dec 2025 21:12:16 -0500 Subject: [PATCH] add client.Any_resource --- src/client/any_resource.ml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/client/any_resource.ml diff --git a/src/client/any_resource.ml b/src/client/any_resource.ml new file mode 100644 index 00000000..77592121 --- /dev/null +++ b/src/client/any_resource.ml @@ -0,0 +1,27 @@ +open Opentelemetry.Proto + +(** A resource *) +type t = + | R_metrics of Metrics.resource_metrics list + | R_spans of Trace.resource_spans list + | R_logs of Logs.resource_logs list + +let of_logs logs : t = R_logs [ Util_resources.make_resource_logs logs ] + +open struct + let of_x_or_empty ~f l = + if l = [] then + [] + else + [ f l ] +end + +let of_logs_or_empty logs = of_x_or_empty ~f:of_logs logs + +let of_spans spans : t = R_spans [ Util_resources.make_resource_spans spans ] + +let of_spans_or_empty spans = of_x_or_empty ~f:of_spans spans + +let of_metrics m : t = R_metrics [ Util_resources.make_resource_metrics m ] + +let of_metrics_or_empty ms = of_x_or_empty ~f:of_metrics ms