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
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
ba1a8eec98
update protobuf code
2025-12-01 20:32:05 -05:00
Simon Cruanes
5400f521a9
update generated code
2025-12-01 20:32:05 -05:00
Simon Cruanes
d4b44244d7
update generated code again, repeated fields are optional again
2025-12-01 20:32:05 -05:00
Simon Cruanes
8290b9bd81
fix warnings
2025-12-01 20:32:04 -05:00
Simon Cruanes
41d8b0c1a4
fix
2025-12-01 20:32:04 -05:00
Simon Cruanes
51f783a578
udpate generated proto code
2025-12-01 20:32:04 -05:00
Simon Cruanes
a35ea4c646
fixes
2025-12-01 20:32:03 -05:00
Simon Cruanes
0f1452e01e
update generated code
2025-12-01 20:32:03 -05:00
Simon Cruanes
f000c11406
update the emit test so it records how many bytes were emitted
2025-12-01 20:32:03 -05:00
Simon Cruanes
bf09b58a63
update generated protobuf code
2025-12-01 20:32:03 -05:00
Simon Cruanes
ee8542ea0e
fix warning
2025-12-01 17:49:53 -05:00
Simon Cruanes
a3b4852b89
Merge pull request #111 from tatchi/tatchi/ocurl-lwt
...
add opentelemetry-client-ocurl-lwt
2025-12-01 17:33:54 -05:00
Simon Cruanes
e31f5f6aba
refactor: move the Mutex.protect backport into Util_mutex
2025-11-19 12:20:13 -05:00
ajbt200128
3fbac32822
fix: mutex usage and inline bugs
2025-11-12 14:27:36 -08:00
Simon Cruanes
507bf25dcf
Merge pull request #109 from tatchi/fmt
...
fmt
2025-11-10 12:49:33 -05:00
Simon Cruanes
883d1bc4e5
Merge pull request #110 from tatchi/since-012
...
add correct release version in comment
2025-11-10 09:34:08 -05:00
Corentin Leruth
78dfbffe13
fix comment
2025-11-10 09:20:38 -05:00
Corentin Leruth
950d5922a1
add correct release version in comment
2025-11-08 12:49:52 +01:00
Corentin Leruth
42e41675b5
fmt
2025-11-08 12:43:21 +01:00
Corentin Leruth
f21c16697d
add opentelemetry-client-ocurl-lwt
2025-11-08 12:42:21 +01:00
Simon Cruanes
b2ef68536d
feat cohttp: set 'accept' header as well
2025-09-15 12:25:04 -04:00
Simon Cruanes
8eda0730e9
remove dead code
2025-09-08 12:24:49 -04:00
Simon Cruanes
b778ffdac3
reduce allocations in push
2025-09-08 08:09:05 -04:00
Simon Cruanes
026465f770
reduce size of critical section
...
better to reverse the list without holding the lock,
as it allocates and might have to yield to another thread
or domain, pause, etc.
2025-09-08 08:08:29 -04:00
Simon Cruanes
76efa381c3
comments
2025-09-08 08:08:18 -04:00
Shon Feder
8a8299020a
Make Batch actually be thread safe
2025-09-07 23:26:20 -04:00
Shon Feder
474d43bdad
Use domain ID instead of thread ID in Eio collector
...
Eio programs are not generally expected to use threads for concurrency,
but they may well use different domains which we'd want to track during
debugging.
2025-09-07 23:25:25 -04:00
Simon Cruanes
fa610ed535
Update src/core/opentelemetry.ml
2025-09-02 15:08:22 -04:00
Shon Feder
54b62af1a2
Check for on_click registration exactly once
2025-09-02 15:00:11 -04:00
Shon Feder
93803581b7
fix: make metric callbacks atomic
...
The use of a non-threadsafe mutable reference for the metrics callbacks
was resulting in a race condition that would sometimes produce
non-deterministic results in the integration tests.
This has not affected the lwt-based collector, because of the single
threaded concurrency Lwt enforces, but it began to show up in the WIP
Eio rewrite, for which I am testing on cross-domain programs.
I suspect this may have also bee affecting the ocurl collector, but we
don't have integration test running on that yet.
2025-09-02 14:41:26 -04:00