Skip to content

chore: Added devcontainer for local development#3383

Open
vqrf wants to merge 1 commit intoopen-telemetry:mainfrom
vqrf:devcontainer
Open

chore: Added devcontainer for local development#3383
vqrf wants to merge 1 commit intoopen-telemetry:mainfrom
vqrf:devcontainer

Conversation

@vqrf
Copy link
Copy Markdown

@vqrf vqrf commented Feb 23, 2026

Changes

Added devcontainer for local development.

Notes

Devcontainer capabilities:

  • docker in docker, with moby disabled (not present in debian 13)
  • Rust 1.93 with rust-analyzer, rust-src, rustfmt, clippy, rust-docs
  • protobuf installed

Justification

Use new popular way to develop code with easy and reproducible environment for everyone.

Merge requirement checklist

  • CONTRIBUTING guidelines followed
  • Unit tests added/updated (if applicable)
  • Appropriate CHANGELOG.md files updated for non-trivial, user-facing changes
  • Changes in public API reviewed (if applicable)

@vqrf vqrf requested a review from a team as a code owner February 23, 2026 20:28
@linux-foundation-easycla
Copy link
Copy Markdown

CLA Not Signed

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.2%. Comparing base (09b85b5) to head (31c9bbc).

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #3383   +/-   ##
=====================================
  Coverage   82.2%   82.2%           
=====================================
  Files        128     128           
  Lines      24626   24626           
=====================================
  Hits       20267   20267           
  Misses      4359    4359           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

},
"features": {
"ghcr.io/devcontainers/features/rust:1": {
"version": "1.93",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think latest would probably be better? Otherwise we will be chasing our tails here

@scottgerring
Copy link
Copy Markdown
Member

We should reference this in CONTRIBUTING.md too, somewhere around here - if you prefer, you can get started quickly with a complete devcontainers setup!

### Prerequisites
Crate `opentelemetry-otlp` uses gRPC + Protocol Buffers.
You can provide the protocol compiler protoc path programmatically (only works with tonic) or build it from source

@scottgerring
Copy link
Copy Markdown
Member

I tried this out! It seems like we've got all the deps we need, but the "open in devcontainer" experience on my desktop (colima & docker, Mac) OOMs on build and test, in particular running the linker:

[ 1394.396063] Out of memory: Killed process 44829 (ld) total-vm:734740kB, anon-rss:685776kB, file-rss:104kB, shmem-rss:0kB, UID:1000 pgtables:1472kB oom_score_adj:0

The VM itself is setup with 2 GiB of RAM which I think is fairly typical. I have tried using CARGO_BUILD_JOBS=1 to constrain the RAM impact but it still OOMs, which isn't surprising as it is the linker step that is failing.

I think if we use devcontainers they should optimally just work as that's a big part of the sell, but i'm not sure there is a way to advertise to the OS/container engine that you need X GiB of RAM. Any ideas @vqrf ?

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.

2 participants