Commit graph

527 commits

Author SHA1 Message Date
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
Simon Cruanes
a5af3c9b65
Merge pull request #96 from shonfeder/tests
Add integration tests for collectors
2025-07-12 00:19:33 -04:00
Shon Feder
a71fc32091
Fix docs 2025-07-11 17:57:49 -04:00
Simon Cruanes
7cd3d0321b
detail 2025-07-11 15:41:07 -04:00
Shon Feder
f1b7a2237c
Specify and document the Signal_gatherer API 2025-07-11 13:48:40 -04:00
Shon Feder
8288bcb59b
Use containers in tests
To get access to useful functions that are not in the Stdlib in OCaml 4.08.
2025-07-10 16:11:20 -04:00
Shon Feder
16daccb6df
Remove cruft from old testing method
Also document the signal reporter executable
2025-07-10 15:58:53 -04:00
Shon Feder
5bf8eea5f1
Define find_map for 4.08 compat 2025-07-10 09:29:20 -04:00
Shon Feder
ef5d7af3e7
Remove unneeded dependency 2025-07-08 21:33:08 -04:00
Shon Feder
87cfd5e31e
Add test harness for instrumented applications 2025-07-08 21:30:03 -04:00
Shon Feder
a44e0cd3b5
Add common type for signals 2025-07-08 21:28:55 -04:00
Shon Feder
b6448b330d
Used default_url 2025-07-08 21:28:55 -04:00
Shon Feder
a95b787a7b
Allowing breaking with ctrl-c 2025-07-08 21:28:55 -04:00
Shon Feder
00840e0b88
Add pretty printer utils
These combinators seem tiny, but they simpflify code where they are used
quite a lot.
2025-07-08 21:28:55 -04:00
Shon Feder
33104f231e
Add Signal.Decode module
For testing
2025-07-08 21:28:55 -04:00
Shon Feder
916b962c43
Expose default_url in config
No reason to keep this value hidden, and we want to reuse it for tests.
2025-07-08 21:28:55 -04:00
Shon Feder
39920ed109
Fix Signal encoder name choice
Don't know why I didn't opt for this clearer name originally.
2025-07-08 21:28:55 -04:00
Shon Feder
d3235a1864
Remove unneeded encoder reset
We reset the encoder if we are reusing one, and we generate a fresh new
one otherwise.
2025-07-08 21:28:55 -04:00
Simon Cruanes
841d223ed2
Merge pull request #97 from shonfeder/factor-out-lwt-batching
Factor batching logic out of the cohttp-lwt client
2025-07-01 14:33:37 -04:00
Shon Feder
8b48843459
Correct size and optimize representation
Since we need to traverse the elements added to count up the new size,
we can use that pass to add the elements onto our FIFO queue, and then
drain the queue in one last pass to reverse. IIUC, this should give us
liner complexity of the batch retrieval.
2025-06-30 22:52:49 -04:00
Shon Feder
31a712dd30
Allowing configuring start time 2025-06-30 22:28:30 -04:00
Shon Feder
18f58c3ac5
Allow configuring high_watermark 2025-06-30 22:01:13 -04:00
Shon Feder
ca31707395
Factor batching logic out of the cohttp-lwt client
This will allow resuing the batching logic in the Eio client.
As a followup, we should refactor the ocurl client to use the same
batcher.
2025-06-27 21:48:55 -04:00
Simon Cruanes
4ee29d8504 feat: add Globals.service_version 2025-06-23 09:32:59 -04:00
Simon Cruanes
f8d4ac7c3c
fix: make sure we clear out the encoder when reusing it 2025-06-23 09:32:33 -04:00
Simon Cruanes
62085e87cb
Merge pull request #95 from shonfeder/signal-encoding-refactor
Factor out the logic around signal encoding
2025-06-23 09:26:06 -04:00
Shon Feder
8f7d74f591
Allow optional reuse of encoder state
This allows clien implementors to micromanage the state of the protobuf
`encoder` if they want, or to just let the library handle allocation and
garbage collection of encoder states when that level of resource
managment is not required.
2025-06-20 16:19:55 -04:00
Shon Feder
740a142581
Use application operator 2025-06-18 18:36:16 -04:00
Shon Feder
cad4835449
Fix type aliases 2025-06-18 18:35:37 -04:00
Shon Feder
a5617571f4
Add comment about scope 2025-06-18 18:33:46 -04:00
Shon Feder
b303fb5b1c
Use dummies 2025-06-18 18:31:39 -04:00
Shon Feder
52377b0a03
Factor out signal encoding logic 2025-06-16 23:34:45 -04:00
Shon Feder
0045a97e34
Move Self_trace module into Opentelemetry_client 2025-06-15 22:22:44 -04:00
Shon Feder
5c0691439e
Remove unneeded indirection
The `tick_common` function is only used once.
Removing the indirection also lets us see that we were calling
`sample_gc_metrics_if_needed` twice in a row on each tick.
2025-06-15 19:31:02 -04:00
Simon Cruanes
dd66852113
Merge pull request #92 from shonfeder/config-refactor
Refactor client configuration
2025-06-11 14:37:17 -04:00
Shon Feder
08c6f32efe
Fix documentation example 2025-06-11 14:23:06 -04:00
Simon Cruanes
48926c25e5
Update src/client/config.mli
Co-authored-by: Corentin Leruth <corentin.leruth@gmail.com>
2025-06-11 09:20:22 -04:00
Shon Feder
0b2faca469
Add tests for Opentelemetry.Client.Config 2025-06-11 00:10:28 -04:00
Shon Feder
8511f547d7
Fix name of library
Matches the convention in /src/trace/dune and prevents dependency on
the library from polluting the global namespace of a component with the
generic `Client` module.
2025-06-10 18:11:30 -04:00
Shon Feder
90fa0ba3b7
Add pp implemtation for Client_ocurl.Config 2025-06-10 18:00:04 -04:00