-
Notifications
You must be signed in to change notification settings - Fork 2
feat: OTLP exporter spec alignment, protobuf encoding path, and native unit tests #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kyletaylored
wants to merge
32
commits into
proffalken:main
Choose a base branch
from
kyletaylored:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
4ed99ac
feat(sender): align OTLP exporter configuration with OTel spec
kyletaylored 1127483
fix(metrics): serialize aggregationTemporality as integer enum
kyletaylored fe17536
feat(examples): fix basic example and add direct_otlp example
kyletaylored 3ee78a4
chore: update CI, docs, and project metadata
kyletaylored 02e296f
fix(metrics): correct aggregationTemporality enum values
kyletaylored 7649eb3
feat(proto): add full protobuf/nanopb encoding path for all three OTL…
kyletaylored 4c69ba1
feat(examples): add proto_otlp example and declare examples in librar…
kyletaylored 7b9491d
ci: add workflow_dispatch trigger for manual test runs
kyletaylored 0d0d91d
ci: add validate workflow with workflow_dispatch trigger
kyletaylored 4483e43
fix(ci): prevent registry library from shadowing local source
kyletaylored 590742d
fix(ci): fully specify proto envs instead of using extends
kyletaylored ffe2fb9
fix(proto): use relative includes in .pb.inc files
kyletaylored f61796d
fix(proto): use relative includes in .pb.h cross-references
kyletaylored 67eb345
fix(proto): include OtelMetrics.h and OtelLogger.h in OtelProtoEncode…
kyletaylored da618c4
fix(warnings): remove unused static functions in proto build path
kyletaylored 7551325
feat(test): add native unit test skeleton for OTLP payload validation
kyletaylored f3d5b0b
refactor(proto): replace local pb files with aodtorusan/opentelemetry…
kyletaylored 63adcb8
chore(config): add opentelemetry_proto to all envs, restore comments
kyletaylored a05cd1c
fix(ci): rename test suite dir to test_otlp so PlatformIO discovers it
kyletaylored a83291e
fix(native-tests): resolve String type errors in host GCC build
kyletaylored a466fac
This command is deprecated and will be removed in the next releases.
kyletaylored 40c9b38
fix(native-tests): add missing Arduino polyfills to host stub
kyletaylored 916d86d
fix(native-tests): add String::concat and Stream::readBytes to stub
kyletaylored 6261182
fix(tests): get all 13 native Unity tests passing
kyletaylored ccc3da7
Merge branch 'main' into otlp-exporter
kyletaylored 0fe3e27
Merge pull request #1 from kyletaylored/otlp-exporter
kyletaylored 09d473f
docs: add Doxygen docstrings to reach 80% coverage threshold
kyletaylored 854b2c4
Remove broken OTel type aliases that referenced nonexistent OTelLogge…
kyletaylored 3171866
fix: address CodeRabbit PR review findings
kyletaylored 0bda033
Add OTelSender::addHeader() runtime API for backend-specific headers
kyletaylored 6c8f9ab
fix(sender): address CodeRabbit findings on OtelSender.cpp
kyletaylored 202ec21
fix(sender): use binary buffer for queue payloads + bounds-check tuna…
kyletaylored File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -45,3 +45,7 @@ | |
|
|
||
| # Environment secrets | ||
| .env | ||
|
|
||
| # Local dev | ||
| .claude | ||
| .vscode | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # basic example | ||
|
|
||
| Minimal working sketch that sends a heartbeat trace, a correlated log, and a | ||
| gauge metric on a fixed interval. | ||
|
|
||
| ## What it does | ||
|
|
||
| Every 5 seconds the main loop: | ||
|
|
||
| 1. Opens a trace span called `heartbeat` | ||
| 2. Emits an `INFO` log correlated to that span (the `traceId` and `spanId` are | ||
| attached automatically) | ||
| 3. Records a gauge metric (`heartbeat.uptime_seconds`) | ||
| 4. Closes the span, which triggers the OTLP send | ||
|
|
||
| ## Configuration | ||
|
|
||
| Set these via `-D` flags in your `platformio.ini` `build_flags`: | ||
|
|
||
| | Flag | Purpose | | ||
| |---|---| | ||
| | `WIFI_SSID` / `WIFI_PASS` | Wi-Fi credentials | | ||
| | `OTEL_EXPORTER_OTLP_ENDPOINT` | Base URL of your collector, e.g. `http://192.168.1.100:4318` | | ||
| | `OTEL_SERVICE_NAME` | Service name reported in all telemetry | | ||
|
|
||
| See the root [README](../../README.md) for the full list of configuration flags. | ||
|
|
||
| ## Running | ||
|
|
||
| ```ini | ||
| ; platformio.ini | ||
| [env:esp32dev] | ||
| platform = espressif32 | ||
| board = esp32dev | ||
| framework = arduino | ||
| lib_deps = https://github.com/proffalken/otel-embedded-cpp.git#main | ||
| build_flags = | ||
| -DWIFI_SSID="\"your-ssid\"" | ||
| -DWIFI_PASS="\"your-password\"" | ||
| -DOTEL_EXPORTER_OTLP_ENDPOINT="\"http://192.168.1.100:4318\"" | ||
| -DOTEL_SERVICE_NAME="\"my-device\"" | ||
| ``` |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.