Commit graph

273 commits

Author SHA1 Message Date
Simon Cruanes
44f87bdd6b
trace: remove meta_map, not used anymore 2026-01-17 22:39:25 -05:00
Simon Cruanes
12cdccb842
test belongs in trace-tef 2026-01-17 21:13:57 -05:00
Simon Cruanes
ea59d09635
track spans: sort resulting list of unclosed spans 2026-01-17 21:13:49 -05:00
Simon Cruanes
eb4abf2966
compat fix 2026-01-17 21:06:48 -05:00
Simon Cruanes
bb78e9babb
small test for span tracking 2026-01-17 20:54:37 -05:00
Simon Cruanes
f88cd7651c
trace-tef: ?debug option to track spans 2026-01-17 20:54:07 -05:00
Simon Cruanes
254c7e0af9
better, simpler, no fuss trace.debug
we can track names and allocate span IDs ourselves by just wrapping the
underlying collector's spans.
2026-01-17 20:53:58 -05:00
Simon Cruanes
67b3deb191
add Trace.with_setup_collector 2026-01-17 20:53:12 -05:00
Simon Cruanes
dd432c4586
add trace.debug to find what spans were not closed on exit 2026-01-17 10:42:59 -05:00
Simon Cruanes
e98c11c9e0
remove dead code and on_tracing_error 2026-01-17 10:42:45 -05:00
Simon Cruanes
40335815b3
update trace.opam a bit 2026-01-16 19:54:28 -05:00
Simon Cruanes
481b5a10b2
remove subscriber entirely 2026-01-16 19:50:50 -05:00
Simon Cruanes
4b4569f956
CI 2026-01-15 22:03:10 -05:00
Simon Cruanes
2bde0d155a
update test outputs 2026-01-15 20:53:40 -05:00
Simon Cruanes
f714482fe4
address warnings 2026-01-15 20:53:15 -05:00
Simon Cruanes
bf76b1f8eb
bench 2026-01-15 20:53:05 -05:00
Simon Cruanes
22d91d4f40
rewrite trace-fuchsia to work with new collector 2026-01-15 20:43:05 -05:00
Simon Cruanes
e2a942fedc
fix tef-tldrs 2026-01-15 20:42:51 -05:00
Simon Cruanes
dc37f68993
rewrite trace-tef so it returns the new collector 2026-01-15 20:42:45 -05:00
Simon Cruanes
7b0197e6c2
trace.util: add Unix_util and Mock_ 2026-01-15 20:42:29 -05:00
Simon Cruanes
85ef7f4587
trace.simple: a basic span type as illustration 2026-01-15 20:42:06 -05:00
Simon Cruanes
64936441ef
trace.util: add the thread and time utils, add multi_collector, add span_id64 and trace_id64
utils for collectors in general really.
2026-01-15 17:20:55 -05:00
Simon Cruanes
fc2fc49e94
remove subscriber library
it's basically similar to Trace_core.Collector at this point.
2026-01-15 17:20:17 -05:00
Simon Cruanes
66816040aa
core: remove current_span from collector
probably orthogonal, collectors can provide this optionally via
ambient-context if desired. doesn't need to be in the Trace_core
collector itself.
2026-01-15 17:19:49 -05:00
Simon Cruanes
0bd8868172
update test outputs 2026-01-14 22:47:08 -05:00
Simon Cruanes
4aee136827
make tests compile 2026-01-14 22:31:46 -05:00
Simon Cruanes
2a866e60f8
fix fuchsia and tef backends to use trace_id 2026-01-14 22:30:00 -05:00
Simon Cruanes
5b83834af5
subscriber: restore trace_id
we need it for async backends, clearly
2026-01-14 22:29:46 -05:00
Simon Cruanes
c89a031e43
core: enter_span takes an optional flavor
it's a core extension, it should be easy to use
2026-01-14 22:29:32 -05:00
Simon Cruanes
2cfb3c67fa
port fuchsia to new subscriber 2026-01-14 22:09:33 -05:00
Simon Cruanes
7389ca5b45
fix warning 2026-01-14 22:09:25 -05:00
Simon Cruanes
322e1d0f44
subscriber: make ~new_span_id mandatory
too easy to forget otherwise
2026-01-14 22:09:05 -05:00
Simon Cruanes
7a392e54d1
trace-tef: use new subscriber, no more global state 2026-01-14 21:56:09 -05:00
Simon Cruanes
a1837e402e
trace.subscriber: define custom span, simplify subscriber callbacks
- custom span carries around all the required data, including mutable
args
- no more manual enter/exit callbacks
- use record for callbacks
- no more big Span_tbl
2026-01-14 21:56:09 -05:00
Simon Cruanes
40b44349e7
core: add on_init callback to collector 2026-01-14 21:56:09 -05:00
Simon Cruanes
8e2bb5bc83
remove event for now 2026-01-14 21:27:33 -05:00
Simon Cruanes
5018a9ead7
refactor core library
much cleaner now, and simpler.

- `span` is an open sum type, so it can carry as much info as we want
from enter to exit. This means most collectors shouldn't even need a
global table for spans!
- merge manual spans and spans. It's just spans now. Keep old
Trace_core.xxx_manual_xxx functions but deprecate them
- add `extension_parameter` to carry additional info to collector (eg
OTEL span kind, TEF sync/async, maybe span links, etc)
- make the collector into a record of callbacks + a state, for
efficiency (but also to make it easier to extend in the future with
callbacks that have a default implementation
)
2026-01-14 20:29:33 -05:00
Vincent Bernardoff
1c9a869148 ppx: call Stdlib.Printexc
This is because some libraries, i.e. Janestreet Core, override the
Printexc module.
2026-01-10 08:20:55 -05:00
Simon Cruanes
5141d4bde4
style 2026-01-09 16:04:03 -05:00
Simon Cruanes
ef35cc1d79
Merge pull request #38 from c-cube/simon/fix-ppxlib-0.37
adapt to ppxlib 0.37
2025-12-12 08:54:29 -05:00
Simon Cruanes
3f21ea67ce
update deps to ppxlib=0.37~ 2025-12-09 12:24:52 -05:00
Simon Cruanes
0947d2d523
better error message 2025-12-09 12:24:52 -05:00
Simon Cruanes
b3da5bc41e
deal with Pexp_function 2025-12-09 12:24:48 -05:00
Simon Cruanes
9b4a3855fb
update test 2025-12-09 12:24:48 -05:00
Simon Cruanes
89eecf7ba3
breaking: use poly variants for user_data/span_flavor in subscriber
no need to do redundant conversions.
2025-12-04 12:39:03 -05:00
Simon Cruanes
aeb2aff3b7
breaking: require subscribers to provide mk_span/mk_trace_id
we want control over this!
2025-12-04 12:31:14 -05:00
Simon Cruanes
15edb582d0
fix: relax bound on ppxlib 2025-11-01 22:18:25 -04:00
Simon Cruanes
acae4ff88d
doc 2025-11-01 22:18:16 -04:00
Simon Cruanes
c2a1ee5904
format 2025-09-15 10:26:34 -04:00
Simon Cruanes
9a77dad2fd
chore: CI 2025-09-15 10:23:19 -04:00