Skip to content

Commit 26568fd

Browse files
committed
Added Code coverage changes to seperate branch
1 parent 0267d62 commit 26568fd

18 files changed

+207
-31
lines changed

.github/workflows/build_and_test_full.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
- name: Install MATLAB
4141
uses: matlab-actions/setup-matlab@v2
4242
with:
43+
release: R2025a
4344
products: MATLAB_Compiler MATLAB_Compiler_SDK
4445
- name: Build OpenTelemetry-Matlab
4546
working-directory: opentelemetry-matlab
@@ -70,6 +71,7 @@ jobs:
7071
- name: Install MATLAB
7172
uses: matlab-actions/setup-matlab@v2
7273
with:
74+
release: R2025a
7375
products: MATLAB_Compiler MATLAB_Compiler_SDK
7476
- name: Build OpenTelemetry-Matlab
7577
working-directory: opentelemetry-matlab
@@ -106,6 +108,8 @@ jobs:
106108
- name: Install MATLAB
107109
uses: matlab-actions/setup-matlab@v2
108110
with:
111+
# pin to R2024b because R2025a has an issue that causes a failure when building the context_propagation example
112+
release: R2024b
109113
products: MATLAB_Compiler MATLAB_Compiler_SDK
110114
- name: Build OpenTelemetry-Matlab
111115
working-directory: opentelemetry-matlab
@@ -140,9 +144,12 @@ jobs:
140144
- name: Install MATLAB
141145
uses: matlab-actions/setup-matlab@v2
142146
with:
147+
release: R2025a
143148
products: MATLAB_Compiler MATLAB_Compiler_SDK
144149
- name: Build OpenTelemetry-Matlab
145150
working-directory: opentelemetry-matlab
151+
env:
152+
CMAKE_POLICY_VERSION_MINIMUM: 3.5 # required by upb because its cmake requirement is not compatible with cmake 4
146153
run: |
147154
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_EXAMPLES=ON -DWITH_OTLP_GRPC=ON -DUSE_BATCH_FOR_MCC=ON -DOTEL_MATLAB_VERSION=${{ needs.get_version.outputs.version }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
148155
cmake --build build --config Release --target install

.github/workflows/build_and_test_simple.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
- name: Install MATLAB
4242
uses: matlab-actions/setup-matlab@v2
4343
with:
44+
release: R2025a
4445
products: MATLAB_Compiler MATLAB_Compiler_SDK
4546
- name: Build OpenTelemetry-Matlab
4647
working-directory: opentelemetry-matlab
@@ -70,6 +71,8 @@ jobs:
7071
- name: Install MATLAB
7172
uses: matlab-actions/setup-matlab@v2
7273
with:
74+
# pin to R2024b because R2025a has an issue that causes a failure when building the context_propagation example
75+
release: R2024b
7376
products: MATLAB_Compiler MATLAB_Compiler_SDK
7477
- name: Build OpenTelemetry-Matlab
7578
working-directory: opentelemetry-matlab
@@ -104,6 +107,7 @@ jobs:
104107
- name: Install MATLAB
105108
uses: matlab-actions/setup-matlab@v2
106109
with:
110+
release: R2025a
107111
products: MATLAB_Compiler MATLAB_Compiler_SDK
108112
- name: Build OpenTelemetry-Matlab
109113
working-directory: opentelemetry-matlab

.github/workflows/create_release.yml

Lines changed: 142 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- name: Install MATLAB
1919
uses: matlab-actions/setup-matlab@v2
2020
with:
21+
release: R2025a
2122
products: MATLAB_Compiler
2223
- name: Build OpenTelemetry-Matlab
2324
working-directory: opentelemetry-matlab
@@ -46,6 +47,7 @@ jobs:
4647
- name: Install MATLAB
4748
uses: matlab-actions/setup-matlab@v2
4849
with:
50+
release: R2025a
4951
products: MATLAB_Compiler
5052
- name: Build OpenTelemetry-Matlab
5153
working-directory: opentelemetry-matlab
@@ -79,9 +81,12 @@ jobs:
7981
- name: Install MATLAB
8082
uses: matlab-actions/setup-matlab@v2
8183
with:
84+
release: R2025a
8285
products: MATLAB_Compiler
8386
- name: Build OpenTelemetry-Matlab
8487
working-directory: opentelemetry-matlab
88+
env:
89+
CMAKE_POLICY_VERSION_MINIMUM: 3.5 # required by upb because its cmake requirement is not compatible with cmake 4
8590
run: |
8691
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=ON -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
8792
cmake --build build --config Release --target install
@@ -93,6 +98,98 @@ jobs:
9398
with:
9499
name: otel-matlab-${{ matrix.os }}.tar.gz
95100
path: ${{ github.workspace }}/otel-matlab-${{ matrix.os }}.tar.gz
101+
nogrpc-ubuntu: # without gRPC exporter
102+
runs-on: ubuntu-22.04
103+
env:
104+
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
105+
steps:
106+
- name: Download OpenTelemetry-Matlab source
107+
uses: actions/checkout@v3
108+
with:
109+
path: opentelemetry-matlab
110+
- name: Install ninja-build
111+
run: sudo apt-get install ninja-build
112+
- name: Install MATLAB
113+
uses: matlab-actions/setup-matlab@v2
114+
with:
115+
release: R2025a
116+
products: MATLAB_Compiler
117+
- name: Build OpenTelemetry-Matlab
118+
working-directory: opentelemetry-matlab
119+
run: |
120+
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
121+
cmake --build build --config Release --target install
122+
- name: Compress into single artifact
123+
working-directory: ${{ github.workspace }}
124+
run: tar -czf otel-matlab-nogrpc-ubuntu.tar.gz otel_matlab_install
125+
- name: Upload artifacts
126+
uses: actions/upload-artifact@v4
127+
with:
128+
name: otel-matlab-nogrpc-ubuntu.tar.gz
129+
path: ${{ github.workspace }}/otel-matlab-nogrpc-ubuntu.tar.gz
130+
nogrpc-windows: # without gRPC exporter
131+
runs-on: windows-latest
132+
env:
133+
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
134+
steps:
135+
- name: Download OpenTelemetry-Matlab source
136+
uses: actions/checkout@v3
137+
with:
138+
path: opentelemetry-matlab
139+
- name: Install ninja-build
140+
run: choco install ninja
141+
- name: Install MATLAB
142+
uses: matlab-actions/setup-matlab@v2
143+
with:
144+
release: R2025a
145+
products: MATLAB_Compiler
146+
- name: Build OpenTelemetry-Matlab
147+
working-directory: opentelemetry-matlab
148+
shell: cmd
149+
run: |
150+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
151+
cmake -S . -B build -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DFETCH_VCPKG=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
152+
cmake --build build --config Release --target install
153+
- name: Compress into single artifact
154+
working-directory: ${{ github.workspace }}
155+
run: tar -czf otel-matlab-nogrpc-windows.tar.gz otel_matlab_install
156+
- name: Upload artifacts
157+
uses: actions/upload-artifact@v4
158+
with:
159+
name: otel-matlab-nogrpc-windows.tar.gz
160+
path: ${{ github.workspace }}/otel-matlab-nogrpc-windows.tar.gz
161+
nogrpc-macos: # without gRPC exporter
162+
runs-on: ${{ matrix.os }}
163+
strategy:
164+
matrix:
165+
os: [macos-13, macos-14] # runs on Mac with both Intel (macos-13) and Apple Silicon (macos-14) processors
166+
env:
167+
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
168+
steps:
169+
- name: Download OpenTelemetry-Matlab source
170+
uses: actions/checkout@v3
171+
with:
172+
path: opentelemetry-matlab
173+
- name: Install ninja-build
174+
run: brew install ninja
175+
- name: Install MATLAB
176+
uses: matlab-actions/setup-matlab@v2
177+
with:
178+
release: R2025a
179+
products: MATLAB_Compiler
180+
- name: Build OpenTelemetry-Matlab
181+
working-directory: opentelemetry-matlab
182+
run: |
183+
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_FILE=ON -DOTEL_MATLAB_VERSION=${{ github.ref_name }} -DCMAKE_INSTALL_PREFIX=${{ env.OPENTELEMETRY_MATLAB_INSTALL }}
184+
cmake --build build --config Release --target install
185+
- name: Compress into single artifact
186+
working-directory: ${{ github.workspace }}
187+
run: tar -czf otel-matlab-nogrpc-${{ matrix.os }}.tar.gz otel_matlab_install
188+
- name: Upload artifacts
189+
uses: actions/upload-artifact@v4
190+
with:
191+
name: otel-matlab-nogrpc-${{ matrix.os }}.tar.gz
192+
path: ${{ github.workspace }}/otel-matlab-nogrpc-${{ matrix.os }}.tar.gz
96193
package-mltbx:
97194
name: Package MATLAB Toolbox (MLTBX) Files
98195
runs-on: ubuntu-22.04
@@ -102,8 +199,13 @@ jobs:
102199
- build-ubuntu
103200
- build-windows
104201
- build-macos
202+
- nogrpc-ubuntu
203+
- nogrpc-windows
204+
- nogrpc-macos
105205
env:
106206
OPENTELEMETRY_MATLAB_INSTALL: "${{ github.workspace }}/otel_matlab_install"
207+
WITHGRPC_FOLDER: "${{ github.workspace }}/withgrpc"
208+
NOGRPC_FOLDER: "${{ github.workspace }}/nogrpc"
107209
steps:
108210
- name: Checkout OpenTelemetry-Matlab
109211
uses: actions/checkout@v3
@@ -115,26 +217,61 @@ jobs:
115217
path: artifacts-downloaded
116218
- name: Decompress Artifacts
117219
run: |
118-
mv artifacts-downloaded/*/*.tar.gz .
220+
mkdir $WITHGRPC_FOLDER
221+
cd $WITHGRPC_FOLDER
222+
mv ../artifacts-downloaded/*/otel-matlab-ubuntu.tar.gz .
223+
mv ../artifacts-downloaded/*/otel-matlab-macos*.tar.gz .
224+
mv ../artifacts-downloaded/*/otel-matlab-windows.tar.gz .
119225
tar -xzvf otel-matlab-ubuntu.tar.gz
120226
tar -xzvf otel-matlab-macos-13.tar.gz
121227
tar -xzvf otel-matlab-macos-14.tar.gz
122228
tar -xzvf otel-matlab-windows.tar.gz
229+
- name: Decompress Artifacts without gRPC exporter
230+
run: |
231+
mkdir $NOGRPC_FOLDER
232+
cd $NOGRPC_FOLDER
233+
mv ../artifacts-downloaded/*/*nogrpc*.tar.gz .
234+
tar -xzvf otel-matlab-nogrpc-ubuntu.tar.gz
235+
tar -xzvf otel-matlab-nogrpc-macos-13.tar.gz
236+
tar -xzvf otel-matlab-nogrpc-macos-14.tar.gz
237+
tar -xzvf otel-matlab-nogrpc-windows.tar.gz
123238
- name: Install MATLAB
124-
uses: matlab-actions/setup-matlab@v1
125-
- name: Run commands
239+
uses: matlab-actions/setup-matlab@v2
240+
with:
241+
release: R2025a
242+
- name: Package Toolbox
243+
env:
244+
MATLABPATH: OpenTelemetry-Matlab/tools
245+
WORKING_FOLDER: ${{ env.WITHGRPC_FOLDER }}
246+
OTEL_MATLAB_TOOLBOX_FOLDER: otel_matlab_install
247+
OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER: ${{ env.WITHGRPC_FOLDER }}
248+
OTEL_MATLAB_TOOLBOX_VERSION: ${{ github.ref_name }}
249+
OTEL_MATLAB_TOOLBOX_NAME: otel-matlab
250+
uses: matlab-actions/run-command@v1
251+
with:
252+
command: packageMatlabInterface
253+
- name: Package Toolbox without gRPC exporter
126254
env:
127255
MATLABPATH: OpenTelemetry-Matlab/tools
256+
WORKING_FOLDER: ${{ env.NOGRPC_FOLDER }}
128257
OTEL_MATLAB_TOOLBOX_FOLDER: otel_matlab_install
129-
OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER:
258+
OTEL_MATLAB_TOOLBOX_OUTPUT_FOLDER: ${{ env.NOGRPC_FOLDER }}
130259
OTEL_MATLAB_TOOLBOX_VERSION: ${{ github.ref_name }}
260+
OTEL_MATLAB_TOOLBOX_NAME: otel-matlab-nogrpc
131261
uses: matlab-actions/run-command@v1
132262
with:
133263
command: packageMatlabInterface
264+
- name: Compress Toolbox without gRPC exporter
265+
working-directory: ${{ env.NOGRPC_FOLDER }}
266+
run: tar -czf otel-matlab-nogrpc.mltbx.tar.gz otel-matlab-nogrpc.mltbx
134267
- name: Create release
135268
uses: softprops/action-gh-release@v2
269+
# Upload toolbox without gRPC exporter in compressed format
270+
# This is to avoid multiple .mltbx files, which will cause issues in MATLAB File Exchange
136271
with:
137-
files: ./otel-matlab.mltbx
272+
files: |
273+
${{ env.WITHGRPC_FOLDER }}/otel-matlab.mltbx
274+
${{ env.NOGRPC_FOLDER }}/otel-matlab-nogrpc.mltbx.tar.gz
138275
name: "Version ${{ github.ref_name }}"
139276
fail_on_unmatched_files: true
140277
generate_release_notes: false

CMakeLists.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ else()
2828

2929
set(VCPKG_FETCH_CONTENT_NAME vcpkg)
3030
set(VCPKG_GIT_REPOSITORY "https://github.com/microsoft/vcpkg.git")
31-
set(VCPKG_GIT_TAG "f7423ee")
31+
set(VCPKG_GIT_TAG "ce613c4")
3232
FetchContent_Declare(
3333
${VCPKG_FETCH_CONTENT_NAME}
3434
GIT_REPOSITORY ${VCPKG_GIT_REPOSITORY}
@@ -56,7 +56,11 @@ if(APPLE)
5656
# use libcurl as a shared library and load the MATLAB version at runtime
5757
# run uname -m to determine whether arm64 or x86_64
5858
exec_program(uname ARGS -m OUTPUT_VARIABLE MAC_HOST_SYSTEM)
59-
set(VCPKG_OTEL_TRIPLET ${MAC_HOST_SYSTEM}-osx-otel-matlab)
59+
if(${MAC_HOST_SYSTEM} STREQUAL "arm64")
60+
set(VCPKG_OTEL_TRIPLET "arm64-osx-otel-matlab")
61+
elseif(${MAC_HOST_SYSTEM} STREQUAL "x86_64")
62+
set(VCPKG_OTEL_TRIPLET "x64-osx-otel-matlab")
63+
endif()
6064
set(VCPKG_OVERLAY_TRIPLETS ${CMAKE_SOURCE_DIR}/cmake/vcpkg_triplets)
6165
set(VCPKG_TARGET_TRIPLET ${VCPKG_OTEL_TRIPLET})
6266
set(TRIPLET_DEFINITIONS -DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET})
@@ -117,7 +121,7 @@ set(LIBMEXCLASS_FETCH_CONTENT_NAME libmexclass)
117121

118122
set(LIBMEXCLASS_FETCH_CONTENT_GIT_REPOSITORY "https://github.com/mathworks/libmexclass.git")
119123

120-
set(LIBMEXCLASS_FETCH_CONTENT_GIT_TAG "bc2b9f2")
124+
set(LIBMEXCLASS_FETCH_CONTENT_GIT_TAG "3a3b581")
121125

122126
set(LIBMEXCLASS_FETCH_CONTENT_SOURCE_SUBDIR "libmexclass/cpp")
123127

@@ -419,7 +423,7 @@ if(WIN32)
419423

420424
if(WITH_OTLP_HTTP)
421425
set(OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES}
422-
$<TARGET_FILE:CURL::libcurl>)
426+
$<TARGET_FILE:CURL::libcurl_shared>)
423427
endif()
424428

425429
if(WITH_OTLP_GRPC)
@@ -428,10 +432,8 @@ if(WIN32)
428432
set(OPENSSL_DLL libssl-3-x64.dll)
429433
set(OPENSSL_CRYPTO_DLL libcrypto-3-x64.dll)
430434
set(OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES}
431-
$<TARGET_FILE:c-ares::cares>
432435
$<TARGET_FILE_DIR:OpenSSL::SSL>/../bin/${OPENSSL_DLL}
433-
$<TARGET_FILE_DIR:OpenSSL::SSL>/../bin/${OPENSSL_CRYPTO_DLL}
434-
$<TARGET_FILE:re2::re2>)
436+
$<TARGET_FILE_DIR:OpenSSL::SSL>/../bin/${OPENSSL_CRYPTO_DLL})
435437
endif()
436438
else()
437439
set(OTEL_CPP_RUNTIME ${OTEL_CPP_PREFIX}/lib/libopentelemetry_proto${CMAKE_SHARED_LIBRARY_SUFFIX})
@@ -544,3 +546,4 @@ install(FILES ${OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES} DESTINATION ${LIBMEXCLASS
544546
if(WITH_EXAMPLES)
545547
add_subdirectory(examples)
546548
endif()
549+

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,13 @@
44
MATLAB&reg; interface to [OpenTelemetry&trade;](https://opentelemetry.io/), based on the [OpenTelemetry Specification](https://opentelemetry.io/docs/specs/otel/). OpenTelemetry is an observability framework for creating and managing telemetry data, such as traces, metrics, and logs. This data can then be sent to an observability back-end for monitoring, alerts, and analysis.
55

66
### Status
7-
- Tracing, metrics, and logs are all fully supported.
8-
- Supported and tested on Windows&reg;, Linux&reg;, and macOS.
7+
1. Tracing, metrics, and logs are all fully supported and tested on Windows&reg;, Linux&reg;, and macOS.
8+
2. On Linux, when running MATLAB R2025a or newer releases, the gRPC library used in the gRPC exporter in this package may conflict with the same library in MATLAB, causing MATLAB to crash. To avoid this issue, install otel-matlab-nogrpc.mltbx in [version 1.10.2](https://github.com/mathworks/OpenTelemetry-MATLAB/releases/tag/1.10.2), which excludes the gRPC exporter.
9+
3. If you are using [version 1.10.2](https://github.com/mathworks/OpenTelemetry-MATLAB/releases/tag/1.10.2) on Linux with MATLAB R2024a or older, you may run into an "Invalid MEX file" error due to an incompatible libstdc++ library. Define the environment variable LD_PRELOAD to point to the system libstdc++.so. For example, use the following command in a Bash shell on Ubuntu or Debian Linux.
10+
```
11+
export LD_PRELOAD="/lib/x86_64-linux-gnu/libstdc++.so.6"
12+
```
13+
4. OpenTelemetry currently does not support non-ASCII characters. Defining names or attributes with non-ASCII characters will cause the telemetry data to become invalid and fail to export.
914

1015
### MathWorks Products (https://www.mathworks.com)
1116

cmake/vcpkg_triplets/arm64-osx-otel-matlab.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ if(${PORT} MATCHES "(curl|zlib)")
55
else()
66
set(VCPKG_LIBRARY_LINKAGE static)
77
endif()
8+
# disable the script to fix rpath for curl, which makes an undesirable change to
9+
# the install name from @rpath/libcurl.4.dylib to @rpath/libcurl.4.8.0.dylib
10+
if(${PORT} MATCHES "curl")
11+
set(VCPKG_FIXUP_MACHO_RPATH OFF)
12+
endif()
13+
814

915
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
1016
set(VCPKG_OSX_ARCHITECTURES arm64)

cmake/vcpkg_triplets/x86_64-osx-otel-matlab.cmake renamed to cmake/vcpkg_triplets/x64-osx-otel-matlab.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ if(${PORT} MATCHES "(curl|zlib)")
55
else()
66
set(VCPKG_LIBRARY_LINKAGE static)
77
endif()
8+
# disable the script to fix rpath for curl, which makes an undesirable change to
9+
# the install name from @rpath/libcurl.4.dylib to @rpath/libcurl.4.8.0.dylib
10+
if(${PORT} MATCHES "curl")
11+
set(VCPKG_FIXUP_MACHO_RPATH OFF)
12+
endif()
813

914
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
1015
set(VCPKG_OSX_ARCHITECTURES x86_64)

cmake/vcpkg_triplets/x64-windows-otel-matlab.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
set(VCPKG_TARGET_ARCHITECTURE x64)
22
set(VCPKG_CRT_LINKAGE dynamic)
3-
# Conflict with abseil_dll.dll used by Simulink. Use static library to avoid conflict.
4-
if(${PORT} MATCHES "abseil")
3+
# Conflict with abseil_dll.dll used by Simulink. cares.dll and re2.dll are also shipped with MATLAB.
4+
# Use static libraries to avoid conflict.
5+
if(${PORT} MATCHES "(abseil|c-ares|re2)")
56
set(VCPKG_LIBRARY_LINKAGE static)
67
else()
78
set(VCPKG_LIBRARY_LINKAGE dynamic)

test/callbacks/callbackWithAttributes3.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
function result = callbackWithAttributes3()
22
% Test callback function for asynchronous instruments that uses attributes
3+
% in a dictionary
34
%
4-
% Copyright 2024 The MathWorks, Inc.
5+
% Copyright 2025 The MathWorks, Inc.
56

67
value = 30;
78
result = opentelemetry.metrics.ObservableResult;

0 commit comments

Comments
 (0)