Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jmx receiver: migration plan to use jmx-scraper #37469

Open
SylvainJuge opened this issue Jan 24, 2025 · 1 comment
Open

jmx receiver: migration plan to use jmx-scraper #37469

SylvainJuge opened this issue Jan 24, 2025 · 1 comment
Labels
needs triage New item requiring triage receiver/jmx JMX Receiver

Comments

@SylvainJuge
Copy link

Component(s)

receiver/jmx

Describe the issue you're reporting

This relates to #34825.

The path we took to implement this involved the creation of a new jmx-scraper artifact which is now published in maven central with version 1.46.0 of java contrib.

The next step is to allow users of jmxreceiver to start using it.

On the collector/jmxreceiver side @rogercoll is likely to handle most of the contributions, on the java side @SylvainJuge and @robsunday can help with testing and implementation details of jmx-scraper.

Steps

1) Provide the ability to use jmx-scraper with jmxreceiver

  • add an option to switch between jmx-gatherer (still default for now) and jmx-scraper (new)
  • modify the reference artifact hashes to include jmx-scraper + update automation that updates it
  • provide documentation and start defining a migration path for existing users

2) Add an option to allow using custom metric definitions yaml files:

This is a new feature that wasn't previously available with jmx-gatherer because it relied on groovy scripts which could lead to code execution.

This depends on aligning the config name + using multiple custom yaml files (in jmx-scraper):

Future steps: providing ability to select which variant of metrics definitions to use

Those are here mostly for documentation and to give a glimpse at future direction, they will need to be refined in the future.

  • we currently have 3 metrics definitions: 2 in yaml with jmx-gatherer and jmx-insight (in java instrumentation), and one in groovy.
  • we need to define a single location to define them in yaml that will be shared between jmx-scraper and java instrumentation
  • we need to align the metrics definitions, which is expected to take a bit of time and effort and will introduce some breaking changes.
  • we need to provide the ability to switch the version of the yaml files that are being used, or at least to toggle between "current yaml definition in jmx-scraper that is mostly 1:1 to the jmx-gatherer groovy" and "common yaml definitions shared with instrumentation"
@SylvainJuge SylvainJuge added the needs triage New item requiring triage label Jan 24, 2025
@github-actions github-actions bot added the receiver/jmx JMX Receiver label Jan 24, 2025
Copy link
Contributor

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

songy23 pushed a commit that referenced this issue Jan 24, 2025
Proposing to take the position of codeowner of the jmxreceiver with
@atoulme.

Next planned features
#37469
chengchuanpeng pushed a commit to chengchuanpeng/opentelemetry-collector-contrib that referenced this issue Jan 26, 2025
)

Proposing to take the position of codeowner of the jmxreceiver with
@atoulme.

Next planned features
open-telemetry#37469
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage New item requiring triage receiver/jmx JMX Receiver
Projects
None yet
Development

No branches or pull requests

1 participant