# Lettuce

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

> OpenTelemetry Java agent instrumentation

This instrumentation enables database client spans and database client metrics for the Lettuce Redis client.

- **Name**: `lettuce-4.0`
- **Scope**: `io.opentelemetry.lettuce-4.0`
- **Target versions**: `biz.paluch.redis:lettuce:[4.0.Final,)`
- **Library**: https://github.com/redis/lettuce

## Telemetry

### When `default`

**Spans**

| Span kind | Attributes |
| --- | --- |
| CLIENT | `db.operation` (STRING), `db.system` (STRING), `server.address` (STRING), `server.port` (LONG) |

### When `otel.instrumentation.lettuce.connection-telemetry.enabled=true`

**Spans**

| Span kind | Attributes |
| --- | --- |
| CLIENT | `db.operation` (STRING), `db.system` (STRING), `peer.service` (STRING), `server.address` (STRING), `server.port` (LONG) |

### When `otel.instrumentation.lettuce.connection-telemetry.enabled=true,otel.semconv-stability.opt-in=database,service.peer`

**Metrics**

| Metric | Instrument | Type | Unit | Description |
| --- | --- | --- | --- | --- |
| `db.client.operation.duration` | histogram | HISTOGRAM | s | Duration of database client operations. |

| Metric | Attributes |
| --- | --- |
| `db.client.operation.duration` | `db.namespace` (STRING), `db.operation.name` (STRING), `db.system.name` (STRING), `server.address` (STRING), `server.port` (LONG) |

**Spans**

| Span kind | Attributes |
| --- | --- |
| CLIENT | `db.namespace` (STRING), `db.operation.batch.size` (LONG), `db.operation.name` (STRING), `db.system.name` (STRING), `error.type` (STRING), `server.address` (STRING), `server.port` (LONG), `service.peer.name` (STRING) |

### When `otel.instrumentation.lettuce.experimental-span-attributes=true`

**Spans**

| Span kind | Attributes |
| --- | --- |
| CLIENT | `db.operation` (STRING), `db.system` (STRING), `lettuce.command.cancelled` (BOOLEAN), `server.address` (STRING), `server.port` (LONG) |

### When `otel.semconv-stability.opt-in=database,service.peer`

**Metrics**

| Metric | Instrument | Type | Unit | Description |
| --- | --- | --- | --- | --- |
| `db.client.operation.duration` | histogram | HISTOGRAM | s | Duration of database client operations. |

| Metric | Attributes |
| --- | --- |
| `db.client.operation.duration` | `db.namespace` (STRING), `db.operation.name` (STRING), `db.system.name` (STRING), `server.address` (STRING), `server.port` (LONG) |

**Spans**

| Span kind | Attributes |
| --- | --- |
| CLIENT | `db.namespace` (STRING), `db.operation.batch.size` (LONG), `db.operation.name` (STRING), `db.system.name` (STRING), `error.type` (STRING), `server.address` (STRING), `server.port` (LONG) |

## Configuration

| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `otel.instrumentation.common.peer-service-mapping` | map |  | Used to specify a mapping from host names or IP addresses to peer services. |
| `otel.instrumentation.lettuce.connection-telemetry.enabled` | boolean | false | Enables connection telemetry spans for Redis connections. |
| `otel.instrumentation.lettuce.experimental-span-attributes` | boolean | false | Enables experimental span attribute `lettuce.command.cancelled`. |

## Data

- **JSON (latest)**: [/data/javaagent/instrumentations/lettuce-4.0/latest.json](/data/javaagent/instrumentations/lettuce-4.0/latest.json)
- **JSON (pinned)**: [/data/javaagent/instrumentations/lettuce-4.0/lettuce-4.0-8c382a3fba0a.json](/data/javaagent/instrumentations/lettuce-4.0/lettuce-4.0-8c382a3fba0a.json)
- **Explore**: [/java-agent/instrumentation/lettuce-4.0](/java-agent/instrumentation/lettuce-4.0)
