Add Signal.Decode module

For testing
This commit is contained in:
Shon Feder 2025-06-23 17:05:42 -04:00
parent 916b962c43
commit 33104f231e
No known key found for this signature in database
2 changed files with 37 additions and 0 deletions

View file

@ -42,3 +42,22 @@ module Encode = struct
()) ())
~enc:Trace_service.encode_pb_export_trace_service_request ~enc:Trace_service.encode_pb_export_trace_service_request
end end
module Decode = struct
let resource_of_string ~dec s = Pbrt.Decoder.of_string s |> dec
let logs data =
(resource_of_string ~dec:Logs_service.decode_pb_export_logs_service_request
data)
.resource_logs
let metrics data =
(resource_of_string
~dec:Metrics_service.decode_pb_export_metrics_service_request data)
.resource_metrics
let traces data =
(resource_of_string
~dec:Trace_service.decode_pb_export_trace_service_request data)
.resource_spans
end

View file

@ -27,3 +27,21 @@ module Encode : sig
@param encoder provide an encoder state to reuse *) @param encoder provide an encoder state to reuse *)
end end
(** Decode signals from protobuf encoded strings, received over the wire *)
module Decode : sig
val logs : string -> Opentelemetry_proto.Logs.resource_logs list
(** [logs ls] is a protobuf encoded string of the logs [ls]
@param encoder provide an encoder state to reuse *)
val metrics : string -> Opentelemetry_proto.Metrics.resource_metrics list
(** [metrics ms] is a protobuf encoded string of the metrics [ms]
@param encoder provide an encoder state to reuse *)
val traces : string -> Opentelemetry_proto.Trace.resource_spans list
(** [metrics ts] is a protobuf encoded string of the traces [ts]
@param encoder provide an encoder state to reuse *)
end