linol/trace/_doc-dir/CHANGES.md
2024-05-08 15:15:46 +00:00

53 lines
1.8 KiB
Markdown

# 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](https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format).
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