package trace-tef
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
A simple backend for trace, emitting Catapult/TEF JSON into a file
Install
dune-project
Dependency
Authors
Maintainers
Sources
trace-0.10.tbz
sha256=c5a43827bbd5521e779c8856e44f4c718dccda902d00a242b598516110ada04d
sha512=f19cb25a767ed428cb1d4a497312267524bfaaf9550caa5fc1e84809494f0b7eaf26030d95563c75dea66606fcbec1be7e34baa4cba86fc57d64bc5d5b98efd5
doc/CHANGES.html
0.10
- breaking: manual spans now take a
explicit_span_ctxas parent, that can potentially be transmitted across processes/machines. It also is intended to be more compatible with OTEL. - breaking
trace.subscriber: timestamps areint64ns now, not floats - breaking
trace: pass astringtrace_id in manual spans, which helps for backends such as opentelemetry. It's also useful for extensions. - refactor
trace-fuchsia: full revamp of the library, modularized, using subscriber API - refactor
trace-tef: split into exporter,writer,subscriber, using subscriber API - feat: add
trace.event, useful for background threads - feat
trace.subscriber: addSpan_tbl, and a depopt on picos_aux - feat
trace.subscriber: tee a whole array at once - feat tef-tldrs: use EMIT_TEF_AT_EXIT
- feat
trace.subscriber: depopt on unix for timestamps - refactor
trace-tef: depopt on unix for TEF timestamps
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.subscriberinstead of a separate library - add
trace-tef.tldrs, to trace multiple processes easily (with external rust daemon) - breaking:
trace-tef: usemtime.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 tologslevels, to help control verbosity. - add hmap as a depopt (#28)
- fix: truncate large strings in fuchsia
0.6
add
ppx_tracefor easier instrumentation.let%trace span = "foo" in …will enter a scopespannamed "foo"let%trace () = "foo" in …will enter a scope named "foo" with a hidden name
- add
trace-fuchsiabackend, 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
?datatocounter_intandcounter_float - add
floatto user data - add
add_data_to_current_spanandadd_data_to_manual_span - make
explicit_span.metamutable - trace-tef: write to
trace.jsonif env variableTRACEis 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
Tracemodule by adding sublibrarytrace.core. Programs that usecompiler-libs.toplevelshould usetrace.coredirectly, because usingtracewill 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
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>