package trace-fuchsia

  1. Overview
  2. Docs
A high-performance backend for trace, emitting a Fuchsia trace into a file

Install

Dune Dependency

Authors

Maintainers

Sources

trace-0.9.1.tbz
sha256=9739d5f46becb407e96943f4f0d6d0919e03c14299ab9c2ddbb8d46b6f7a3ea4
sha512=500230dedc834cbb8535a1624408c2f0e67683bacef5e4a55b7639c4013f6247d3aa4cbc56b61810d0138f736c1245b6b334bd3991c2e86d03faee47b729c547

doc/CHANGES.html

0.9.1

  • fix: upper bound on ppxlib
  • feat trace-tef: print names of non-closed spans upon exit
  • fix: block signals in background threads

0.9

  • add an extensible sum type, so users can implement custom events. For example an OTEL collector can provide custom events to link two spans to one another.

0.8

  • add trace.subscriber instead of a separate library
  • add trace-tef.tldrs, to trace multiple processes easily (with external rust daemon)
  • breaking: trace-tef: use mtime.now, not a counter, for multiproc
  • trace-fuchsia: require thread-local-storage 0.2

0.7

  • feat: add levels to Trace_core. Levels are similar to logs levels, to help control verbosity.
  • add hmap as a depopt (#28)
  • fix: truncate large strings in fuchsia

0.6

  • add ppx_trace for easier instrumentation.

    • let%trace span = "foo" in … will enter a scope span named "foo"
    • let%trace () = "foo" in … will enter a scope named "foo" with a hidden name
  • add trace-fuchsia backend, which produces traces in the binary format of fuchsia. These traces are reasonably efficient to produce (~60ns per span on my machines) and reasonably compact on disk, at least compared to the TEF backend.

0.5

  • perf: reduce overhead in trace-tef
  • perf: add Mpsc_queue, adapted from picos, to trace-tef

0.4

  • add ?data to counter_int and counter_float
  • add float to user data
  • add add_data_to_current_span and add_data_to_manual_span
  • make explicit_span.meta mutable
  • trace-tef: write to trace.json if env variable TRACE is either 1 or true
  • trace-tef: emit function name, if provided, as a metadata key/value pair
  • re-export trace.core in trace
  • perf: in trace-tef, use broadcast instead of signal in the job queue

0.3

  • add explicit spans, for more precise tracing
  • rename repo to ocaml-trace
  • trace-tef: add a ticker thread to ensure we flush the file regularly

0.2

  • trace-tef: additional argument to with_setup; env for "stdout"/"stderr"
  • refactor: avoid conflicting with stdlib Trace module by adding sublibrary trace.core. Programs that use compiler-libs.toplevel should use trace.core directly, because using trace will cause linking errors.
  • perf(trace-tef): improve behavior of collector under contention by pulling all events at once in the worker

0.1

initial release

OCaml

Innovation. Community. Security.