Commit graph

166 commits

Author SHA1 Message Date
Simon Cruanes
d2d5b33751
add Emitter_limit_interval 2026-01-20 00:15:30 -05:00
Simon Cruanes
008ae6ddfd
add Emitter_add_batching to client library
fronting an emitter with a batch belongs in its own module
2026-01-20 00:15:29 -05:00
Simon Cruanes
07d8357cfb
docs 2026-01-20 00:15:29 -05:00
Simon Cruanes
cdd1289c1d
compat 4.08 2026-01-20 00:15:29 -05:00
Simon Cruanes
2d19ae2c46
compat with 4.08 2026-01-20 00:15:29 -05:00
Simon Cruanes
ae92077389
more docs 2026-01-20 00:15:29 -05:00
Simon Cruanes
5622d81ae7
test: change port for test_logs_e2e
otherwise sometimes it clashes with the ocurl client test
2026-01-20 00:15:28 -05:00
Simon Cruanes
d9362ae788
feat: add runtime/otel-specific name and version modifiable
this way we can mock them in tests, but we can also change the name
"ocaml-otel" to something else, e.g. if we have specific conventions.
2026-01-20 00:15:28 -05:00
Simon Cruanes
f5a13a1248
debug 2026-01-20 00:15:28 -05:00
Simon Cruanes
95e8c78ff8
merge any_signal/signal into resource_signal, dedup
we had duplication there! my bad.
2026-01-20 00:15:27 -05:00
Simon Cruanes
3dfbd14508
doc 2026-01-20 00:15:27 -05:00
Simon Cruanes
bf7eaa97bd
setup ambient context in lwt/eio client setups 2026-01-20 00:15:27 -05:00
Simon Cruanes
942a56c879
use mutex again to protect rand_bytes state
shard over 8 distinct random generators, though.
2026-01-20 00:15:26 -05:00
Simon Cruanes
e01a2f773b
use the correct clock in logger/metrics; use ptime_clock as default 2026-01-20 00:15:26 -05:00
Simon Cruanes
e4177c2843
client: split opentelemetry-client.sync off of main client library
that's the place for the synchronous primitives.
2026-01-20 00:15:26 -05:00
Simon Cruanes
e2c4a4e680
tracer/logger/metrics_emitter now pair emitter and clock
- clock is needed because timestamps need to be provided now
- explicit types are good anyway
- have at least one helper to emit the signal with optional
tracer/logger/metrics_emitter
- easier logger with `log` and `logf`
2026-01-20 00:15:25 -05:00
Simon Cruanes
092b9a5d2e
have a clock in exporter, pass a mtime in tick 2026-01-20 00:15:25 -05:00
Simon Cruanes
e4063e082e
batch: change ~now to ~mtime 2026-01-20 00:15:25 -05:00
Simon Cruanes
57a915e880
chore: update dune files after implicit_trans_deps=false 2026-01-20 00:15:25 -05:00
Simon Cruanes
09e4620603
rename Client_config to Http_config
more accurate, really.
2026-01-20 00:15:24 -05:00
Simon Cruanes
26bc862940
change default batch size for metrics 2026-01-20 00:15:24 -05:00
Simon Cruanes
a6bf8171bb
better semantic conventions for self tracing; bounded_queue.high_watermark 2026-01-20 00:15:23 -05:00
Simon Cruanes
ed69b89bf1
more self tracing 2026-01-20 00:15:23 -05:00
Simon Cruanes
212ff39d0b
doc 2026-01-20 00:15:23 -05:00
Simon Cruanes
e3c4b6fa3a
rename self-tracing metrics 2026-01-20 00:15:22 -05:00
Simon Cruanes
650f4c554f
fix warnings 2026-01-20 00:15:22 -05:00
Simon Cruanes
41e650d461
perf batch: try to improve hotpath
in particular, no need to look at the clock when checking if the batch
is full
2026-01-20 00:15:22 -05:00
Simon Cruanes
370c2a78d0
move Util_mutex to client 2026-01-20 00:15:22 -05:00
Simon Cruanes
a0738e59c2
fix warning 2026-01-20 00:15:22 -05:00
Simon Cruanes
fda87007a8
generic consumer: sanity check on queue size 2026-01-20 00:15:22 -05:00
Simon Cruanes
239d9d5aec
feat exporter: add self_metrics 2026-01-20 00:15:21 -05:00
Simon Cruanes
2d8939ab0a
fix batch: make sure high_watermark>=batch, also put a max on batch size 2026-01-20 00:15:21 -05:00
Simon Cruanes
631f7cd01a
refactor, remove debug print 2026-01-20 00:15:21 -05:00
Simon Cruanes
374a67c97a
fix bounded queue: try_pop should drain a closed queue 2026-01-20 00:15:21 -05:00
Simon Cruanes
0eb27174f0
fix batch: default high watermark was wrong 2026-01-20 00:15:21 -05:00
Simon Cruanes
173131ce84
warnings 2026-01-20 00:15:21 -05:00
Simon Cruanes
d7da4c4443
feat client: overhaul of bounded queue; generic_consumer 2026-01-20 00:15:20 -05:00
Simon Cruanes
e3c6c41a0d
wip: bugfixing 2026-01-20 00:15:20 -05:00
Simon Cruanes
15268270df
client: start heavily refactoring to use Aswitch, also fix bugs 2026-01-20 00:15:20 -05:00
Simon Cruanes
61f17fa6ce
better exporter/emitter combinators; better cleanup (now shutdown) 2026-01-20 00:15:19 -05:00
Simon Cruanes
25afa2085c
feat batch: proper closing of wrap_emitter; default batch=100 2026-01-20 00:15:19 -05:00
Simon Cruanes
eeae5bf41c
perf batch: proper backoff strategy 2026-01-20 00:15:19 -05:00
Simon Cruanes
abe022dbc0
feat batch: get rid of Mutex
this should result in lower overhead for single threaded situations such
as lwt or eio.
2026-01-20 00:15:19 -05:00
Simon Cruanes
3a52b1642f
fix warnings 2026-01-20 00:15:19 -05:00
Simon Cruanes
5daef6873b
client config: improve printer 2026-01-20 00:15:18 -05:00
Simon Cruanes
ee40e445d1
fix notifier_sync 2026-01-20 00:15:18 -05:00
Simon Cruanes
6eeb0b9b08
todo 2026-01-20 00:15:17 -05:00
Simon Cruanes
e0ff144248
move Util_thread.MCond to Notifier_sync 2026-01-20 00:15:17 -05:00
Simon Cruanes
cd4eb06ca6
improve notifier_lwt 2026-01-20 00:15:17 -05:00
Simon Cruanes
f1437a842f
feat client: generic consumer, notifier, etc. 2026-01-20 00:15:17 -05:00