open-telemetry / open-telemetry/opentelemetry-java-contrib

[dynamic control][Meta] Phase 2 steps

Open
#2,868 0 comments 0 reactions 1 assignee View on GitHub

@jackshirazi is already working on this.

Since May 27, 2026.

enhancement
Dominant language
Java
Stars
269
Forks
196
Avg merge
2d 7h
Merged PRs (30d)
38

Description

Component(s)

dynamic-control

Is your feature request related to a problem? Please describe.

The initial POC implementation is essentially complete (#2546). The next steps needed to make it more fully featured and aligned with the spec are listed here.

  • Documentation on how to use the extension #2885
  • Enabling the extension to be used with declarative config as well as autoconfiguration (needs a ComponentProvider and a DeclarativeCustomizerProvider) #2967
  • Per feedback change TelemetryPolicy to be interface (or abstract?), with a special instance for deleted elements #2943 #2944 #2948
  • Align to spec - policy identity is incomplete. Spec requires every policy to have an id and name #2926 #2942 #2949
  • TelemetryPolicy should retain the source as, when comparing, the sources are prioritized, so eg a change from OpAMP source cannot be overridden except from another OpAMP source change, but a change from a file can be overridden, etc #2970 #2972 #2973 #2974 #3004
  • refactor TelemetryPolicy implementations to enforce some abstract methods that get called from equals and hashCode or whatever is required for comparison #2960 #2968
  • Align to spec, support acceptable message structure #3037
  • Align to spec clarification
  • Add further available policies
    • trace sampling percentage & ratio #3050 #3070 #3071 #3076 #3097 #3100 #3102
    • disabling instrumentations
    • disabling all instrumentations
    • stop exporting per signal
    • change log level
    • enable inferred spans
    • change opamp polling interval
  • Redo how DelegatingSampler works to handle more than one sampler, eg both probability and rule-based.
    • Then add a rule-based sampler policy to dynamic control
  • Add further provider implementations #2975 #2987 #3010 #3038 #3039
    • Add provider implementation for File
    • Add provider implementation for HTTP #3040
  • Align to spec (current implementation has drifted in some areas) #2957
  • reconsider parsing per suggestion - reviewed and it's a different approach but has downsides, as well as some simplification. Won't do
  • Implement TODOs

The following items are further in the future, probably a phase 3, but listed here for now for clarity

  • Align to spec - support yaml input
  • Align to spec - support protobuf input
  • Declarative config telemetry policy node semconv
  • Telemetry policy names semconv
Describe the solution you'd like

Implement the above items in small PRs to keep review overhead low

Describe alternatives you've considered

No response

Additional context

Part of #2416

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.