mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-07 18:37:56 -05:00
Define find_map for 4.08 compat
This commit is contained in:
parent
ef5d7af3e7
commit
5bf8eea5f1
1 changed files with 12 additions and 5 deletions
|
|
@ -25,13 +25,22 @@ let signals_from_batch (signal_batch : Client.Signal.t) =
|
|||
| Logs ls -> List.map (fun l -> `Log l) ls
|
||||
| Metrics ms -> List.map (fun m -> `Metric m) ms
|
||||
|
||||
(* For backwards compat with OCaml 4.08.
|
||||
Copied from the standard library. *)
|
||||
let rec find_map f = function
|
||||
| [] -> None
|
||||
| x :: l ->
|
||||
(match f x with
|
||||
| Some _ as result -> result
|
||||
| None -> find_map f l)
|
||||
|
||||
let filter_map_spans f signals =
|
||||
signals
|
||||
|> List.filter_map (function
|
||||
| `Log _ | `Metric _ -> None
|
||||
| `Trace (r : Proto.Trace.resource_spans) ->
|
||||
r.scope_spans
|
||||
|> List.find_map (fun ss -> ss.Proto.Trace.spans |> List.find_map f))
|
||||
|> find_map (fun ss -> ss.Proto.Trace.spans |> find_map f))
|
||||
|
||||
let count_spans_with_name name signals =
|
||||
signals
|
||||
|
|
@ -48,8 +57,7 @@ let filter_map_metrics f signals =
|
|||
| `Log _ | `Trace _ -> None
|
||||
| `Metric (r : Proto.Metrics.resource_metrics) ->
|
||||
r.scope_metrics
|
||||
|> List.find_map (fun ss ->
|
||||
ss.Proto.Metrics.metrics |> List.find_map f))
|
||||
|> find_map (fun ss -> ss.Proto.Metrics.metrics |> find_map f))
|
||||
|
||||
let number_data_point_to_float : Proto.Metrics.number_data_point_value -> float
|
||||
= function
|
||||
|
|
@ -78,8 +86,7 @@ let filter_map_logs (f : Proto.Logs.log_record -> 'a option) signals : 'a list =
|
|||
| `Metric _ | `Trace _ -> None
|
||||
| `Log (r : Proto.Logs.resource_logs) ->
|
||||
r.scope_logs
|
||||
|> List.find_map (fun ss ->
|
||||
ss.Proto.Logs.log_records |> List.find_map f))
|
||||
|> find_map (fun ss -> ss.Proto.Logs.log_records |> find_map f))
|
||||
|
||||
let count_logs_with_body p signals =
|
||||
signals
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue