OpenTelemetry Protocol Exporter

Exports real-time simulation traces and performance metrics over OTLP
Categories: Utilities

ns3-otlp: Native OpenTelemetry Exporter Module for ns-3

  • Version: 1.0.0
  • License: GPL-3.0-or-later
  • SPDX Identifier: GPL-3.0-or-later

ns3-otlp is an open-source C++ extension module for Network Simulator 3 (ns-3) that exports real simulation traces and metrics over OTLP (OpenTelemetry Protocol via HTTP) to observability backends such as Jaeger UI.


Dependency Note: opentelemetry-cpp and gRPC are Apache-2.0 licensed.
GPL-3.0-or-later is explicitly compatible with Apache-2.0 per the FSF license compatibility matrix.

v1.0.0

Works with ns-3.46

Latest Build :

Build History : OpenTelemetry Protocol Exporter v1.0.0

Release Notes

<p><strong>Initial release of ns3-otlp module v1.0.0</strong></p> <p><strong>Key Features</strong></p> <ul> <li><strong>Virtual Clock Synchronization (<code>OtelClock</code>):</strong> Anchors simulation time to real wall-clock at <code>Install()</code>; prevents 1970 epoch span rejection in Jaeger UI.</li> <li><strong>Packet Lifecycle Tracing (<code>OtelTraceSink</code>):</strong> Auto-hooks <code>MacTx</code>, <code>MacRx</code>, <code>PhyRxDrop</code>, <code>MacTxDrop</code> on P2P and Wi-Fi devices. Emits spans with node IDs, packet UIDs, sizes, and drop reasons.</li> <li><strong>Metrics Pipeline (<code>OtelMetricSink</code>):</strong> Exports throughput counter (<code>ns3.bytes_transferred</code>), drop counter (<code>ns3.packet_drops</code>), and queue occupancy histogram (<code>ns3.queue_size</code>) over OTLP/HTTP (<code>/v1/metrics</code>).</li> <li><strong>ns-3 Native Design:</strong> Sinks inherit from <code>ns3::Object</code> with registered <code>TypeId</code> attributes under group <code>"otlp"</code>.</li> <li><strong>Graceful Build Fallback:</strong> Soft <code>pkg-config</code> probe for <code>opentelemetry-cpp</code> in <code>CMakeLists.txt</code>; skips module gracefully if SDK is missing.</li> <li><strong>Offline Testing:</strong> Unit tests use <code>InMemorySpanExporter</code> for zero-network CI execution.</li> </ul>

For installation procedure: https://the-ns3-programmer.github.io/ns3-otlp-docs/02_prerequisites_and_setup/

**👤 Maintainer Information** - **Maintainer:** Arun Santhosh R A - **Email:** [arunsanthosh.rashok@gmail.com](mailto:arunsanthosh.rashok@gmail.com) - **GitHub:** [@the-ns3-programmer](https://github.com/the-ns3-programmer) - **Repository:** [github.com/the-ns3-programmer/ns3-otlp](https://github.com/the-ns3-programmer/ns3-otlp)

This ns-3 extension is one or more contributed modules.

Version v1.0.0

Released Aug. 17, 2026

Works with ns-3.46