u/Darkuver

▲ 4 r/dotnet

AOTel: A Native AOT OTLP edge proxy for OpenTelemetry

Hey folks,

I spent the weekend working on a sidecar MVP. I wanted to share the results and get some feedback on my architecture choices, specifically regarding memory management.

I was interested in .NET 10 Native AOT and testing if it could build a "bulletproof vest" for apps that ingest telemetry without adding Garbage Collection debt.

So I built AOTel. It uses a custom Protobuf reader as a ref struct that works directly on ReadOnlySpan<byte>. It uses Zero Copy I/O and an ArrayPool<byte> for memory-safe batching.

Here are the results so far:

BenchmarkDotNet screenshot

Jaeger trace screenshot

Binary size / docker image footprint

I’m currently working on handling real-world traffic (upstream latency/retries).

If anyone here has experience with socket plumbing, the internals of OpenTelemetry, or Native AOT trimming, I would highly appreciate some feedback or a code review on the use cases I might be missing.

Repo: https://github.com/aotel/aotel

reddit.com
u/Darkuver — 12 days ago