Commit graph

692 commits

Author SHA1 Message Date
Simon Cruanes
281e8b3ea7
feat lib/tracer: restore with_ and with_thunk_and_finally !! 2025-12-04 14:33:39 -05:00
Simon Cruanes
8d9f21da2c
migrate a few more things to lib/ from core/ 2025-12-04 14:25:46 -05:00
Simon Cruanes
0a69040bae
feat trace: make it compile again, no TLS, no magic strings, pass exporter 2025-12-04 14:17:03 -05:00
Simon Cruanes
0b73b2fac9
feat lib: dynamic forward to main; improve Main_exporter 2025-12-04 14:16:32 -05:00
Simon Cruanes
ab0f3a98ba
feat exporter: split tick/on_tick again 2025-12-04 14:16:08 -05:00
Simon Cruanes
1ff56c60bf
perf: optimize {Trace,Span}_id.is_zero 2025-12-04 12:08:01 -05:00
Simon Cruanes
8b6c0a2a70
fix warning 2025-12-04 12:07:52 -05:00
Simon Cruanes
ab4246d686
feat client: add exporter_stdout 2025-12-04 11:30:49 -05:00
Simon Cruanes
baf25c07ee
move interval_limiter to src/client 2025-12-04 11:30:38 -05:00
Simon Cruanes
6c59585227
feat: tracer, logger, etc are regular emitters now 2025-12-04 10:57:32 -05:00
Simon Cruanes
2a08d62c13
update exporters and emitter combinators in client 2025-12-04 10:57:02 -05:00
Simon Cruanes
cded07d90a
feat core: add Any_signal.t; make Exporter a record of emitters 2025-12-04 10:56:30 -05:00
Simon Cruanes
57b790d2d2
emitter: add enabled() field, and tap 2025-12-04 10:56:04 -05:00
Simon Cruanes
2a798098c5
wip: various fixes 2025-12-04 10:18:18 -05:00
Simon Cruanes
07e17d9682
feat lib: expose Ambient_span 2025-12-04 10:18:07 -05:00
Simon Cruanes
242370f94d
wip: trace 2025-12-04 10:18:03 -05:00
Simon Cruanes
aa96be2e0f
fix rand_bytes: init at least the local domain's Rand state 2025-12-04 10:17:20 -05:00
Simon Cruanes
bb6d83483c
client: add sampler; batch and sampler are now emitter transformers 2025-12-04 10:16:55 -05:00
Simon Cruanes
755e24a1e8
feat emitter: better docs, add a to_list emitter 2025-12-04 10:07:29 -05:00
Simon Cruanes
e9fafd431a
split core library into opentelemetry.core and opentelemetry 2025-12-04 09:31:06 -05:00
Simon Cruanes
a56cd5c073
chore: makefile 2025-12-04 01:08:09 -05:00
Simon Cruanes
2dc836b7b4
fixes after we removed Scope 2025-12-04 01:07:50 -05:00
Simon Cruanes
e29ec44561
fix self_trace 2025-12-04 01:07:41 -05:00
Simon Cruanes
c009b1d20a
WIP trace (hiiii) 2025-12-04 01:07:26 -05:00
Simon Cruanes
5bc7365e56
wip: opentelemetry.emitter with same time
a bit like a buffered writer for any data
2025-12-04 01:06:52 -05:00
Simon Cruanes
f8ec859f8b
refactor core 2025-12-04 01:06:42 -05:00
Simon Cruanes
c05c7e2bfc
feat span: ambient span 2025-12-04 00:24:42 -05:00
Simon Cruanes
c5b2269aab
refactor thoroughly ambient-context
we have a new explicit `Storage.t` interface, that can be used to
get a `Context.t` (a hmap) and to locally swap it; then we have multiple
implementations of the Storage; and then we have a singleton atomic
containing the "main" storage.
2025-12-04 00:23:23 -05:00
Simon Cruanes
d52345c3a8
wip: refactor 2025-12-03 16:07:14 -05:00
Simon Cruanes
f0cd1ad375
perf: avoid building closures in Signal 2025-12-03 16:06:50 -05:00
Simon Cruanes
0054671b0b
wip: trace 2025-12-03 16:06:43 -05:00
Simon Cruanes
9eaf31ec90
refator core OTEL: remove Scope, directly use Span as builder
now that fields are mutable, it's cheaper and easier
2025-12-03 16:06:20 -05:00
Simon Cruanes
d856e1d33d
fix client-ocurl-lwt to use the new exporter interface 2025-12-03 15:36:29 -05:00
Simon Cruanes
15cda06ea0
feat: use a pbrt encoder pool in client-ocurl 2025-12-03 15:36:10 -05:00
Simon Cruanes
7020148d44
feat client-ocurl: use common batch and queue; remove layer of queueing
now we modify batches on the fly when we send signals; but there
still is a thread pool to send signals via HTTP.
2025-12-03 15:09:10 -05:00
Simon Cruanes
5c3c03cdd8
feat client: various changes 2025-12-03 15:08:40 -05:00
Simon Cruanes
05034d978a
feat OTEL: move some stuff to client or util; rate limit GC metrics 2025-12-03 15:08:14 -05:00
Simon Cruanes
15a5243b6b
more utils 2025-12-03 15:08:06 -05:00
Simon Cruanes
2752eb710d
feat: opentelemetry.util with various utilities 2025-12-03 13:59:00 -05:00
Simon Cruanes
29fa482b79
feat integration/logs: update paths 2025-12-03 13:29:12 -05:00
Simon Cruanes
59be0f625b
client: add debug_exporter, stdout_exporter, resource helpers 2025-12-03 13:28:50 -05:00
Simon Cruanes
5d91e92ffa
update opentelemetry_trace just a bit 2025-12-03 13:28:25 -05:00
Simon Cruanes
4c69b28d03
gitignore 2025-12-03 13:28:12 -05:00
Simon Cruanes
c1b27980f2
large refactor: split core library into many modules; change API design
follow more closely the official OTEL recommendations, and also try
to reduce global state.

- use a class type for `Exporter.t` (instead of 1st class module `backend`)
- have tracer, logger, metrics_emitter as explicit objects
- keep a `Main_exporter` to make migration easier, but discouraged
- add stdout_exporter and debug_exporter to opentelemetry.client
2025-12-03 13:23:58 -05:00
Simon Cruanes
3182064dd2
update opam constraints for pbrt 2025-12-01 20:33:59 -05:00
Simon Cruanes
4b91971b51
more test output 2025-12-01 20:32:05 -05:00
Simon Cruanes
7839ba97e6
test 2025-12-01 20:32:05 -05:00
Simon Cruanes
d2478f1f82
update test output 2025-12-01 20:32:05 -05:00
Simon Cruanes
2544493b35
fix nix sha256 2025-12-01 20:32:05 -05:00
Simon Cruanes
ba1a8eec98
update protobuf code 2025-12-01 20:32:05 -05:00