package opentelemetry-client

  1. Overview
  2. Docs
Client SDK for https://opentelemetry.io

Install

dune-project
 Dependency

Authors

Maintainers

Sources

opentelemetry-0.92.tbz
sha256=b635c486d1333cbb7276cc0075d5e01b017d4b37bd5941377ee1be07dfa25a45
sha512=2a19bf4e371ed2751e018c734ead2fd130d378ef0e018cda7b4aa3048af3e0db771fbd78d936199b34164950454bce0f3cb6211455e3647f7b7a85f4649bb22c

doc/src/opentelemetry-client.lwt/util_ticker.ml.html

Source file util_ticker.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
open Lwt.Syntax

(** Lwt task that calls [tick()] regularly, to help enforce timeouts.
    @param frequency_s how often in seconds does the tick tock? *)
let start_ticker_thread ?(finally = ignore) ~(stop : bool Atomic.t)
    ~(frequency_s : float) ~(tick : unit -> unit) () : unit =
  let frequency_s = max frequency_s 0.5 in
  let rec tick_loop () =
    if Atomic.get stop then (
      finally ();
      Lwt.return ()
    ) else
      let* () = Lwt_unix.sleep frequency_s in
      tick ();
      tick_loop ()
  in
  Lwt.async tick_loop