Skip to content

Jaeger remote sampler ignores declarative config interval option #8648

Description

@thswlsqls

Describe the bug
When configuring the Jaeger remote sampler through declarative (file) configuration, the interval option is silently ignored because JaegerRemoteSamplerComponentProvider.create() reads the wrong config key.

Steps to reproduce
Configure a jaeger_remote/development sampler via declarative config with a non-default interval, e.g.:

jaeger_remote/development:
  endpoint: http://localhost:14250
  interval: 10000
  initial_sampler:
    always_off:

The resulting sampler polls every 60000ms instead of the configured 10000ms.

What did you expect to see?
The configured interval value honored. The schema model ExperimentalJaegerRemoteSamplerModel defines the field as @JsonProperty("interval") (Javadoc: "If omitted or null, 60000 is used.").

What did you see instead?
JaegerRemoteSamplerComponentProvider.create() queries config.getLong("internal") instead of config.getLong("interval") (sdk-extensions/jaeger-remote-sampler/.../internal/JaegerRemoteSamplerComponentProvider.java line 50). The nonexistent internal key always returns null, so setPollingInterval is never called and the builder default (60000ms) applies. The sibling keys endpoint and initial_sampler are correct. Introduced in #6494.

What version and what artifacts are you using?
Artifacts: opentelemetry-sdk-extension-jaeger-remote-sampler, opentelemetry-sdk-extension-declarative-config
Version: main @ 09d6c17

Environment
Compiler: Temurin 21
OS: N/A

Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions