Skip to content

feat(telemetry): add runtime EventName filtering for internal logs#3511

Draft
cijothomas wants to merge 7 commits into
open-telemetry:mainfrom
cijothomas:eventname-filter-spike-rebased
Draft

feat(telemetry): add runtime EventName filtering for internal logs#3511
cijothomas wants to merge 7 commits into
open-telemetry:mainfrom
cijothomas:eventname-filter-spike-rebased

Conversation

@cijothomas

@cijothomas cijothomas commented Jul 17, 2026

Copy link
Copy Markdown
Member

Change Summary

Adds EventName-level filtering for df_engine internal telemetry logs. The new engine.telemetry.logs.events configuration is combined with the existing level and target filter, and supports mutually exclusive allow and deny lists with exact or trailing-wildcard prefix patterns.

engine:
  telemetry:
    logs:
      level: "info"
      events:
        allow:
          - "receiver.start"
          - "channel.*"

The filter reads the OpenTelemetry EventName from tracing::Metadata::name(). Because the EventName is static for each tracing callsite, the filter caches an Interest::always() or Interest::never() decision instead of evaluating the policy for every event. Policy updates use ArcSwap for atomic replacement and rebuild tracing's callsite interest cache, moving matching cost to configuration updates and keeping it off the emission hot path.

Successful full-engine reconciliation applies the validated EventName policy to the shared runtime filter, including configuration received through the OpAMP controller extension. Failed or invalid reconciliation preserves the active filter.

What issue does this PR close?

Relates to #3387

Are there any user-facing changes?

Yes. Users can filter internal telemetry logs by EventName through static configuration or full-engine remote configuration without restarting the engine or rebuilding tracing subscribers.

Changelog

  • Added a .chloggen/*.yaml entry
  • This PR is a chore (indicated in title)
  • This is a documentation-only PR.

@github-actions github-actions Bot added lang:rust Pull requests that update Rust code area:engine Internal engine features area:observability Engine observability area:engine/config User-facing configuration of the engine labels Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.71383% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.52%. Comparing base (4ab1d24) to head (a14ccbc).

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #3511    +/-   ##
========================================
  Coverage   86.51%   86.52%            
========================================
  Files         782      783     +1     
  Lines      313105   313396   +291     
========================================
+ Hits       270893   271169   +276     
- Misses      41688    41703    +15     
  Partials      524      524            
Components Coverage Δ
otap-dataflow 87.55% <98.71%> (+<0.01%) ⬆️
query_engine 89.57% <ø> (ø)
otel-arrow-go 52.45% <ø> (ø)
quiver 92.19% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Jul 18, 2026

Copy link
Copy Markdown

Pull request dashboard status

Status last refreshed: 2026-07-22 19:57:38 UTC.

  • Waiting on: Author
  • Next step: Move out of draft to request review.

This automated status or its linked feedback items may be incorrect. If something looks wrong, please report it with the result you expected.

@cijothomas
cijothomas force-pushed the eventname-filter-spike-rebased branch from 0d4ae23 to a14ccbc Compare July 18, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:engine/config User-facing configuration of the engine area:engine Internal engine features area:observability Engine observability lang:rust Pull requests that update Rust code

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant