Skip to content

[new release] opentelemetry (7 packages) (0.13)#29501

Merged
avsm merged 1 commit intoocaml:masterfrom
c-cube:release-opentelemetry-v0.13
Mar 9, 2026
Merged

[new release] opentelemetry (7 packages) (0.13)#29501
avsm merged 1 commit intoocaml:masterfrom
c-cube:release-opentelemetry-v0.13

Conversation

@c-cube
Copy link
Contributor

@c-cube c-cube commented Mar 3, 2026

Instrumentation for https://opentelemetry.io

CHANGES:
  • feat: adapt to trace 0.12 (callbacks-based collector API, extensible span type, no more manual spans, ambient-span-provider)
  • breaking: remove vendored opentelemetry.ambient-context; use the
    ambient-context 0.2 package directly instead. To configure the
    storage backend, call Ambient_context.set_current_storage (e.g.
    Ambient_context.set_current_storage Ambient_context_lwt.storage).
  • move to ezcurl 0.3
  • add a hmap in Scope.t

@c-cube c-cube force-pushed the release-opentelemetry-v0.13 branch from 9dcdfdf to 09289b6 Compare March 3, 2026 15:00
Copy link
Member

@jmid jmid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

There are a bunch of failures, e.g., a missing test dependency on containers in opentelemetry-logs: tests (failed: Library "containers" not found.) but also lower bound failures.

I can see @shonfeder sorted these out for the 0.12 release in #28469

Can I ask you to go through them, and preferably upstream the fixes? It will save us from repeated work 🙏

@c-cube c-cube force-pushed the release-opentelemetry-v0.13 branch from 09289b6 to 67af3e9 Compare March 4, 2026 21:03
@c-cube
Copy link
Contributor Author

c-cube commented Mar 4, 2026

Ok, I think I ported all the fixes (thank you @shonfeder 🙏 )

@c-cube c-cube force-pushed the release-opentelemetry-v0.13 branch 2 times, most recently from cdff5ce to fee83bb Compare March 5, 2026 19:43
@c-cube
Copy link
Contributor Author

c-cube commented Mar 5, 2026

Cannot remove /home/opam/.opam/repo/default/packages/morbig/morbig.0.10.4/opam (/usr/bin/opam: "unlink" failed on /home/opam/.opam/repo/default/packages/morbig/morbig.0.10.4/opam: No space left on device).

oh no 😅

@jmid
Copy link
Member

jmid commented Mar 5, 2026

It is now running again, so I've restarted the failed workflows.

CHANGES:

- feat: adapt to trace 0.12 (callbacks-based collector API, extensible span type, no more manual spans, ambient-span-provider)
- breaking: remove vendored `opentelemetry.ambient-context`; use the
    `ambient-context` 0.2 package directly instead. To configure the
    storage backend, call `Ambient_context.set_current_storage` (e.g.
    `Ambient_context.set_current_storage Ambient_context_lwt.storage`).
- move to ezcurl 0.3
- add a `hmap` in Scope.t
@c-cube c-cube force-pushed the release-opentelemetry-v0.13 branch from fee83bb to 893c178 Compare March 6, 2026 15:44
@jmid
Copy link
Member

jmid commented Mar 8, 2026

What do you make of the macOS bind failures during runtest? 🤔

opentelemetry-client-cohttp-eio.0.13
tests (failed: exception Unix.Unix_error(Unix.EPERM, "bind", ""))
opentelemetry-client-cohttp-lwt.0.13
tests (failed: exception Unix.Unix_error(Unix.EPERM, "bind", ""))
opentelemetry-logs.0.13
tests (failed: exception Unix.Unix_error(Unix.EPERM, "bind", ""))

There are also a couple of runtest failures on Centos 9 and s390x.

centos-9-ocaml-5.4
opentelemetry-client-cohttp-lwt.0.13
tests (failed: The compilation of opentelemetry-client-cohttp-lwt.0.13 failed at "dune build -p opentelemetry-client-cohttp-lwt -j 255 --promote-install-files=false @install @runtest".)
s390x-ocaml-5.4
opentelemetry-client-cohttp-lwt.0.13
tests (failed: The compilation of opentelemetry-client-cohttp-lwt.0.13 failed at "dune build -p opentelemetry-client-cohttp-lwt -j 3 --promote-install-files=false @install @runtest".)

#=== ERROR while compiling opentelemetry-client-cohttp-lwt.0.13 ===============#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.5.4.0 | pinned(https://github.com/ocaml-tracing/ocaml-opentelemetry/releases/download/v0.13/opentelemetry-0.13.tbz)
# path                 ~/.opam/5.4/.opam-switch/build/opentelemetry-client-cohttp-lwt.0.13
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p opentelemetry-client-cohttp-lwt -j 255 --promote-install-files=false @install @runtest
# exit-code            1
# env-file             ~/.opam/log/opentelemetry-client-cohttp-lwt-7-90103e.env
# output-file          ~/.opam/log/opentelemetry-client-cohttp-lwt-7-90103e.out
### output ###
# (cd _build/default/tests/implicit_scope/sync && ./test_implicit_scope_sync.exe)
# Testing `implicit scope'.
# This run has ID `N2M3ZJD6'.
# 
#   [OK]          sync          0   stack-based implicit scope.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/opentelemetry-client-cohttp-lwt.0.13/_build/default/tests/implicit_scope/sync/_build/_tests/implicit scope'.
# Test Successful in 0.602s. 1 test run.
# File "tests/client_e2e/dune", line 31, characters 8-33:
# 31 |  (names test_cottp_lwt_client_e2e)
#              ^^^^^^^^^^^^^^^^^^^^^^^^^
# (cd _build/default/tests/client_e2e && ./test_cottp_lwt_client_e2e.exe)
# Testing `Collector integration tests'.
# This run has ID `WDS7CD88'.
# 
#   [OK]          emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              0   loop.outer spans....
#   [OK]          emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              1   loop.inner spans....
#   [FAIL]        emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              2   alloc spans....
#   [OK]          emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              3   num-sleep metrics....
#   [OK]          emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              4   logs....
#   [OK]          emit1_cohttp -j 3 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 400 --batch-metrics 3 --batch-logs 400          0   loop.outer spans....
#   [OK]          emit1_cohttp -j 3 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 400 --batch-metrics 3 --batch-logs 400          1   loop.inner spans....
#   [OK]          emit1_cohttp -j 3 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 400 --batch-metrics 3 --batch-logs 400          2   alloc spans....
#   [OK]          emit1_cohttp -j 3 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 400 --batch-metrics 3 --batch-logs 400          3   num-sleep metrics....
#   [OK]          emit1_cohttp -j 3 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 400 --batch-metrics 3 --batch-logs 400          4   logs....
# 
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ [FAIL]        emit1_cohttp -j 1 --procs 1 --url http://localhost:4338 --iterations 1 --batch-traces 2 --batch-metrics 2 --batch-logs 2              2   alloc spans.... │
# └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
# ASSERT number of occurrences should equal the configured jobs * the  configured iterations * configured processes
# FAIL number of occurrences should equal the configured jobs * the  configured iterations * configured processes
# 
#    Expected: `1'
#    Received: `0'

@avsm
Copy link
Member

avsm commented Mar 9, 2026

Those are sandboxing fails on macos (by design), not a blocker i think.
Thanks for package! You may want to announce this on https://discuss.ocaml.org, where we have a Community category and an announce tag for this purpose.

@avsm avsm merged commit 325491a into ocaml:master Mar 9, 2026
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants