Commit graph

115 commits

Author SHA1 Message Date
Simon Cruanes
7d0cfb7500
client: lwt helpers, error helpers, thread utils, lwt notifier 2025-12-05 15:50:09 -05:00
Simon Cruanes
3a0a17e2e9
client config: add http_concurrency_level option 2025-12-05 15:02:49 -05:00
Simon Cruanes
7eef6913bc
feat client: add Exporter_add_batching 2025-12-05 09:25:03 -05:00
Simon Cruanes
45c5860fe4
refactor consumer 2025-12-05 09:10:10 -05:00
Simon Cruanes
741de6cece
custom queue in Bounded_queue_sync, remove bespoke stuff from Sync_queue 2025-12-05 09:04:00 -05:00
Simon Cruanes
4fb824eba2
wip: exporter_queued, a queue + a consumer 2025-12-04 21:33:33 -05:00
Simon Cruanes
135dc327b3
carry service_name and attrs when building resources objects 2025-12-04 21:33:10 -05:00
Simon Cruanes
90d59b40d9
feat client: add bounded queue interface and sync-queue based implem 2025-12-04 21:12:43 -05:00
Simon Cruanes
6f2134f189
add client.Any_resource 2025-12-04 21:12:43 -05:00
Simon Cruanes
8a45f71698
rename 2025-12-04 21:12:43 -05:00
Simon Cruanes
500c9a8ba8
sync_queue: more operations, including a batch push 2025-12-04 21:12:43 -05:00
Simon Cruanes
70b435f8ec
doc 2025-12-04 21:12:43 -05:00
Simon Cruanes
22298495e2
mor efixes 2025-12-04 21:10:21 -05:00
Simon Cruanes
76a54ac6e1
fix client, allow to set the self-tracing tracer. 2025-12-04 14:37:20 -05:00
Simon Cruanes
8d9f21da2c
migrate a few more things to lib/ from core/ 2025-12-04 14:25:46 -05:00
Simon Cruanes
ab4246d686
feat client: add exporter_stdout 2025-12-04 11:30:49 -05:00
Simon Cruanes
baf25c07ee
move interval_limiter to src/client 2025-12-04 11:30:38 -05:00
Simon Cruanes
2a08d62c13
update exporters and emitter combinators in client 2025-12-04 10:57:02 -05:00
Simon Cruanes
bb6d83483c
client: add sampler; batch and sampler are now emitter transformers 2025-12-04 10:16:55 -05:00
Simon Cruanes
e9fafd431a
split core library into opentelemetry.core and opentelemetry 2025-12-04 09:31:06 -05:00
Simon Cruanes
e29ec44561
fix self_trace 2025-12-04 01:07:41 -05:00
Simon Cruanes
f0cd1ad375
perf: avoid building closures in Signal 2025-12-03 16:06:50 -05:00
Simon Cruanes
5c3c03cdd8
feat client: various changes 2025-12-03 15:08:40 -05:00
Simon Cruanes
59be0f625b
client: add debug_exporter, stdout_exporter, resource helpers 2025-12-03 13:28:50 -05:00
Simon Cruanes
a35ea4c646
fixes 2025-12-01 20:32:03 -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
42e41675b5 fmt 2025-11-08 12:43:21 +01:00
Simon Cruanes
8eda0730e9
remove dead code 2025-09-08 12:24:49 -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
a71fc32091
Fix docs 2025-07-11 17:57:49 -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
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
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