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
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
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