Commit graph

566 commits

Author SHA1 Message Date
Simon Cruanes
e232ef8a23
prepare for 0.13 2026-03-05 14:42:59 -05:00
Simon Cruanes
4a2c5927a1 opentelemetry.trace: collector needn't arguments 2026-03-03 09:13:48 -05:00
Simon Cruanes
3f37dceb40 opentelemetry.trace: make sure to setup the ambient span provider
otherwise `Trace.with_span` will not update the current ambient span, or
use the previous one as parent
2026-03-03 09:13:48 -05:00
Simon Cruanes
b916a186a4 it's trace 0.12 now 2026-03-03 09:13:48 -05:00
Simon Cruanes
378a2ebbf8 compat on 4.08 2026-03-03 09:13:48 -05:00
Simon Cruanes
edc3932059 grrr cohttp and its signature breakages 2026-03-03 09:13:48 -05:00
Simon Cruanes
9cf2374930 bounds on cohttp-lwt 2026-03-03 09:13:48 -05:00
Simon Cruanes
4edac68be5 fix: move to ezcurl 0.3 2026-03-03 09:13:48 -05:00
Simon Cruanes
731cc79fcb CI 2026-03-03 09:13:48 -05:00
Simon Cruanes
9b62489ba5 CI 2026-03-03 09:13:48 -05:00
Simon Cruanes
6bcb3d77c5 CI 2026-03-03 09:13:48 -05:00
Simon Cruanes
cc9fdfad73 opentelemetry.trace: add ambient-span-provider using ambient-context 2026-03-03 09:13:48 -05:00
Simon Cruanes
c9093043e4 opentelemetry: add a hmap in Scope.t 2026-03-03 09:13:48 -05:00
Simon Cruanes
e6412b02e1 use Extensions module in opentelemetry.trace 2026-03-03 09:13:48 -05:00
Simon Cruanes
e4346b14fd refactor 2026-03-03 09:13:48 -05:00
Simon Cruanes
5e5a0d5116 fix warnings 2026-03-03 09:13:48 -05:00
Simon Cruanes
2fa7c05ebd wip: migrate to trace 0.11 and ambient-context 0.2 2026-03-03 09:13:48 -05:00
Simon Cruanes
98a364b046
prepare for 0.12 2025-09-08 12:29:18 -04:00
Simon Cruanes
8eda0730e9
remove dead code 2025-09-08 12:24:49 -04:00
Simon Cruanes
85b6126b78
Merge pull request #106 from shonfeder/fix-races
Make the signal `Batch`ing module thread safe
2025-09-08 12:24:30 -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
Shon Feder
c30f3b1c0c
Fix possible data races in eio test bin
Since this test runs with multiple domains, we cannot mutate plain refs
as we were without inviting data races.
2025-09-07 23:24:00 -04:00
Simon Cruanes
ecd6ed0b73
Merge pull request #100 from shonfeder/fix-non-atomic-metric-callbacks
fix: make metric callbacks atomic
2025-09-02 15:15:16 -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
Simon Cruanes
d9dd7ce32c
Merge pull request #103 from shonfeder/eio-fixes
Fix Eio collector to work accross domains
2025-09-02 09:26:18 -04:00
Simon Cruanes
5facbdfc6d
Merge pull request #101 from ajbt200128/austin/logs-integration
feature: Logs integration
2025-08-25 10:10:25 -04:00
Shon Feder
16de06aac5
Make emit1_eio.ml emit deterministic signals
As soon as we start running this in multible system threads, the race to
trigger the globals `stop` and `iterations` makes the signal emissions
non-deterministic, which makes the test kind of meaningless. This change
should make them determinstic.
2025-08-01 14:10:02 -04:00
Shon Feder
0890a1a5cd
Use multiple system threads in integration tests 2025-08-01 13:56:50 -04:00
Shon Feder
ddbdc80d57
make Eio collector thread safe
The backend cannot take a switch, because switches cannot be shared
across domains, but the backend is accessed across domains from a global
variable.
2025-08-01 13:56:50 -04:00
Shon Feder
7cdadfaeeb
Fix exception message 2025-08-01 13:56:50 -04:00
ajbt200128
7c35c764bb add install workflow test 2025-07-31 14:36:17 -07:00
ajbt200128
e7367f9d27 remove automatic license notice 2025-07-31 14:31:27 -07:00
ajbt200128
1e6ee91da4 add tests 2025-07-31 14:27:57 -07:00
ajbt200128
fbb280974a feat: add Logs integration
This PR upstreams the logs integration I wrote for Semgrep, and that
we've been using succesfully for months!
2025-07-31 14:25:52 -07:00
ajbt200128
46d1289d95 fix: opentelemetry exception attr spec
this brings the exception attributes in line with the spec
https://opentelemetry.io/docs/specs/semconv/exceptions/exceptions-spans/.
It seems we were missing the preceding `exception.`.
2025-07-23 09:01:52 -05:00
Simon Cruanes
07513133ae
Merge pull request #98 from shonfeder/add-eio-backend
Add Eio collector
2025-07-14 15:58:11 -04:00
Shon Feder
621045435c
Fix eio_main dep 2025-07-14 15:09:04 -04:00
Shon Feder
e678a93570
Fix spelling of variable 2025-07-14 12:34:39 -04:00
Shon Feder
69d15df4f1
Fix deps 2025-07-14 12:34:39 -04:00
Shon Feder
26baa4d26b
Remove testing branch from PR 2025-07-12 12:34:23 -04:00
Shon Feder
94772c7fe4
Fix GitHub actions for Ocaml5 specific tests
Co-authored-by: Puneeth Chaganti <punchagan@muse-amuse.in>
2025-07-12 00:30:31 -04:00
Shon Feder
ea66f65187
Add tls-eio dep 2025-07-12 00:30:31 -04:00
Shon Feder
a0bee6bfcc
Only install Eio in builds for ocaml >= 5 2025-07-12 00:30:31 -04:00
Shon Feder
7746c871c2
Add Eio collector 2025-07-12 00:30:31 -04:00