open-telemetry / open-telemetry/opentelemetry-java-instrumentation

Expand Couchbase instrumentation test coverage

Open
#20,006 0 comments 0 reactions 1 assignee View on GitHub

@trask is already working on this.

Since Sep 7, 2026.

enhancement needs triage
Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 18h
Merged PRs (30d)
228

Description

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

The Couchbase version-specific tests cover a narrow smoke path: generally one collection.get("id") flow per supported 3.x family, plus a small shared tracer unit suite. Several tests still describe the instrumentation as “owned upstream,” so they intentionally limit coverage. That rationale is outdated after #19996: the agent owns the tracing bridge and adapters, while the Couchbase client supplies the request lifecycle hooks. The current tests do not adequately validate the agent-owned behavior across supported client versions and operations.

Describe the solution you'd like

Expand Couchbase integration and unit-test coverage across the supported SDK version families. Cover request lifecycle spans including payload encoding and dispatch, parent/child relationships, attributes and status, errors, synchronous and asynchronous APIs, and configured target/server address behavior. Update the test comments to describe the actual ownership boundary instead of treating the instrumentation as upstream-owned and inherently limited.

Describe alternatives you've considered

Keep the current smoke tests and rely on the Couchbase client’s own coverage for the request lifecycle and tracing hooks. This would leave the agent-owned bridge and adapter behavior insufficiently verified.

Additional context

PR #19996 makes the ownership boundary explicit by replacing the shaded tracing bridges with agent-owned adapters. The current limited-coverage comments are in the version-specific Couchbase tests, including CouchbaseClient31Test, CouchbaseClient316Test, CouchbaseClient32Test, and CouchbaseClient34Test. This issue is intentionally separate from the current Couchbase refactoring stack so the broader test work can be planned and implemented independently.

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.