Simon Cruanes
2e4971d23d
chore: we don't actually depend on atomic
2023-12-26 21:27:31 -05:00
Simon Cruanes
c2551a7e4b
fix warning
2023-12-26 21:21:23 -05:00
Simon Cruanes
ca22f07ca3
fix fuchsia: proper implem for setting thread name
2023-12-26 21:20:43 -05:00
Simon Cruanes
56d3117d06
do not drop events still in buffers at exit
2023-12-26 01:14:14 -05:00
Simon Cruanes
713cf6b4cf
fuchsia: metadata events
2023-12-26 00:56:49 -05:00
Simon Cruanes
68d3969cde
good progress on fuchsia collector
2023-12-25 22:52:50 -05:00
Simon Cruanes
9567c1b4a7
ppx: add let%trace <span var> = "name" in …
...
this allows the user to access the span within the scope.
2023-12-25 22:38:22 -05:00
Simon Cruanes
6eced76971
fuchsia: fixes (size is in words, not bytes)
2023-12-25 18:56:46 -05:00
Simon Cruanes
00caf6aad5
wip: collector for the fuchsia trace format
2023-12-25 16:52:22 -05:00
Simon Cruanes
7f9370e842
refactor: split some parts of trace-tef into trace.private.util
2023-12-25 16:51:52 -05:00
Simon Cruanes
bb520d90b5
ppx: make sure to reconstruct backtraces
2023-12-22 21:38:31 -05:00
Simon Cruanes
b1ccd58040
try to avoid capture
2023-12-22 21:33:30 -05:00
Simon Cruanes
8ce25c2815
add ppx_trace
2023-12-22 21:24:53 -05:00
Simon Cruanes
b387729081
share code for implicit spans
2023-12-22 20:15:25 -05:00
Simon Cruanes
ef15941936
functions to enter/exit implicit spans
2023-12-22 20:10:58 -05:00
Simon Cruanes
756ea1d22c
refactor: avoid some deadlocks in trace-tef
2023-12-07 16:16:07 -05:00
Simon Cruanes
079949d139
tef: emit last message when worker exits
2023-12-07 16:16:07 -05:00
Simon Cruanes
317509681e
trace-tef: simplify code
2023-12-06 20:51:35 -05:00
Simon Cruanes
c16666d214
perf: reduce overhead in trace-tef
...
we call onto the channel functions less, because they
involve locking. Instead we do all writes into a (reused) buffer
and write it all at once at the end.
2023-12-05 14:52:40 -05:00
Simon Cruanes
0e198c8059
compat < 5.0
2023-11-28 14:31:16 -05:00
Simon Cruanes
67bc11b4d3
fix for 4.08
2023-11-28 14:31:16 -05:00
Simon Cruanes
c82fb362e8
trace-tef: add Mpsc_queue, adapted from picos; use it in trace_tef
2023-11-28 14:31:16 -05:00
Simon Cruanes
f3ae3397de
fix docs
2023-10-11 13:29:37 -04:00
Simon Cruanes
0135a613a9
add ?data to counter_int and counter_float
...
this makes sense to add metadata in, say, opentelemetry
2023-09-16 21:29:01 -04:00
Simon Cruanes
ba9d3d3d20
small refactor
2023-09-15 10:01:20 -04:00
Simon Cruanes
572f2848c8
add float to user data
2023-09-15 10:01:20 -04:00
Simon Cruanes
431811c995
rename add_data_to_current_span; give it span explicitly
2023-09-13 14:43:16 -04:00
Simon Cruanes
e0fe99f500
rename add_data to add_data_to_current_span
2023-09-06 09:50:54 -04:00
Simon Cruanes
4fc81d4ca2
tef: carry additional data for manual spans in the explicit_span's map
...
the span opening has been emitted already, so we'll emit the metadata at
exit time. We don't need side storage since we already have a hmap.
2023-08-30 20:24:17 -04:00
Simon Cruanes
567386908e
make explicit_span.meta mutable
2023-08-30 20:23:54 -04:00
Simon Cruanes
5d04850997
update doc
...
Co-authored-by: ELLIOTTCABLE <github.com@from.ec>
2023-08-30 20:23:54 -04:00
Simon Cruanes
4306a635f3
Update src/core/collector.ml
...
Co-authored-by: ELLIOTTCABLE <github.com@from.ec>
2023-08-30 20:23:53 -04:00
Simon Cruanes
8a4309b95e
adapt trace-tef to handle adding data after creating span
2023-08-30 20:23:52 -04:00
Simon Cruanes
4137985d69
make add_data implicit (no span argument)
2023-08-30 20:23:52 -04:00
Simon Cruanes
c683f6331b
add add_data_to_span and add_data_to_explicit_span
2023-08-30 20:23:51 -04:00
Simon Cruanes
20e2bf2f87
tef: docs and small refactor
2023-08-30 08:31:50 -04:00
Simon Cruanes
b467678040
feat tef: write to trace.json if TRACE is either 1 or true
2023-08-30 08:31:49 -04:00
Corentin Leruth
fc5b243df5
b_queue: use broadcast instead of signal
2023-08-29 22:37:54 -04:00
Corentin Leruth
efafd34a9e
b_queue: signal only if queue was empty
2023-08-23 20:42:16 -04:00
Simon Cruanes
96fb44e6bb
trace-tef: emit function name, if provided, as a metadata key/value pair
...
the key is "function". It is visible when selecting the span, typically.
2023-08-19 17:13:56 -04:00
Simon Cruanes
e194972613
re-export trace.core in trace
2023-08-19 16:53:06 -04:00
Simon Cruanes
91c9da3b66
prepare for 0.3
2023-08-09 00:29:24 -04:00
Simon Cruanes
0eb6a84982
feat: add ?flavor argument to manual spans.
2023-08-09 00:26:21 -04:00
Simon Cruanes
dc4037a14e
Update src/core/trace_core.mli
...
Co-authored-by: ELLIOTTCABLE <github.com@from.ec>
2023-08-09 00:26:21 -04:00
Simon Cruanes
1b5e827d65
fix inconsistency
2023-08-09 00:26:21 -04:00
Simon Cruanes
50b4691ab6
rename explicit span API
2023-08-09 00:26:21 -04:00
Simon Cruanes
4ca766166f
Update src/core/trace_core.mli
...
Co-authored-by: Corentin Leruth <corentin.leruth@gmail.com>
2023-08-09 00:26:21 -04:00
Simon Cruanes
a09a4fc69a
refactor collector API as well.
...
After long discussions with @ELLIOTTCABLE, the collector should only
provide a `with_`-like function for regular spans. This allows
each concurrency library to use its native mechanism for local storage,
which is almost always based on such a scope function.
2023-08-09 00:26:21 -04:00
Simon Cruanes
b44e2f2923
Add explicit spans, for async tracing.
...
These spans require the user to pass the surrounding span, if any, when
entering a new span. They use the information inside (which is collector
specific) to track what asynchronous task is currently being executed.
Wrappers around `trace`, specific to an async library (e.g. Eio, lwt,
Async, etc.) can then smooth this over by providing a `with_async_span`
construct that uses some implicit contextual storage to carry the
`surrounding` scope around.
2023-08-09 00:26:21 -04:00
Simon Cruanes
ac57085d33
doc
2023-08-09 00:26:21 -04:00