https://github.com/mathworks/opentelemetry-matlab
MATLAB interface to OpenTelemetry
https://github.com/mathworks/opentelemetry-matlab
Last synced: about 2 months ago
JSON representation
MATLAB interface to OpenTelemetry
- Host: GitHub
- URL: https://github.com/mathworks/opentelemetry-matlab
- Owner: mathworks
- License: apache-2.0
- Created: 2023-01-25T16:37:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-30T13:37:41.000Z (2 months ago)
- Last Synced: 2025-04-30T14:57:29.844Z (2 months ago)
- Language: MATLAB
- Size: 1000 KB
- Stars: 17
- Watchers: 3
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# MATLAB Interface to OpenTelemetry
[](https://www.mathworks.com/matlabcentral/fileexchange/130979-opentelemetry-matlab) [](https://github.com/mathworks/OpenTelemetry-Matlab/actions/workflows/build_and_test_full.yml)[](https://codecov.io/github/mathworks/OpenTelemetry-MATLAB)MATLAB® interface to [OpenTelemetry™](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.
### Status
- Tracing, metrics, and logs are all fully supported.
- Supported and tested on Windows®, Linux®, and macOS.### MathWorks Products (https://www.mathworks.com)
Requires MATLAB release R2022b or newer
- [MATLAB](https://www.mathworks.com/products/matlab.html)### 3rd Party Products:
- [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-releases/releases)
- [OpenTelemetry C++](https://github.com/open-telemetry/opentelemetry-cpp)
- [vcpkg C/C++ dependency manager](https://vcpkg.io)## Installation
Installation instructions### Installing With Toolbox Package
1. Under "Assets" of a release, download the toolbox package .mltbx file.
2. Start MATLAB.
3. In the Current Folder browser, navigate to the .mltbx file.
4. Right click on the .mltbx file and select "Install".### Building From Source
Before proceeding, ensure that the below products are installed:
* [MATLAB](https://www.mathworks.com/products/matlab.html)1. Download, Build and install OpenTelemetry MATLAB
```
cd
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=
cmake --build build --config Release --target install```
2. Download [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-releases/releases). You can just obtain a pre-built binary for your platform.## Getting Started
1. Start OpenTelemetry Collector
```
otelcol --config
```
2. Start MATLAB
3. Add the OpenTelemetry MATLAB install directories to your MATLAB path
```
>> addpath
```
## Examples
### Tracing
1. Create a default tracer provider and save it.
```
>> p = opentelemetry.sdk.trace.TracerProvider();
>> setTracerProvider(p);
```
2. Start a span
```
>> tr = opentelemetry.trace.getTracer("My Tracer");
>> sp = tr.startSpan("My Span");
```
3. End the span
```
>> sp.endSpan();
```
4. If your collector is configured to display the data, you should see your span displayed.
### Metrics
1. Create a default meter provider and save it.
```
>> p = opentelemetry.sdk.metrics.MeterProvider();
>> setMeterProvider(p);
```
2. Create a counter
```
>> m = opentelemetry.metrics.getMeter("My Meter");
>> c = m.createCounter("My Counter");
```
3. Increment the counter
```
>> c.add(10);
```
4. If your collector is configured to display the data, you should see your counter displayed after 1 minute.### Logs
1. Create a default logger provider and save it.
```
>> p = opentelemetry.sdk.logs.LoggerProvider();
>> setLoggerProvider(p);
```
2. Create a logger
```
>> l = opentelemetry.logs.getLogger("My Logger");
```
3. Emit a log record with "info" level
```
>> info(l, "My Message");
```
4. If your collector is configured to display the data, you should see your log record displayed.For more examples, see the "examples" folder.
## Automatic Instrumentation
See example [here](auto-instrumentation/README.md).## Help
To view documentation of individual function, type "help \\". For example,
```
>> help opentelemetry.sdk.trace.TracerProvider
```
## License
The license is available in the License file within this repository## Community Support
[MATLAB Central](https://www.mathworks.com/matlabcentral)Copyright 2023-2024 The MathWorks, Inc.