Simon Cruanes
9f5506c1ee
refactor
2026-01-20 00:15:18 -05:00
Simon Cruanes
f1ee6141a5
refactor ocurl, ocurl_lwt, cohttp_lwt clients to use generic consumer
2026-01-20 00:15:17 -05:00
Simon Cruanes
1a0ba5fc9e
use backoff in ocurl clients
2026-01-20 00:15:17 -05:00
Simon Cruanes
f519f2f49f
detail
2026-01-20 00:15:17 -05:00
Simon Cruanes
db423c1b79
feat client-ocurl: port to just being a consumer
...
the rest is reusable components from opentelemetry-client
2026-01-20 00:15:16 -05:00
Simon Cruanes
4f218b31ef
mor efixes
2026-01-20 00:15:14 -05:00
Simon Cruanes
723b523af5
feat: use a pbrt encoder pool in client-ocurl
2026-01-20 00:15:11 -05:00
Simon Cruanes
6f96d5271a
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.
2026-01-20 00:15:10 -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
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
Corentin Leruth
950d5922a1
add correct release version in comment
2025-11-08 12:49:52 +01: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
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
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
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
Shon Feder
ec0efec681
Rename Env sig to ENV
2025-06-10 17:47:56 -04:00
Shon Feder
d62f680fc3
Refactor client configuration
...
Enabling sharing all common configuration logic
2025-06-10 00:40:13 -04:00
Simon Cruanes
51af3a4105
format
2025-05-05 14:41:20 -04:00
Simon Cruanes
5788492946
breaking: change Collector.cleanup so it takes a callback
...
this callback can be used to resolve a Lwt future, for example, to make
sure we indeed wait for the cleanup to be done before exiting.
2025-04-17 16:09:14 -04:00
Antonin Décimo
b2e62d527e
fix: opentelemetry-client-ocurl: don't block signals on Windows
...
As of OCaml 5.3, the OCaml runtime doesn't support signals on
Windows. Trying to block them with Thread.sigmask will raise:
Thread 5 killed on uncaught exception Invalid_argument("Thread.sigmask not implemented")
Raised by primitive operation at Opentelemetry_client_ocurl.start_bg_thread.run in file "src/client-ocurl/opentelemetry_client_ocurl.ml", line 106, characters 12-49
2025-03-27 09:28:48 -04:00
Simon Cruanes
3d3cf8c02c
fix otel-client-ocurl: use ptime timestamps for self metrics
2025-03-14 10:00:54 -04:00
Simon Cruanes
e789ecf3da
cleanup
2024-10-17 13:45:28 -04:00
Simon Cruanes
308e0304e3
simplify
2024-10-17 13:45:28 -04:00
Simon Cruanes
424a82c8a5
in backends, call tick() before cleaning up
...
this helps flushing signals that are being batched.
close #69
2024-10-17 13:45:28 -04:00
Corentin Leruth
ac1a27eb89
reduce memory usage of Scope.t
2024-10-10 21:22:16 +02:00
Corentin Leruth
41f1f43470
add Scope.make
2024-10-07 16:37:01 +02:00
Corentin Leruth
b3747cfc8e
add links to scope
2024-10-07 15:07:05 +02:00
Simon Cruanes
7629e419c8
format
2024-09-20 09:22:13 -04:00
Corentin Leruth
d6d36ee73d
add url to error log
2024-09-20 08:16:37 -04:00
Corentin Leruth
e73ea7e6ad
make urls from env take precedence
2024-08-09 08:17:08 +02:00
Corentin Leruth
fd0f1617b6
Update src/client-ocurl/config.mli
...
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2024-08-05 09:41:04 +02:00
Corentin Leruth
1b538930ae
add support for per-signal urls
2024-08-02 08:52:43 +02:00
Simon Cruanes
5d5d909c18
also handle the non force case
2024-07-22 10:55:51 -04:00
Simon Cruanes
592814dab8
fix: emit GC metrics even in the absence of custom metrics
2024-07-22 10:48:15 -04:00
Simon Cruanes
03d9a6f9a2
ocurl: more info in debug mode
2024-03-07 11:31:30 -05:00
Simon Cruanes
5b0bc6162e
cosmetics
2024-02-23 13:01:46 -05:00
Simon Cruanes
7fa4580bb0
better debug message in curl backend
2024-02-23 12:41:18 -05:00
Simon Cruanes
5a78805add
prepare for 0.7
2024-02-14 13:15:14 -05:00
Simon Cruanes
031b7bfc38
more doc
2023-12-21 08:28:07 -05:00
Simon Cruanes
b830c3d1be
config: self-trace is disabled by default for now
2023-12-20 16:07:59 -05:00
Simon Cruanes
133b6ad991
revert: use collector again for self-tracing spans
...
it's less dangerous to emit spans for self-tracing, even
if nothing else is going on, than risk having them accumulate
in case the program emits no spans but emits a lot of
metrics and logs (which create self-tracing spans)
2023-12-20 16:05:41 -05:00
Simon Cruanes
f0310530a3
ocurl: add ticker_interval_ms config
...
ticker interval will affect how often metrics are emitted,
this doesn't need be related to batch timeouts.
2023-12-20 15:57:53 -05:00
Simon Cruanes
d4186f64f4
client ocurl: do self-tracing in cheaper way
...
we don't go through OTEL for self tracing as it can create
regular span emission where normally there would be none
(emitting a self-tracing span might create a batch, which then
has to be sent after the batch timeout, and sending
that one creates a new span, etc.)
2023-12-20 15:49:50 -05:00
Simon Cruanes
bd8b483e81
feat: use AList for tick callbacks; emit GC events on tick
...
it's cleaner to emit GC events on ticks rather than on GC,
because it avoids both spamming if the GC is very active, and
emitting nothing when there are few allocations.
2023-12-20 15:46:39 -05:00
Simon Cruanes
2ac799f10d
move AList to core
2023-12-20 15:45:57 -05:00
Simon Cruanes
3d16de634f
refine seld tracing
2023-12-20 14:29:23 -05:00
Simon Cruanes
f0750cdfb5
otel-ocurl: some self-tracing
2023-12-20 14:22:31 -05:00