Skip to content

Add HBase client 1.0 instrumentation#19243

Open
YaoYingLong wants to merge 4 commits into
open-telemetry:mainfrom
YaoYingLong:feature/hbase-1.0
Open

Add HBase client 1.0 instrumentation#19243
YaoYingLong wants to merge 4 commits into
open-telemetry:mainfrom
YaoYingLong:feature/hbase-1.0

Conversation

@YaoYingLong

Copy link
Copy Markdown
Contributor

No description provided.

@YaoYingLong
YaoYingLong requested a review from a team as a code owner July 16, 2026 11:23
Copilot AI review requested due to automatic review settings July 16, 2026 11:23

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.

Pull request overview

Adds OpenTelemetry Javaagent instrumentation for Apache HBase client 1.0.x, while consolidating shared HBase client logic/tests into a new hbase-client-common-1.0 module that is reused by the 1.4 and 2.0 instrumentations.

Changes:

  • Introduces a new hbase-client-1.0:javaagent module with ByteBuddy advices and dedicated (including shaded) test suites.
  • Adds a new hbase-client-common-1.0 shared javaagent/testing module and repoints existing hbase-client-1.4 and hbase-client-2.0 modules to use it.
  • Updates repo wiring (Gradle settings, CI instrumentation script list, and FOSSA targets) to include the new modules.

Reviewed changes

Copilot reviewed 17 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
settings.gradle.kts Includes new HBase 1.0 javaagent module and switches common module includes to hbase-client-common-1.0.
instrumentation/hbase/hbase-client-common-1.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/testing/AbstractHbaseTest.java Adjusts shared HBase tests to support 1.0 behavioral differences (timeout exception type, scan trace count, timeout config keys).
instrumentation/hbase/hbase-client-common-1.0/testing/build.gradle.kts Aligns test compileOnly dependency to org.apache.hbase:hbase-client:1.0.0.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/org/apache/hadoop/hbase/ipc/OpenTelemetryCallUtil.java Adds helper injected into HBase package for VirtualField access on package-private Call.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/common/RequestAndContext.java Introduces shared request/context carrier for span lifecycle management.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/common/HbaseRequest.java Defines shared request model used by DbClient extractors and span naming.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/common/HbaseInstrumenterFactory.java Centralizes Instrumenter construction for HBase client spans/metrics.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/common/HbaseClientState.java Adds shared ThreadLocal state used by HBase instrumentations to propagate request/table metadata.
instrumentation/hbase/hbase-client-common-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/common/HbaseAttributesGetter.java Implements shared DbClientAttributesGetter mapping from HBase request data to semconv attributes.
instrumentation/hbase/hbase-client-common-1.0/javaagent/build.gradle.kts Aligns common javaagent compileOnly dependency to HBase client 1.0.0.
instrumentation/hbase/hbase-client-2.0/javaagent/build.gradle.kts Switches to common-1.0 and adds hbase-client-1.0 instrumentation to test instrumentation set.
instrumentation/hbase/hbase-client-1.4/javaagent/build.gradle.kts Switches to common-1.0 and adds hbase-client-1.0 instrumentation to test instrumentation set.
instrumentation/hbase/hbase-client-1.0/metadata.yaml Adds metadata entry for the new HBase client 1.0 instrumentation.
instrumentation/hbase/hbase-client-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/HbaseClient10Test.java Adds HBase 1.0 client test coverage and overrides shared test expectations.
instrumentation/hbase/hbase-client-1.0/javaagent/src/shadedClientTest/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/HbaseShadedClient10Test.java Adds shaded-client test coverage for HBase 1.0.
instrumentation/hbase/hbase-client-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/RetryingCallableInstrumentation.java Captures table name from callables into shared state for downstream RPC span attribution.
instrumentation/hbase/hbase-client-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/HbaseSingletons.java Adds singleton instrumenter + protobuf MethodDescriptor name extraction helper.
instrumentation/hbase/hbase-client-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/HbaseInstrumentationModule.java Registers the HBase 1.0 instrumentation module and its classloader constraints.
instrumentation/hbase/hbase-client-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/HbaseBatchMetadata.java Adds batch operation classification for stable semconv handling of MultiRequest.
instrumentation/hbase/hbase-client-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hbase/client/v1_0/AbstractRpcClientInstrumentation.java Instruments HBase 1.0 AbstractRpcClient call paths to create/end DB client spans.
instrumentation/hbase/hbase-client-1.0/javaagent/build.gradle.kts Defines new module build, muzzle range, test suites, stable-semconv test tasks, and parallelism constraints for testcontainers.
.github/scripts/instrumentations.sh Adds the new HBase 1.0 instrumentation tests (including stable semconv variant) to CI script list.
.fossa.yml Adds FOSSA target for hbase-client-1.0:javaagent and updates common module target to hbase-client-common-1.0.

Comment thread docs/instrumentation-list.yaml
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Jul 16, 2026

Copy link
Copy Markdown

Pull request dashboard status

Status last refreshed: 2026-07-26 20:39:29 UTC.

  • Waiting on: Reviewers
  • Next step: Review the latest changes.

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

Comment thread instrumentation/hbase/hbase-client-1.0/javaagent/build.gradle.kts Outdated
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