From b0a026f55d56e5034d5c7234553bab6683b6402c Mon Sep 17 00:00:00 2001 From: vivek mahalingam Date: Thu, 30 May 2024 19:57:09 +0530 Subject: [PATCH 1/3] Adding new Semantics for RDB related to Informix DB for release 4 --- docs/semconv/database.md | 93 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/docs/semconv/database.md b/docs/semconv/database.md index 6274dbd..2d45a20 100644 --- a/docs/semconv/database.md +++ b/docs/semconv/database.md @@ -40,6 +40,14 @@ This page tries to describe a semantic convention for the attributes and metrics - [Metric `db.overflow.lock.count`](#metric-dboverflowlockcount) - [Metric `db.overflow.transaction.count`](#metric-dboverflowtransactioncount) - [Metric `db.overflow.user.count`](#metric-dboverflowusercount) + - [Metric `db.chunk.reads`](#metric-dbchunkreads) + - [Metric `db.chunk.writes`](#metric-dbchunkwrites) + - [Metric `db.chunk.pages.read`](#metric-dbchunkpagesread) + - [Metric `db.chunk.pages.read`](#metric-dbchunkpageswrite) + - [Metric `db.memory.segment.size`](#metric-dbmemorysegmentsize) + - [Metric `db.memory.segment.bulk.used`](#metric-dbmemorysegmentbulkused) + - [Metric `db.memory.segment.bulk.free`](#metric-dbmemorysegmentbulkfree) + - [Metric `db.lock.waits`](#metric-dblockwaits) - [Resource Usage Metrics](#resource-usage-metrics) - [Metric `db.disk.usage`](#metric-dbdiskusage) - [Metric `db.disk.utilization`](#metric-dbdiskutilization) @@ -261,6 +269,91 @@ This metric is [optional](https://github.com/open-telemetry/semantic-conventions |--------------------------|-----------------|------------------|----------------------------------------------------------------------------------------------| | `db.overflow.user.count` | UpDownCounter | `{overflowUser}` | Number of times a User thread attempted to acquire a lock when no locks were available. | +### Metric: `db.chunk.reads` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|------------------|-----------------|----------------|--------------------------------------------------------| +| `db.chunk.reads` | UpDownCounter | `{chunkReads}` | Information about the number of disk reads per chunk. | + +| Attribute | Type | Description | Example | Requirement Level | +|-------------------|--------|---------------|-----------|-------------------| +| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | + +### Metric: `db.chunk.writes` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|-------------------|-----------------|-----------------|--------------------------------------------------------| +| `db.chunk.writes` | UpDownCounter | `{chunkWrites}` | Information about the number of disk writes per chunk. | + +| Attribute | Type | Description | Example | Requirement Level | +|-------------------|--------|---------------|-----------|-------------------| +| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | + +### Metric: `db.chunk.pages.read` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|-----------------------|-----------------|--------------------|-------------------------------------------------------| +| `db.chunk.pages.read` | UpDownCounter | `{chunkPagesRead}` | Information about the number of page reads per chunk. | + +| Attribute | Type | Description | Example | Requirement Level | +|-------------------|--------|---------------|-----------|-------------------| +| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | + +### Metric: `db.chunk.pages.write` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|------------------------|-----------------|---------------------|--------------------------------------------------------| +| `db.chunk.pages.write` | UpDownCounter | `{chunkPagesWrite}` | Information about the number of page writes per chunk. | + +| Attribute | Type | Description | Example | Requirement Level | +|-------------------|--------|---------------|-----------|-------------------| +| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | + +### Metric: `db.memory.segment.size` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|--------------------------|-----------------|-----------------------|-----------------------------| +| `db.memory.segment.size` | UpDownCounter | `{memorySegmentSize}` | Size of the Memory Segment. | + +| Attribute | Type | Description | Example | Requirement Level | +|--------------------|--------|----------------|-----------|-------------------| +| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | + +### Metric: `db.memory.segment.bulk.used` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|--------------------------------|------------------|---------------------------------|--------------------------------| +| `db.memory.segment.bulk.used` | UpDownCounter | `{memorySegmentBulkUsed}` | Size of the Segment Bulk used. | + +| Attribute | Type | Description | Example | Requirement Level | +|--------------------|--------|----------------|-----------|-------------------| +| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | + +### Metric: `db.memory.segment.bulk.free` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|--------------------------------|------------------|---------------------------|-------------------------------------| +| `db.memory.segment.bulk.free` | UpDownCounter | `{memorySegmentBulkFree}` | Size of the Segment Bulk available. | + +| Attribute | Type | Description | Example | Requirement Level | +|--------------------|--------|----------------|-----------|-------------------| +| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | + +### Metric: `db.lock.waits` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|-------------------|-----------------|---------------|-------------------------------------| +| `db.lock.waits` | UpDownCounter | `{lockWaits}` | Number of threads waiting for lock. | + + ## Resource Usage Metrics ### Metric: `db.disk.usage` This metric is [recommended](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#recommended). From 3cf92c97163f38da80efc4bdfffb612db5173e13 Mon Sep 17 00:00:00 2001 From: vivek mahalingam Date: Mon, 3 Jun 2024 15:44:32 +0530 Subject: [PATCH 2/3] Semantic Conventions for Release 4 metrics of Informix DB --- docs/semconv/database.md | 95 ++++++++-------------------------------- 1 file changed, 18 insertions(+), 77 deletions(-) diff --git a/docs/semconv/database.md b/docs/semconv/database.md index 2d45a20..25fb830 100644 --- a/docs/semconv/database.md +++ b/docs/semconv/database.md @@ -40,14 +40,10 @@ This page tries to describe a semantic convention for the attributes and metrics - [Metric `db.overflow.lock.count`](#metric-dboverflowlockcount) - [Metric `db.overflow.transaction.count`](#metric-dboverflowtransactioncount) - [Metric `db.overflow.user.count`](#metric-dboverflowusercount) - - [Metric `db.chunk.reads`](#metric-dbchunkreads) - - [Metric `db.chunk.writes`](#metric-dbchunkwrites) - - [Metric `db.chunk.pages.read`](#metric-dbchunkpagesread) - - [Metric `db.chunk.pages.read`](#metric-dbchunkpageswrite) - - [Metric `db.memory.segment.size`](#metric-dbmemorysegmentsize) - - [Metric `db.memory.segment.bulk.used`](#metric-dbmemorysegmentbulkused) - - [Metric `db.memory.segment.bulk.free`](#metric-dbmemorysegmentbulkfree) - [Metric `db.lock.waits`](#metric-dblockwaits) + - [Metric `db.cache.read.ratio`](#metric-dbcachereadratio) + - [Metric `db.cache.write.ratio`](#metric-dbcachewriteratio) + - [Metric `db.lru.writes`](#metric-dblruwrites) - [Resource Usage Metrics](#resource-usage-metrics) - [Metric `db.disk.usage`](#metric-dbdiskusage) - [Metric `db.disk.utilization`](#metric-dbdiskutilization) @@ -269,82 +265,20 @@ This metric is [optional](https://github.com/open-telemetry/semantic-conventions |--------------------------|-----------------|------------------|----------------------------------------------------------------------------------------------| | `db.overflow.user.count` | UpDownCounter | `{overflowUser}` | Number of times a User thread attempted to acquire a lock when no locks were available. | -### Metric: `db.chunk.reads` +### Metric: `db.cache.read.ratio` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|------------------|-----------------|----------------|--------------------------------------------------------| -| `db.chunk.reads` | UpDownCounter | `{chunkReads}` | Information about the number of disk reads per chunk. | +| Name | Instrument Type | Units (UCUM) | Description | +|-----------------------|-------------------|--------------------|------------------------------------------------------------------------------------------| +| `db.cache.read.ratio` | UpDownCounter | `{cacheReadRatio}` | Percentage of page reads for this buffer pool that were satisfied by a cached page image | -| Attribute | Type | Description | Example | Requirement Level | -|-------------------|--------|---------------|-----------|-------------------| -| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | -### Metric: `db.chunk.writes` +## Metric: `db.cache.write.ratio` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|-------------------|-----------------|-----------------|--------------------------------------------------------| -| `db.chunk.writes` | UpDownCounter | `{chunkWrites}` | Information about the number of disk writes per chunk. | - -| Attribute | Type | Description | Example | Requirement Level | -|-------------------|--------|---------------|-----------|-------------------| -| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | - -### Metric: `db.chunk.pages.read` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). - -| Name | Instrument Type | Units (UCUM) | Description | -|-----------------------|-----------------|--------------------|-------------------------------------------------------| -| `db.chunk.pages.read` | UpDownCounter | `{chunkPagesRead}` | Information about the number of page reads per chunk. | - -| Attribute | Type | Description | Example | Requirement Level | -|-------------------|--------|---------------|-----------|-------------------| -| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | - -### Metric: `db.chunk.pages.write` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). - -| Name | Instrument Type | Units (UCUM) | Description | -|------------------------|-----------------|---------------------|--------------------------------------------------------| -| `db.chunk.pages.write` | UpDownCounter | `{chunkPagesWrite}` | Information about the number of page writes per chunk. | - -| Attribute | Type | Description | Example | Requirement Level | -|-------------------|--------|---------------|-----------|-------------------| -| `db.chunk.number` | string | Chunk Number. | `1` ; `2` | Required | - -### Metric: `db.memory.segment.size` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). - -| Name | Instrument Type | Units (UCUM) | Description | -|--------------------------|-----------------|-----------------------|-----------------------------| -| `db.memory.segment.size` | UpDownCounter | `{memorySegmentSize}` | Size of the Memory Segment. | - -| Attribute | Type | Description | Example | Requirement Level | -|--------------------|--------|----------------|-----------|-------------------| -| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | - -### Metric: `db.memory.segment.bulk.used` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). - -| Name | Instrument Type | Units (UCUM) | Description | -|--------------------------------|------------------|---------------------------------|--------------------------------| -| `db.memory.segment.bulk.used` | UpDownCounter | `{memorySegmentBulkUsed}` | Size of the Segment Bulk used. | - -| Attribute | Type | Description | Example | Requirement Level | -|--------------------|--------|----------------|-----------|-------------------| -| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | - -### Metric: `db.memory.segment.bulk.free` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). - -| Name | Instrument Type | Units (UCUM) | Description | -|--------------------------------|------------------|---------------------------|-------------------------------------| -| `db.memory.segment.bulk.free` | UpDownCounter | `{memorySegmentBulkFree}` | Size of the Segment Bulk available. | - -| Attribute | Type | Description | Example | Requirement Level | -|--------------------|--------|----------------|-----------|-------------------| -| `db.segment.class` | string | Segment Class. | `1` ; `2` | Required | +| Name | Instrument Type | Units (UCUM) | Description | +|------------------------|-------------------|---------------------|-------------------------------------------------------------------------------------------| +| `db.cache.write.ratio` | UpDownCounter | `{cacheWriteRatio}` | Percentage of page Writes for this buffer pool that were satisfied by a cached page image | ### Metric: `db.lock.waits` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). @@ -354,6 +288,13 @@ This metric is [optional](https://github.com/open-telemetry/semantic-conventions | `db.lock.waits` | UpDownCounter | `{lockWaits}` | Number of threads waiting for lock. | +### Metric: `db.lru.writes` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). + +| Name | Instrument Type | Units (UCUM) | Description | +|-----------------|-----------------|---------------|-----------------------| +| `db.lru.writes` | UpDownCounter | `{lruWrites}` | Number of LRU Writes. | + ## Resource Usage Metrics ### Metric: `db.disk.usage` This metric is [recommended](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#recommended). From 8daba5d15d1597b83d77288754cd8eb3da7b81ec Mon Sep 17 00:00:00 2001 From: vivek mahalingam Date: Wed, 5 Jun 2024 12:14:03 +0530 Subject: [PATCH 3/3] Semantic Conventions for release 4 metrics --- docs/semconv/database.md | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/docs/semconv/database.md b/docs/semconv/database.md index 25fb830..31041e4 100644 --- a/docs/semconv/database.md +++ b/docs/semconv/database.md @@ -265,35 +265,38 @@ This metric is [optional](https://github.com/open-telemetry/semantic-conventions |--------------------------|-----------------|------------------|----------------------------------------------------------------------------------------------| | `db.overflow.user.count` | UpDownCounter | `{overflowUser}` | Number of times a User thread attempted to acquire a lock when no locks were available. | -### Metric: `db.cache.read.ratio` +### Metric: `db.lock.waits` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|-----------------------|-------------------|--------------------|------------------------------------------------------------------------------------------| -| `db.cache.read.ratio` | UpDownCounter | `{cacheReadRatio}` | Percentage of page reads for this buffer pool that were satisfied by a cached page image | - +| Name | Instrument Type | Units (UCUM) | Description | +|-------------------|-----------------|---------------|-------------------------------------| +| `db.lock.waits` | UpDownCounter | `{lockWaits}` | Number of threads waiting for lock. | -## Metric: `db.cache.write.ratio` +### Metric: `db.cache.read.ratio` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|------------------------|-------------------|---------------------|-------------------------------------------------------------------------------------------| -| `db.cache.write.ratio` | UpDownCounter | `{cacheWriteRatio}` | Percentage of page Writes for this buffer pool that were satisfied by a cached page image | +| Name | Instrument Type | Units (UCUM) | Description | +|-----------------------|-----------------|--------------|------------------------------------------------------------------------------------------| +| `db.cache.read.ratio` | Gauge | `1` | Percentage of page reads for this buffer pool that were satisfied by a cached page image | -### Metric: `db.lock.waits` -This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|-------------------|-----------------|---------------|-------------------------------------| -| `db.lock.waits` | UpDownCounter | `{lockWaits}` | Number of threads waiting for lock. | +### Metric: `db.cache.write.ratio` +This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). +| Name | Instrument Type | Units (UCUM) | Description | +|------------------------|-----------------|--------------|-------------------------------------------------------------------------------------------| +| `db.cache.write.ratio` | Gauge | `1` | Percentage of page Writes for this buffer pool that were satisfied by a cached page image | ### Metric: `db.lru.writes` This metric is [optional](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/metric-requirement-level.md#opt-in). -| Name | Instrument Type | Units (UCUM) | Description | -|-----------------|-----------------|---------------|-----------------------| -| `db.lru.writes` | UpDownCounter | `{lruWrites}` | Number of LRU Writes. | +| Name | Instrument Type | Units (UCUM) | Description | +|-----------------|-----------------|---------------|----------------------------------------| +| `db.lru.writes` | UpDownCounter | `{lruWrites}` | Number of Least Recently Used Writes. | + +### Notes: + +- The database server performs LRU (Least Recently Used) writes as background writes that typically occur when the percentage of dirty buffers (pages that are not accessed) exceeds the percent that is specified for lru_max_dirty in the BUFFERPOOL configuration parameter. ## Resource Usage Metrics ### Metric: `db.disk.usage`