Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion ibm-mq-metrics/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ metrics:
enabled: true
"ibm.mq.queue.depth.low.event": # The number of low queue events
enabled: true
"ibm.mq.expired.messages": # Number of expired messages
enabled: true
"ibm.mq.uncommitted.messages": # Number of uncommitted messages
enabled: true
"ibm.mq.oldest.msg.age": # Queue message oldest age
Expand Down Expand Up @@ -212,4 +214,4 @@ sslConnection:

# Configure the OTLP exporter using system properties keys following the specification https://opentelemetry.io/docs/languages/java/configuration/
otlpExporter:
otel.exporter.otlp.endpoint: http://localhost:4318
otel.exporter.otlp.endpoint: http://localhost:4318
83 changes: 51 additions & 32 deletions ibm-mq-metrics/docs/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,25 @@



## Metric `ibm.mq.expired.messages`

| Name | Instrument Type | Unit (UCUM) | Description | Stability |
| -------- | --------------- | ----------- | -------------- | --------- |
| `ibm.mq.expired.messages` | Gauge | `{message}` | Number of expired messages | ![Development](https://img.shields.io/badge/-development-blue) |


### `ibm.mq.expired.messages` Attributes

| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [8] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[8] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



## Metric `ibm.mq.uncommitted.messages`

| Name | Instrument Type | Unit (UCUM) | Description | Stability |
Expand All @@ -313,9 +332,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [8] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [9] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[8] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[9] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
Comment thread
breedx-splk marked this conversation as resolved.



Expand All @@ -332,9 +351,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [9] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [10] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[9] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[10] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -351,9 +370,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [10] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [11] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[10] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[11] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -370,9 +389,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [11] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [12] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[11] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[12] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -389,9 +408,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [12] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [13] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[12] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[13] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -408,9 +427,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [13] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [14] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[13] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[14] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -427,9 +446,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [14] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [15] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[14] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[15] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -446,9 +465,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [15] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [16] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[15] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[16] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -465,9 +484,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [16] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [17] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[16] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[17] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand Down Expand Up @@ -529,9 +548,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [17] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [18] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[17] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[18] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -548,9 +567,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [18] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [19] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[18] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[19] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -567,9 +586,9 @@
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `ibm.mq.queue.type` | string | The queue type | `local-normal` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [19] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [20] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[19] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[20] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand Down Expand Up @@ -726,9 +745,9 @@
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [20] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [21] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[20] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[21] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand All @@ -744,9 +763,9 @@
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [21] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `messaging.destination.name` | string | The system-specific name of the messaging operation. [22] | `dev/` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[21] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.
**[22] `messaging.destination.name`:** This is duplicated from otel semantic-conventions.



Expand Down Expand Up @@ -778,12 +797,12 @@
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| `ibm.mq.queue.manager` | string | The name of the IBM queue manager | `MQ1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `service.name` | string | Logical name of the service. [22] | `Wordle`; `JMSService` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `user.name` | string | Short name or login/username of the user. [23] | `foo`; `root` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `service.name` | string | Logical name of the service. [23] | `Wordle`; `JMSService` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| `user.name` | string | Short name or login/username of the user. [24] | `foo`; `root` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |

**[22] `service.name`:** This is duplicated from otel semantic-conventions.
**[23] `service.name`:** This is duplicated from otel semantic-conventions.

**[23] `user.name`:** This is duplicated from otel semantic-conventions.
**[24] `user.name`:** This is duplicated from otel semantic-conventions.



Expand Down
14 changes: 14 additions & 0 deletions ibm-mq-metrics/model/metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,20 @@ groups:
requirement_level: required
- ref: messaging.destination.name
requirement_level: required
- id: ibm.mq.expired.messages
type: metric
metric_name: ibm.mq.expired.messages
stability: development
brief: "Number of expired messages"
instrument: gauge
unit: "{message}"
attributes:
- ref: ibm.mq.queue.manager
requirement_level: required
- ref: messaging.destination.name
requirement_level: required
- ref: ibm.mq.queue.type
requirement_level: required
- id: ibm.mq.uncommitted.messages
type: metric
metric_name: ibm.mq.uncommitted.messages
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ metrics:
enabled: true
"ibm.mq.queue.depth.low.event": # The number of low queue events
enabled: true
"ibm.mq.expired.messages": # Number of expired messages
enabled: true
"ibm.mq.uncommitted.messages": # Number of uncommitted messages
enabled: true
"ibm.mq.oldest.msg.age": # Queue message oldest age
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ metrics:
enabled: true
"ibm.mq.queue.depth.low.event": # The number of low queue events
enabled: true
"ibm.mq.expired.messages": # Number of expired messages
enabled: true
"ibm.mq.uncommitted.messages": # Number of uncommitted messages
enabled: true
"ibm.mq.oldest.msg.age": # Queue message oldest age
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,15 @@ public static LongCounter createIbmMqQueueDepthLowEvent(Meter meter) {
.build();
}

public static LongGauge createIbmMqExpiredMessages(Meter meter) {
return meter
.gaugeBuilder("ibm.mq.expired.messages")
.ofLongs()
.setUnit("{message}")
.setDescription("Number of expired messages")
.build();
}

public static LongGauge createIbmMqUncommittedMessages(Meter meter) {
return meter
.gaugeBuilder("ibm.mq.uncommitted.messages")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ public boolean isIbmMqQueueDepthLowEventEnabled() {
return isEnabled("ibm.mq.queue.depth.low.event");
}

public boolean isIbmMqExpiredMessagesEnabled() {
return isEnabled("ibm.mq.expired.messages");
}

public boolean isIbmMqUncommittedMessagesEnabled() {
return isEnabled("ibm.mq.uncommitted.messages");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ final class InquireQStatusCmdCollector implements Consumer<MetricsCollectorConte
CMQCFC.MQIACF_CUR_MAX_FILE_SIZE,
CMQCFC.MQIACF_OLDEST_MSG_AGE,
CMQCFC.MQIACF_UNCOMMITTED_MSGS,
CMQCFC.MQIACF_EXPIRY_Q_COUNT,
CMQCFC.MQIACF_Q_TIME_INDICATOR,
CMQC.MQIA_CURRENT_Q_DEPTH,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@ private static AllowedGauge createAllowedGauge(
createAllowedGauge(
Metrics.createIbmMqUncommittedMessages(meter),
MetricsConfig::isIbmMqUncommittedMessagesEnabled));
gauges.put(
CMQCFC.MQIACF_EXPIRY_Q_COUNT,
createAllowedGauge(
Metrics.createIbmMqExpiredMessages(meter),
MetricsConfig::isIbmMqExpiredMessagesEnabled));
gauges.put(
CMQC.MQIA_MSG_DEQ_COUNT,
createAllowedGauge(
Expand Down
Loading
Loading