Status: Experimental
The conventions described in this section are specific to SQL and NoSQL clients.
Disclaimer: These are initial database client metric instruments
and attributes but more may be added in the future.
The following metric instruments describe database client connection pool operations.
This metric is required.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.usage | UpDownCounter | {connection} | The number of connections that are currently in state described by the state attribute |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
state | string | The state of a connection in the pool | idle | Required |
state MUST be one of the following:
| Value | Description |
|---|
idle | idle |
used | used |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.idle.max | UpDownCounter | {connection} | The maximum number of idle open connections allowed |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.idle.min | UpDownCounter | {connection} | The minimum number of idle open connections allowed |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.max | UpDownCounter | {connection} | The maximum number of open connections allowed |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.pending_requests | UpDownCounter | {request} | The number of pending requests for an open connection, cumulative for the entire pool |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.timeouts | Counter | {timeout} | The number of connection timeouts that have occurred trying to obtain a connection from the pool |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.create_time | Histogram | ms | The time it took to create a new connection |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.wait_time | Histogram | ms | The time it took to obtain an open connection from the pool |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |
This metric is recommended.
| Name | Instrument Type | Unit (UCUM) | Description |
|---|
db.client.connections.use_time | Histogram | ms | The time between borrowing a connection and returning it to the pool |
| Attribute | Type | Description | Examples | Requirement Level |
|---|
pool.name | string | The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, then the db.connection_string should be used | myDataSource | Required |