Commit graph

748 commits

Author SHA1 Message Date
Simon Cruanes
00cf5aa712
fix integrations 2026-01-20 00:15:14 -05:00
Simon Cruanes
d02d609cf9
feat lib: easily access the main tracer, logger, etc 2026-01-20 00:15:14 -05:00
Simon Cruanes
5a6bd442b7
fix client, allow to set the self-tracing tracer. 2026-01-20 00:15:14 -05:00
Simon Cruanes
a0b421dcdc
feat lib/tracer: restore with_ and with_thunk_and_finally !! 2026-01-20 00:15:14 -05:00
Simon Cruanes
9453506d7b
migrate a few more things to lib/ from core/ 2026-01-20 00:15:14 -05:00
Simon Cruanes
5804cd299b
feat trace: make it compile again, no TLS, no magic strings, pass exporter 2026-01-20 00:15:14 -05:00
Simon Cruanes
c4e8f8c39b
feat lib: dynamic forward to main; improve Main_exporter 2026-01-20 00:15:14 -05:00
Simon Cruanes
35f8bbc67d
feat exporter: split tick/on_tick again 2026-01-20 00:15:14 -05:00
Simon Cruanes
fe0aa297a6
perf: optimize {Trace,Span}_id.is_zero 2026-01-20 00:15:14 -05:00
Simon Cruanes
98cf8fbdbc
fix warning 2026-01-20 00:15:13 -05:00
Simon Cruanes
1ac44c4dd8
feat client: add exporter_stdout 2026-01-20 00:15:13 -05:00
Simon Cruanes
e8cb0fc1ca
move interval_limiter to src/client 2026-01-20 00:15:13 -05:00
Simon Cruanes
cf39d2a699
feat: tracer, logger, etc are regular emitters now 2026-01-20 00:15:13 -05:00
Simon Cruanes
9dd15d109a
update exporters and emitter combinators in client 2026-01-20 00:15:13 -05:00
Simon Cruanes
1ee298a1a3
feat core: add Any_signal.t; make Exporter a record of emitters 2026-01-20 00:15:13 -05:00
Simon Cruanes
df4d657c1a
emitter: add enabled() field, and tap 2026-01-20 00:15:13 -05:00
Simon Cruanes
ebed5d7ce8
wip: various fixes 2026-01-20 00:15:13 -05:00
Simon Cruanes
3fdb0eebd5
feat lib: expose Ambient_span 2026-01-20 00:15:13 -05:00
Simon Cruanes
0671d767d9
wip: trace 2026-01-20 00:15:12 -05:00
Simon Cruanes
5aec2c99b8
fix rand_bytes: init at least the local domain's Rand state 2026-01-20 00:15:12 -05:00
Simon Cruanes
689b932c63
client: add sampler; batch and sampler are now emitter transformers 2026-01-20 00:15:12 -05:00
Simon Cruanes
114e2eb566
feat emitter: better docs, add a to_list emitter 2026-01-20 00:15:12 -05:00
Simon Cruanes
b8228dfe25
split core library into opentelemetry.core and opentelemetry 2026-01-20 00:15:12 -05:00
Simon Cruanes
1f275c21d0
chore: makefile 2026-01-20 00:15:12 -05:00
Simon Cruanes
b64ba8fbcd
fixes after we removed Scope 2026-01-20 00:15:12 -05:00
Simon Cruanes
a643bc6c02
fix self_trace 2026-01-20 00:15:12 -05:00
Simon Cruanes
b91139509b
WIP trace (hiiii) 2026-01-20 00:15:12 -05:00
Simon Cruanes
08be80b74b
wip: opentelemetry.emitter with same time
a bit like a buffered writer for any data
2026-01-20 00:15:12 -05:00
Simon Cruanes
959cf724fd
refactor core 2026-01-20 00:15:11 -05:00
Simon Cruanes
6ccf554645
feat span: ambient span 2026-01-20 00:15:11 -05:00
Simon Cruanes
e79df14a90
refactor thoroughly ambient-context
we have a new explicit `Storage.t` interface, that can be used to
get a `Context.t` (a hmap) and to locally swap it; then we have multiple
implementations of the Storage; and then we have a singleton atomic
containing the "main" storage.
2026-01-20 00:15:11 -05:00
Simon Cruanes
a33c57a46e
wip: refactor 2026-01-20 00:15:11 -05:00
Simon Cruanes
b433a11c9a
perf: avoid building closures in Signal 2026-01-20 00:15:11 -05:00
Simon Cruanes
2170c16e7f
wip: trace 2026-01-20 00:15:11 -05:00
Simon Cruanes
bd335ecadd
refator core OTEL: remove Scope, directly use Span as builder
now that fields are mutable, it's cheaper and easier
2026-01-20 00:15:11 -05:00
Simon Cruanes
cb4be48746
fix client-ocurl-lwt to use the new exporter interface 2026-01-20 00:15:11 -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
ced8dd421f
feat client: various changes 2026-01-20 00:15:10 -05:00
Simon Cruanes
6b6fb34342
feat OTEL: move some stuff to client or util; rate limit GC metrics 2026-01-20 00:15:10 -05:00
Simon Cruanes
3f98d0c484
more utils 2026-01-20 00:15:10 -05:00
Simon Cruanes
b76c90b785
feat: opentelemetry.util with various utilities 2026-01-20 00:15:10 -05:00
Simon Cruanes
d5436d953f
feat integration/logs: update paths 2026-01-20 00:15:10 -05:00
Simon Cruanes
8692976f3e
client: add debug_exporter, stdout_exporter, resource helpers 2026-01-20 00:15:10 -05:00
Simon Cruanes
f349c31368
update opentelemetry_trace just a bit 2026-01-20 00:15:10 -05:00
Simon Cruanes
77083e3e81
gitignore 2026-01-20 00:15:10 -05:00
Simon Cruanes
841d58ab67
large refactor: split core library into many modules; change API design
follow more closely the official OTEL recommendations, and also try
to reduce global state.

- use a class type for `Exporter.t` (instead of 1st class module `backend`)
- have tracer, logger, metrics_emitter as explicit objects
- keep a `Main_exporter` to make migration easier, but discouraged
- add stdout_exporter and debug_exporter to opentelemetry.client
2026-01-20 00:15:09 -05:00
Simon Cruanes
fcace775d3
Merge pull request #108 from imandra-ai/simon/protoc-with-presence-2025-10-30
use protoc with presence
2025-12-05 10:19:34 -05:00
Simon Cruanes
1e5785b93c
fix nix 2025-12-05 09:40:23 -05:00
Simon Cruanes
38af88ccc9
CI 2025-12-05 09:36:28 -05:00