Commit graph

832 commits

Author SHA1 Message Date
Simon Cruanes
dc21341d92
try to fix compat with versions of cohttp
it seems like now IO is a required component of Cohttp_lwt.S.Client, so
now we should include parameter `C` so that it just contains whatever
the client has, minus the functions we change.
2026-01-20 00:15:28 -05:00
Simon Cruanes
581590abcc
fix build 2026-01-20 00:15:28 -05:00
Simon Cruanes
a2cee3d397
fix 2026-01-20 00:15:28 -05:00
Simon Cruanes
ca6482085d
try to fix CI 2026-01-20 00:15:28 -05:00
Simon Cruanes
f5a13a1248
debug 2026-01-20 00:15:28 -05:00
Simon Cruanes
6ddfe1715a
more e2e tests, including cohttp_lwt 2026-01-20 00:15:27 -05:00
Simon Cruanes
d3559015df
emit1_cohttp: more options, more debug 2026-01-20 00:15:27 -05:00
Simon Cruanes
b4b864a0b6
fix otel-lwt: logic for tracer.with_ was invalid
sometimes spans would be dropped!
2026-01-20 00:15:27 -05:00
Simon Cruanes
3b6e239c17
debug 2026-01-20 00:15:27 -05:00
Simon Cruanes
f8269ed1c8
the test library was wrong!!!
turns out, find_map is the wrong operation when resources object
actually contain more than one item.
2026-01-20 00:15:27 -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
5596552379
wip: fix the e2e tests
not clear exactly why there is a discrepancy currently whenever -j is
higher than 1
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
46960e2021
otel-cohttp-lwt: simplify cleanup 2026-01-20 00:15:26 -05:00
Simon Cruanes
c9f5a27b22
test binaries: updates 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
62cd8c0cd2
disable warning 58
sometimes it's ok to not have a .cmx, I promise
2026-01-20 00:15:26 -05:00
Simon Cruanes
1853fa7585
fix some tests 2026-01-20 00:15:26 -05:00
Simon Cruanes
dc99897e87
improvements in clients
after all the refactoring
2026-01-20 00:15:26 -05:00
Simon Cruanes
3c08842e2d
fixes and cleanup in cohttp-eio client 2026-01-20 00:15:26 -05:00
Simon Cruanes
05ad0421db
timestamp_ns.pp_debug: use full RFC3339 to print timestamps
it's easier to copy/paste or post-process, it's still very readable, and
you can see the microseconds.
2026-01-20 00:15:26 -05:00
Simon Cruanes
14cd25d289
fix in otel-lwt related to termination
Main_exporter.remove needs to actually shutdown the exporter, not just
create a promise that resolves when it's shutdown another way
2026-01-20 00:15:26 -05:00
Simon Cruanes
bef4bd88b2
use Clock.ptime_clock where it makes sense 2026-01-20 00:15:25 -05:00
Simon Cruanes
43cd3aa230
merge back ptime clock into Clock, make it default
we already depend on ptime in the same package and it's not a big cost.
2026-01-20 00:15:25 -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
ec584b4829
update otel trace 2026-01-20 00:15:25 -05:00
Simon Cruanes
dd2fe8fc52
add opentelemetry_ptime with a clock 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
061d2adc68
more dune files 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
34429ea69f
implicit trans deps=false 2026-01-20 00:15:24 -05:00
Simon Cruanes
f2635cce68
move timestamp to util 2026-01-20 00:15:24 -05:00
Simon Cruanes
a3e1fcc362
add clock 2026-01-20 00:15:24 -05:00
Simon Cruanes
a954deb46d
refactor opentelemetry.trace to cleanly separate trace spans from OTEL spans
- trace spans: counter based, local, meant to be handles
- OTEL spans: 8B random blobs, meant to be used in a distributed context
2026-01-20 00:15:24 -05:00
Simon Cruanes
b4c8803931
fix tests after renaming Http_config 2026-01-20 00:15:24 -05:00
Simon Cruanes
03c687b8b3
chore: update makefile to add doc targets 2026-01-20 00:15:24 -05:00
Simon Cruanes
09e4620603
rename Client_config to Http_config
more accurate, really.
2026-01-20 00:15:24 -05:00
Simon Cruanes
dfb0befab0
perf: little optim in opentelemetry_trace 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
9e1165918a
compat with older OCaml 2026-01-20 00:15:24 -05:00
Simon Cruanes
0d34f9de4d
feat trace: move to regular Otrace.span for extensions 2026-01-20 00:15:23 -05:00
Simon Cruanes
fe8316d1e8
add picos backend to ambient-context 2026-01-20 00:15:23 -05:00
Simon Cruanes
30175db1ed
feat trace: add set_span_status 2026-01-20 00:15:23 -05:00
Simon Cruanes
a2a7a6cf1e
re-export in dune 2026-01-20 00:15:23 -05:00
Simon Cruanes
18226a63a4
add Span.dummy 2026-01-20 00:15:23 -05:00
Simon Cruanes
30baf3491c
use an interval limiter for the metrics_callbacks 2026-01-20 00:15:23 -05:00