Skip to content

ns3-otlp v1.0.0

Latest

Choose a tag to compare

@arun-dot-com arun-dot-com released this 17 Aug 05:09
· 1 commit to main since this release

ns3-otlp v1.0.0 - Initial Open-Source Release

Key Features

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