mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-08 20:07:55 -04:00
Fixes
```
File "src/ambient-context/eio/opentelemetry_ambient_context_eio.ml", line 1, characters 0-33:
1 | module TLS = Thread_local_storage
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 60 [unused-module]: unused module TLS.
```
39 lines
878 B
OCaml
39 lines
878 B
OCaml
module Fiber = Eio.Fiber
|
|
|
|
open struct
|
|
let _internal_key : Hmap.t Fiber.key = Fiber.create_key ()
|
|
|
|
let ( let* ) = Option.bind
|
|
end
|
|
|
|
module M = struct
|
|
let name = "Storage_eio"
|
|
|
|
let[@inline] get_map () = Fiber.get _internal_key
|
|
|
|
let[@inline] with_map m cb = Fiber.with_binding _internal_key m cb
|
|
|
|
let create_key = Hmap.Key.create
|
|
|
|
let get k =
|
|
let* context = get_map () in
|
|
Hmap.find k context
|
|
|
|
let with_binding k v cb =
|
|
let new_context =
|
|
match get_map () with
|
|
| None -> Hmap.singleton k v
|
|
| Some old_context -> Hmap.add k v old_context
|
|
in
|
|
with_map new_context cb
|
|
|
|
let without_binding k cb =
|
|
let new_context =
|
|
match get_map () with
|
|
| None -> Hmap.empty
|
|
| Some old_context -> Hmap.rem k old_context
|
|
in
|
|
with_map new_context cb
|
|
end
|
|
|
|
let storage () : Opentelemetry_ambient_context.storage = (module M)
|