Skip to content

Add docs for experimental-cassandra target system for jmx-scraper - #3091

Merged
jaydeluca merged 3 commits into
open-telemetry:mainfrom
jkoronaAtCisco:experimental-cassandra-scraper
Sep 7, 2026
Merged

Add docs for experimental-cassandra target system for jmx-scraper#3091
jaydeluca merged 3 commits into
open-telemetry:mainfrom
jkoronaAtCisco:experimental-cassandra-scraper

Conversation

@jkoronaAtCisco

@jkoronaAtCisco jkoronaAtCisco commented Sep 2, 2026

Copy link
Copy Markdown
Member

Description:

Adds docs info about experimental-cassandra as a target system for the JMX scraper, inheriting the aligned Cassandra metric definitions from instrumentation rather than the legacy definitions embedded in jmx-scraper.

This completes the downstream half of the Cassandra JMX alignment: the definitions and the code-based compaction-progress handler were added upstream in opentelemetry-java-instrumentation #19080 and #19290, and shipped in the 2.31.1-alpha release that this repo now pins. Selecting experimental-cassandra resolves jmx/rules/experimental-cassandra.yaml directly from the instrumentation library jar — no local definitions are added here.

Copilot AI lite review requested due to automatic review settings September 2, 2026 11:28
@jkoronaAtCisco
jkoronaAtCisco requested a review from a team as a code owner September 2, 2026 11:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new Cassandra integration test is likely to be flaky without an explicit readiness wait before executing cqlsh/nodetool against the freshly started container.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds an experimental-cassandra target system option for the JMX scraper that relies on Cassandra metric rules shipped in the upstream instrumentation JAR, and introduces an integration test that exercises both the aligned rule set and the compaction-progress handler.

Changes:

  • Add ExperimentalCassandraIntegrationTest to validate experimental-cassandra using otel.jmx.target.system.source=instrumentation.
  • Update jmx-scraper/README.md to list the new target system and link to the upstream rule file/doc.
  • Update CHANGELOG.md to record the addition under JMX Scraper.
File summaries
File Description
jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/ExperimentalCassandraIntegrationTest.java New end-to-end integration test for experimental-cassandra, including compaction-progress validation.
jmx-scraper/README.md Documents experimental-cassandra as a supported target system referencing upstream rules.
CHANGELOG.md Adds an Unreleased changelog entry for the new target system.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +62 to +66
private static void seedCompactionData(GenericContainer<?> target) {
try {
nodetool(target, "setcompactionthroughput", "1");

execOrThrow(
Comment on lines +17 to +20
import java.util.logging.Logger;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait;
Comment on lines +30 to +32
private static final int CASSANDRA_PORT = 9042;
private static final String NODETOOL_JMX_PORT = "9999";

@SylvainJuge

Copy link
Copy Markdown
Contributor

I don't think we need to explicitly test experimental-cassandra here as it's already extensively tested in instrumentation.

Also, with open-telemetry/opentelemetry-java-instrumentation#19783 the experimental-cassandra is being renamed to cassandra, I hope this lands in 2.32.0 instrumentation.

Anyway, we can still document the current experimental-cassandra target system, but this part of the documentation will have to be revised after that.

@jkoronaAtCisco jkoronaAtCisco changed the title Add experimental-cassandra target system to jmx-scraper Add docs for experimental-cassandra target system for jmx-scraper Sep 2, 2026
@jkoronaAtCisco

Copy link
Copy Markdown
Member Author

I don't think we need to explicitly test experimental-cassandra here as it's already extensively tested in instrumentation.

Good point, I removed the test.

Also, with open-telemetry/opentelemetry-java-instrumentation#19783 the experimental-cassandra is being renamed to cassandra, I hope this lands in 2.32.0 instrumentation.

Anyway, we can still document the current experimental-cassandra target system, but this part of the documentation will have to be revised after that.

Thanks @SylvainJuge, I wasn't aware of that effort.

@jaydeluca
jaydeluca added this pull request to the merge queue Sep 7, 2026
Merged via the queue into open-telemetry:main with commit 69e1781 Sep 7, 2026
26 checks passed
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.

4 participants