mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-07 18:37:56 -05:00
Some checks failed
format / format (push) Has been cancelled
build / build (4.08.x, ubuntu-latest) (push) Has been cancelled
build / build (4.13.x, ubuntu-latest) (push) Has been cancelled
build / build (5.0.x, ubuntu-latest) (push) Has been cancelled
build / build (5.3.x, ubuntu-latest) (push) Has been cancelled
153 lines
5.3 KiB
Markdown
153 lines
5.3 KiB
Markdown
|
|
## 0.20
|
|
|
|
- major refactor: split library into `opentelemetry.core`, `opentelemetry`,
|
|
`opentelemetry.util`, `opentelemetry.emitter`, `opentelemetry.atomic`, revamp internals
|
|
- per-signal providers: separate trace, meter, and logger providers replace
|
|
the single monolithic exporter
|
|
- `opentelemetry.ambient-context` is now a standalone library, once again
|
|
- new `opentelemetry-client-ocurl-lwt` package
|
|
- client: split `opentelemetry-client-sync` off of the main client library
|
|
- client: add support for `http/json` protocol alongside `http/protobuf`
|
|
- client: add HTTP retry with exponential backoff
|
|
- client: overhaul bounded queue; introduce generic consumer framework
|
|
- client: add `Exporter_add_batching`, `Emitter_add_batching`, `Emitter_sample`,
|
|
`Emitter_limit_interval` combinators. Batching is factored out of individual
|
|
client libraries.
|
|
- client: add sampler as an emitter transformer
|
|
- client: add `exporter_stdout` and `debug_exporter`
|
|
- client: add `self_metrics` and `self_debug` to exporters
|
|
- client: add `after_shutdown` callback in ocurl/ocurl-lwt clients
|
|
- `Span.dummy`: inert span that is never modified
|
|
- `Span.record_exception` now also sets the span status to error
|
|
- `Span.set_span_status` added in `opentelemetry.trace`
|
|
- `Span`: carry flags to `span_link`
|
|
- `Span`: now mutable thanks to ocaml-protoc 4.0, replaces old `Scope.t` entirely
|
|
- `Meter.emit` and `Meter_provider.emit_l` added
|
|
- emitter: add `flat_map`, `tap`, `to_list`, `enabled` combinators
|
|
- clock abstraction added; `ptime` used by default in logger and metrics
|
|
- interval limiter used for `metrics_callbacks`
|
|
- update to OTEL spec 1.8.0
|
|
- update semantic conventions
|
|
- various bug fixes and performance improvements
|
|
|
|
## 0.12
|
|
|
|
- breaking: change `Collector.cleanup` so it takes a callback
|
|
|
|
- feat: add Eio collector
|
|
- feat: add Logs integration
|
|
- Specify and document the Signal_gatherer API
|
|
- feat: add `Globals.service_version`
|
|
- add `pp` implemtation for `Client_ocurl.Config`
|
|
- feat: adapt to trace 0.10
|
|
|
|
- fix concurrency issues, make the libraries thread safe
|
|
- add many tests
|
|
- fix: opentelemetry exception attr spec
|
|
- Add tests for Opentelemetry.Client.Config
|
|
|
|
- large refactorings to factor out batching logic out of cohttp-lwt client,
|
|
also encoding logic. The code for collectors is now much cleaner.
|
|
|
|
## 0.11.2
|
|
|
|
- fix: opentelemetry-client-ocurl: don't block signals on Windows
|
|
- fix otel-client-ocurl: use ptime timestamps for self metrics
|
|
|
|
## 0.11.1
|
|
|
|
- add missing sample argument to `Traceparent.to_value`
|
|
|
|
## 0.11
|
|
|
|
- add `Span_kind.t`, add {kind,set_kind} to `Scope`
|
|
- expose `Span_status` types
|
|
- add `Scope.set_span_status`
|
|
- add `record_exception`
|
|
- otel.trace: extension points for links, record_exn, kind
|
|
- otel.trace: set status of a span based on `exception.message`
|
|
|
|
- add cohttp upper bound version constraint
|
|
- in backends, call `tick()` before cleaning up
|
|
- reduce memory usage of `Scope.t` (@tatchi)
|
|
|
|
- remove dependency on ambient-context, vendor/inline/specialize it
|
|
|
|
## 0.10
|
|
|
|
- feat: add support for per-signal urls (by @tatchi)
|
|
- build: disable protobuf regeneration during normal library use
|
|
- fix: emit GC metrics even in the absence of custom metrics
|
|
|
|
## 0.9
|
|
|
|
- compat with trace 0.7
|
|
|
|
## 0.8
|
|
|
|
- feat: add dep on `hmap`, add standard keys to carry around a span context or trace id
|
|
- add semantic conventions for code and HTTP
|
|
|
|
- better debug message in curl backend
|
|
- make otel-trace a bit more lightweight
|
|
|
|
## 0.7
|
|
|
|
- add Span_link.of_span_ctx, Scope.to_span_ctx, dummy values
|
|
- feat: add Span_context, as required by OTEL API guidelines
|
|
- feat: record backtraces in error spans
|
|
- compat with trace 0.6
|
|
- ocurl: add ticker_interval_ms config
|
|
- ocurl: do some self-tracing optionally
|
|
- move protobuf code to opentelemetry.proto
|
|
|
|
- perf: rewrite parsing+printing for span ctx as w3c trace ctx
|
|
- perf: when we get multiple messages, check batches only once
|
|
- perf: use ocaml-protoc 3.0.1 for codegen, with faster pbrt
|
|
|
|
## 0.6
|
|
|
|
- fix ticker thread shutdown
|
|
- migrated to OTEL proto files v1.0
|
|
- replace `Thread_local` with `ocaml-ambient-context`, allowing for implicit scope in Lwt/Eio contexts (#34)
|
|
- update `ocaml-trace` interface to use the new `trace.0.3`-style API (breaking, see #34)
|
|
|
|
## 0.5
|
|
|
|
- new implementation for ocurl backend, using ezcurl and queues
|
|
- refactor lwt: Use `try%lwt` over `Lwt.catch`
|
|
- add `opentelemetry.trace` (optional, depends on `ocaml-trace`)
|
|
|
|
## 0.4
|
|
|
|
- expose `Scope.get_surrounding`
|
|
- rehault of GC metrics
|
|
- `Trace.with_` now has `force_new_trace_id` param
|
|
- use thread-local storage to store global scope
|
|
- add `Span_link` module
|
|
- add a `Globals.default_span_kind` ref to specify default span kind
|
|
|
|
- fix(otel-lwt): missing modules now re-exported
|
|
- fix(client-ocurl): fix `tick` version used in the absence of bg thread
|
|
|
|
- drop dep on ocaml-protoc as the generated code is checked-in
|
|
- update vendored otel to 0.19
|
|
|
|
## 0.3
|
|
|
|
- improve error reporting from ocurl exporter
|
|
- improve GC sample collection
|
|
- feat(ocurl): simpler, cleaner backend implementation, with graceful exit
|
|
- config: make `Config.t` private (breaking)
|
|
|
|
## 0.2
|
|
|
|
- require pbrt only, use ocaml-protoc as a lint
|
|
- add `Metrics_callbacks` module
|
|
- add histogram metrics (untested)
|
|
- basic support for logs
|
|
- expose `tick` function (useful in the absence of a background thread)
|
|
- debug the library is set via `OTEL_OCAML_DEBUG`
|
|
- provide conventions for standard metrics
|
|
- add runtime attrs to GC stats
|