diff --git a/src/lwt/opentelemetry_lwt.ml b/src/lwt/opentelemetry_lwt.ml index cf450de5..e6d53ed8 100644 --- a/src/lwt/opentelemetry_lwt.ml +++ b/src/lwt/opentelemetry_lwt.ml @@ -11,6 +11,10 @@ module GC_metrics = GC_metrics module Metrics_callbacks = Metrics_callbacks module Trace_context = Trace_context +external reraise : exn -> 'a = "%reraise" +(** This is equivalent to [Lwt.reraise]. We inline it here so we don't force + to use Lwt's latest version *) + module Trace = struct include Trace @@ -30,7 +34,7 @@ module Trace = struct with e -> let bt = Printexc.get_raw_backtrace () in let () = finally (Error (e, bt)) in - raise e + reraise e end module Metrics = struct