Skip to content

[SDK] Reduce lock contention in SyncMetricStorage for concurrent metric recording #13838

[SDK] Reduce lock contention in SyncMetricStorage for concurrent metric recording

[SDK] Reduce lock contention in SyncMetricStorage for concurrent metric recording #13838

Triggered via pull request April 8, 2026 16:51
Status Success
Total duration 1h 57m 50s
Artifacts 1

ci.yml

on: pull_request
CMake test (prometheus, elasticsearch, zipkin)
13m 28s
CMake test (prometheus, elasticsearch, zipkin)
CMake FetchContent usage with opentelemetry-cpp
58m 42s
CMake FetchContent usage with opentelemetry-cpp
CMake gcc 14 (maintainer mode, sync)
41m 29s
CMake gcc 14 (maintainer mode, sync)
CMake gcc 14 (maintainer mode, async)
41m 33s
CMake gcc 14 (maintainer mode, async)
CMake clang 18 (maintainer mode, sync)
1h 3m
CMake clang 18 (maintainer mode, sync)
CMake clang 18 with C++14 (maintainer mode, async)
33m 9s
CMake clang 18 with C++14 (maintainer mode, async)
CMake clang 18 (maintainer mode, yaml config)
56m 57s
CMake clang 18 (maintainer mode, yaml config)
CMake clang 18 (maintainer mode, async)
1h 2m
CMake clang 18 (maintainer mode, async)
CMake clang 18 (maintainer mode, abiv2)
1h 2m
CMake clang 18 (maintainer mode, abiv2)
CMake msvc (maintainer mode)
1h 57m
CMake msvc (maintainer mode)
CMake msvc (maintainer mode) with C++20
1h 43m
CMake msvc (maintainer mode) with C++20
CMake msvc (maintainer mode, abiv2)
1h 56m
CMake msvc (maintainer mode, abiv2)
CMake test (without otlp-exporter and with async export)
7m 43s
CMake test (without otlp-exporter and with async export)
CMake test (with opentracing-shim)
5m 29s
CMake test (with opentracing-shim)
CMake C++14 test(GCC)
4m 59s
CMake C++14 test(GCC)
CMake C++17 test(GCC)
5m 41s
CMake C++17 test(GCC)
CMake C++20 test(GCC)
11m 48s
CMake C++20 test(GCC)
CMake C++20 test(Clang with libc++)
12m 2s
CMake C++20 test(Clang with libc++)
CMake C++23 test(GCC)
12m 19s
CMake C++23 test(GCC)
CMake C++23 test(Clang with libc++)
13m 37s
CMake C++23 test(Clang with libc++)
CMake test (with otlp-exporter)
44m 4s
CMake test (with otlp-exporter)
CMake test (with modern protobuf,grpc and abseil)
21m 7s
CMake test (with modern protobuf,grpc and abseil)
CMake do not install test (with otlp-exporter)
41m 17s
CMake do not install test (with otlp-exporter)
CMake test (build shared libraries with otlp-exporter and static gRPC)
47m 28s
CMake test (build shared libraries with otlp-exporter and static gRPC)
Plugin -> CMake
1m 25s
Plugin -> CMake
Bazel
29m 38s
Bazel
Bazel with async export
7m 30s
Bazel with async export
Bazel valgrind
15m 7s
Bazel valgrind
Bazel noexcept
6m 55s
Bazel noexcept
Bazel nortti
7m 42s
Bazel nortti
Bazel asan config
0s
Bazel asan config
Bazel tsan config
8m 48s
Bazel tsan config
Bazel on MacOS
7m 25s
Bazel on MacOS
Benchmark
3m 7s
Benchmark
Format
43s
Format
Copyright
23s
Copyright
CMake -> exporter proto
1h 50m
CMake -> exporter proto
CMake -> exporter proto (Build as DLL)
1h 43m
CMake -> exporter proto (Build as DLL)
CMake (With async export) -> exporter proto
1h 48m
CMake (With async export) -> exporter proto
Bazel Windows
41m 49s
Bazel Windows
Plugin -> CMake Windows
1h 24m
Plugin -> CMake Windows
Code coverage
17m 17s
Code coverage
markdown-lint
24s
markdown-lint
shellcheck
23s
shellcheck
misspell
18s
misspell
DocFX check
2m 2s
DocFX check
W3C Distributed Tracing Validation V1
5m 9s
W3C Distributed Tracing Validation V1
Fit to window
Zoom out
Zoom in

Annotations

1 warning
Benchmark
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
benchmark_reports
14.3 KB
sha256:67b96a6515f937726afe0b93826bf5b4b1b06f7b9209abdeb0c17b99bd895617