# Couchbase Client

<!-- llms-txt-link: /llms.txt -->

> OpenTelemetry Java agent instrumentation

This instrumentation enables database client spans and database client metrics for Couchbase 2.0 operations. It automatically traces key-value operations (get, upsert, replace, remove), view queries, N1QL queries, and cluster management operations.

- **Name**: `couchbase-2.0`
- **Scope**: `io.opentelemetry.couchbase-2.0`
- **Target versions**: `com.couchbase.client:java-client:[2,3)`
- **Library**: https://github.com/couchbase/couchbase-java-client

## Telemetry

- **Metrics**: `db.client.operation.duration`
- **Span attributes**: `db.name`, `db.operation`, `db.statement`, `db.system`, `db.namespace`, `db.operation.name`, `db.query.summary`, `db.query.text`, `db.system.name`

## Configuration

| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `otel.instrumentation.common.db.query-sanitization.enabled` | boolean | true | Enables query sanitization for database queries. |
| `otel.instrumentation.couchbase.experimental-span-attributes` | boolean | false | Enables experimental span attributes `couchbase.operation_id` and `couchbase.local.address`. Different operation types receive different experimental attributes. |

## Data

- **JSON**: [/data/javaagent/instrumentations/couchbase-2.0/couchbase-2.0-2f7b60f24c23.json](/data/javaagent/instrumentations/couchbase-2.0/couchbase-2.0-2f7b60f24c23.json)
- **Explore**: [/java-agent/instrumentation/couchbase-2.0](/java-agent/instrumentation/couchbase-2.0)
