perf: avoid building closures in Signal

This commit is contained in:
Simon Cruanes 2025-12-03 16:06:50 -05:00
parent 2170c16e7f
commit b433a11c9a
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4

View file

@ -37,7 +37,7 @@ let is_logs = function
| _ -> false | _ -> false
module Encode = struct module Encode = struct
let resource_to_string ~encoder ~ctor ~enc resource = let resource_to_string ~encoder ~ctor ~enc resource : string =
let encoder = let encoder =
match encoder with match encoder with
| Some e -> | Some e ->
@ -51,26 +51,23 @@ module Encode = struct
Pbrt.Encoder.to_string encoder Pbrt.Encoder.to_string encoder
let logs ?encoder resource_logs = let logs ?encoder resource_logs =
resource_logs resource_to_string ~encoder resource_logs
|> resource_to_string ~encoder ~ctor:(fun r ->
~ctor:(fun r -> Logs_service.make_export_logs_service_request ~resource_logs:r ())
Logs_service.make_export_logs_service_request ~resource_logs:r ()) ~enc:Logs_service.encode_pb_export_logs_service_request
~enc:Logs_service.encode_pb_export_logs_service_request
let metrics ?encoder resource_metrics = let metrics ?encoder resource_metrics =
resource_metrics resource_to_string ~encoder resource_metrics
|> resource_to_string ~encoder ~ctor:(fun r ->
~ctor:(fun r -> Metrics_service.make_export_metrics_service_request ~resource_metrics:r
Metrics_service.make_export_metrics_service_request ())
~resource_metrics:r ()) ~enc:Metrics_service.encode_pb_export_metrics_service_request
~enc:Metrics_service.encode_pb_export_metrics_service_request
let traces ?encoder resource_spans = let traces ?encoder resource_spans =
resource_spans resource_to_string ~encoder resource_spans
|> resource_to_string ~encoder ~ctor:(fun r ->
~ctor:(fun r -> Trace_service.make_export_trace_service_request ~resource_spans:r ())
Trace_service.make_export_trace_service_request ~resource_spans:r ()) ~enc:Trace_service.encode_pb_export_trace_service_request
~enc:Trace_service.encode_pb_export_trace_service_request
end end
module Decode = struct module Decode = struct