Commit graph

72 commits

Author SHA1 Message Date
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
f8d4ac7c3c
fix: make sure we clear out the encoder when reusing it 2025-06-23 09:32:33 -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
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
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
ec0efec681
Rename Env sig to ENV 2025-06-10 17:47:56 -04:00
Shon Feder
75a8b95176
Move Client.Config into its own file 2025-06-10 17:45:34 -04:00
Shon Feder
d62f680fc3
Refactor client configuration
Enabling sharing all common configuration logic
2025-06-10 00:40:13 -04:00
Simon Cruanes
e5ad99f770
rename dir 2022-10-03 12:20:59 -04:00
Simon Cruanes
41e9962c08
fix: do not emit empty batches 2022-07-06 19:55:50 -04:00
Simon Cruanes
16667a3fcf
improved logging for ocurl exporter 2022-07-06 19:49:12 -04:00
Simon Cruanes
d3b366f04b
print received status when httpclient fails 2022-07-06 19:39:04 -04:00
Simon Cruanes
8495d469ee
improve error reporting 2022-07-06 19:24:24 -04:00
Simon Cruanes
7eb75d66d6
better error reporting 2022-07-06 19:23:32 -04:00
Simon Cruanes
4c98764432
reduce impact of error 2022-07-06 19:14:40 -04:00
Simon Cruanes
50743d3097
do not decode result of http post 2022-07-06 19:11:26 -04:00
Simon Cruanes
2d97dd0705
debug 2022-07-06 16:02:49 -04:00
Simon Cruanes
9125eb5b65
better logging; improve GC sample collection 2022-07-06 15:48:46 -04:00
Simon Cruanes
88ce296d21
small refactor 2022-07-06 15:27:32 -04:00
Simon Cruanes
0a8e60ba46
better debug 2022-07-06 14:56:27 -04:00
Simon Cruanes
84be273b76
small refactor 2022-07-06 14:27:09 -04:00
Simon Cruanes
053493db8b
limit scope of locks 2022-07-06 14:22:53 -04:00
Simon Cruanes
6d72a6fac0
fix error on 4.08 2022-07-06 13:42:52 -04:00
Simon Cruanes
6179c97e99
add high watermark to ocurl client 2022-07-06 13:41:03 -04:00
Simon Cruanes
9c3e2a7076
feat: pass ?stop atomic; allow for multiple background threads 2022-07-06 12:53:00 -04:00
Simon Cruanes
331ae94547
detail 2022-07-06 12:52:03 -04:00
Simon Cruanes
d689dfc8fb
feat(ocurl): simpler, cleaner backend implementation
we now only have a single representation of a batch, with its own
internal state to handle timeouts. It handles its own locking, and there
are no callbacks anymore.
2022-07-06 12:06:51 -04:00
Simon Cruanes
85b6e91615
config: more comments; make Config.t private
forcing users to use `Config.make` to build a new config means we can
add fields without breaking existing code.
2022-07-06 12:06:12 -04:00
Simon Cruanes
f44351055a
Merge branch 'master' into wip-logs 2022-05-12 12:26:07 -04:00
Simon Cruanes
3f9bd94837
format 2022-05-12 11:54:06 -04:00
Simon Cruanes
b676783100
format 2022-05-05 12:09:19 -04:00
Simon Cruanes
a718f049aa
fix: ensure we can always produce random trace_id/span_id 2022-05-04 12:47:33 -04:00
Pau Ruiz Safont
fa3b863625 feat: Allow setting API headers
This can be done through the API or by setting
OTEL_EXPORTER_OTLP_HEADERS

Signed-off-by: Pau Ruiz Safont <pau.safont@citrix.com>
2022-05-04 16:56:37 +01:00
Simon Cruanes
5fefcf3ced
require pbrt only, use ocaml-protoc as a lint 2022-05-03 13:52:20 -04:00
Simon Cruanes
6744123075
feat(otel): Metrics_callbacks module
this module allows the user's programs and libraries to register
some callbacks that will be regularly called to produce metrics.
2022-04-29 16:50:06 -04:00
Simon Cruanes
1bedb57123
feat: implement basic support for logs
also send them to the collector.
2022-04-28 09:57:28 -04:00
Simon Cruanes
9d4bb5a97f
feat: debug the library is set via OTEL_OCAML_DEBUG 2022-04-19 13:28:55 -04:00
Simon Cruanes
c01879c4b0
refactor(client): split into several modules 2022-04-13 16:28:23 -04:00
Simon Cruanes
20cc772682
fix 2022-04-12 14:14:36 -04:00
Simon Cruanes
3448e33d29
fix: same 2022-04-12 13:53:24 -04:00
Simon Cruanes
2c1c67bfe8
fix: emit traces, too 2022-04-12 13:50:50 -04:00