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
Simon Cruanes
0c275b3aab
use at_exit in trace_tef/tldrs
2025-09-15 09:11:09 -04:00
Simon Cruanes
a81785f8c0
fix fuchsia: bound check
2025-07-26 01:20:40 -04:00
Simon Cruanes
d9cd7621f5
prepare for 0.10
2025-05-27 09:58:19 -04:00
Simon Cruanes
cd5785d938
format
2025-05-27 09:54:58 -04:00
Simon Cruanes
6853fa50f3
docs
2025-05-27 09:54:43 -04:00
Simon Cruanes
ba40156f22
chore: addd a tag to the opam package
2025-05-13 09:09:38 -04:00
Simon Cruanes
e6b17c5536
Merge pull request #36 from c-cube/simon/fuchsia-via-subscriber-2025-05-02
...
full refactoring of TEF and fuchsia backends
2025-05-08 09:44:58 -04:00
Simon Cruanes
d1759fea89
fix for 4.08
2025-05-07 22:32:29 -04:00
Simon Cruanes
4098e88c68
CI
2025-05-07 21:52:25 -04:00
Simon Cruanes
c3bd2f92a8
fix bench
2025-05-07 20:41:48 -04:00
Simon Cruanes
d7f0aff406
cleaner tracing errors
2025-05-07 17:19:47 -04:00
Simon Cruanes
86e65d2046
test: update and improve fuchsia tests
2025-05-07 17:19:47 -04:00
Simon Cruanes
7acc1b930f
detail
2025-05-07 15:35:11 -04:00
Simon Cruanes
190f70d7c9
feat fuchsia: full revamp of the library, modularized
...
- separate exporter, writer, subscriber
- use the subscriber span tbl to keep track of context
- use a `Buf_chain.t` to keep multiple buffers in use,
and keep a set of ready buffers
- batch write the ready buffers and then recycle them
2025-05-07 15:33:34 -04:00
Simon Cruanes
a4779227fa
add .mli for rpool
2025-05-07 13:15:37 -04:00