Skip to content

dnsdist: Implement OTLP RemoteLogger#17618

Draft
pieterlexis wants to merge 6 commits into
PowerDNS:masterfrom
pieterlexis:dnsdist-otlp-remote-logger
Draft

dnsdist: Implement OTLP RemoteLogger#17618
pieterlexis wants to merge 6 commits into
PowerDNS:masterfrom
pieterlexis:dnsdist-otlp-remote-logger

Conversation

@pieterlexis

Copy link
Copy Markdown
Contributor

Short description

This PR adds another kind of RemoteLogger, namely one for OTLP.

At the moment, it is only hooked up for dnsdist's traces. When using OpenTelemetry tracing, this logger and the SetTrace action, the DNS processing thread will send the Trace object to this Logger. This means that the protobuf serialization is handled in the RemoteLogger thread, freeing the DNS processing thread for real work.

I've opened this PR as a draft for early review and for the CI to do its thing.

Checklist

I have:

  • read the CONTRIBUTING.md document
  • read and accepted the Developer Certificate of Origin document, including the AI Policy, and added a "Signed-off-by" to my commits
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)

@coveralls

coveralls commented Jun 25, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 28383531898

Coverage decreased (-0.05%) to 71.089%

Details

  • Coverage decreased (-0.05%) from the base build.
  • Patch coverage: 79 uncovered changes across 6 files (131 of 210 lines covered, 62.38%).
  • 149 coverage regressions across 16 files.

Uncovered Changes

File Changed Covered %
pdns/dnsdistdist/otlp_logger.cc 106 70 66.04%
pdns/dnsdistdist/otlp_logger.hh 19 0 0.0%
pdns/dnsdistdist/dnsdist-lua-bindings-protobuf.cc 14 1 7.14%
pdns/dnsdistdist/protozero-otlp.hh 29 22 75.86%
pdns/dnsdistdist/dnsdist-configuration-yaml.cc 20 17 85.0%
pdns/dnsdistdist/dnsdist-lua-configuration-items.cc 2 1 50.0%
Total (7 files) 210 131 62.38%

Coverage Regressions

149 previously-covered lines in 16 files lost coverage.

Top 10 Files by Coverage Loss Lines Losing Coverage Coverage
modules/geoipbackend/geoipinterface-mmdb.cc 73 7.89%
pdns/recursordist/rec-system-resolve.cc 19 49.32%
pdns/recursordist/rec-tcp.cc 10 70.33%
pdns/opensslsigners.cc 9 61.47%
pdns/recursordist/syncres.cc 8 81.18%
pdns/recursordist/pdns_recursor.cc 5 75.65%
pdns/auth-secondarycommunicator.cc 4 57.94%
pdns/packethandler.cc 4 69.13%
pdns/communicator.cc 3 64.1%
pdns/iputils.cc 3 60.18%

Coverage Stats

Coverage Status
Relevant Lines: 171671
Covered Lines: 133766
Line Coverage: 77.92%
Relevant Branches: 82076
Covered Branches: 46619
Branch Coverage: 56.8%
Branches in Coverage %: Yes
Coverage Strength: 5388015.99 hits per line

💛 - Coveralls

@pieterlexis pieterlexis force-pushed the dnsdist-otlp-remote-logger branch 5 times, most recently from 8767b43 to a7e72db Compare June 29, 2026 13:27
@pieterlexis pieterlexis force-pushed the dnsdist-otlp-remote-logger branch from b7b9cbd to 24e6375 Compare June 29, 2026 15:30
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