Skip to content

Commit 1263d6d

Browse files
VenuEmmadiFiery-Fenix
authored andcommitted
[receiver/rabbitmq] Enhance rabbitmqreceiver to collect full set of node-level metrics from /api/nodes (open-telemetry#38998)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> ### **Description** This change enhances the rabbitmqreceiver to collect a comprehensive set of 74 node-level metrics from the /api/nodes endpoint. Metrics span multiple categories, including: - Memory usage - Disk space and alarms - File descriptors (usage, limits, rates) - Socket usage and rates - Process count and rates - Garbage collection stats - I/O statistics - Context switches - Cluster info and runtime metadata - Plugin/configuration metadata This provides richer observability into RabbitMQ node performance, capacity, and system health. <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> ### **Link to tracking issue** Fixes open-telemetry#38997 <!--Describe what testing was performed and which tests were added.--> ### **Testing** - Added unit tests to verify parsing of new metrics fields. - Manually tested against a local RabbitMQ instance with the management plugin enabled. - Validated metric names, types, units, and attributes emitted by the receiver. <!--Describe the documentation added.--> ### **Documentation** Updated README with a reference to newly supported node metrics and metric categories. <!--Please delete paragraphs that you did not use before submitting.-->
1 parent eafc548 commit 1263d6d

File tree

14 files changed

+7073
-462
lines changed

14 files changed

+7073
-462
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: enhancement
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
5+
component: rabbitmqreceiver
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: "Enhance the RabbitMQ receiver to collect and report additional node-level metrics across multiple categories. These include metrics related to memory, file descriptors, sockets, processes, disk, uptime, scheduling, garbage collection (GC), I/O, message store, connections, clustering, configuration, application info, and context switches. This significantly improves visibility into the performance, state, and resource usage of RabbitMQ nodes."
9+
10+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
11+
issues: [38997]

receiver/rabbitmqreceiver/README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,13 @@ The full list of settings exposed for this receiver are documented in [config.go
8686
8787
## Metrics
8888
89-
Details about the metrics produced by this receiver can be found in [metadata.yaml](./metadata.yaml)
89+
This receiver collects RabbitMQ node-level metrics from the `/api/nodes` endpoint. Metrics are categorized into the following groups:
90+
91+
- **Memory usage**: `rabbitmq.node.mem_used`, `rabbitmq.node.mem_limit`, `rabbitmq.node.mem_alarm`
92+
- **Disk space**: `rabbitmq.node.disk_free`, `rabbitmq.node.disk_free_limit`, `rabbitmq.node.disk_free_alarm`
93+
- **File descriptors & sockets**: `rabbitmq.node.fd_used`, `rabbitmq.node.sockets_used`, etc.
94+
- **Process & scheduling**: `rabbitmq.node.proc_used`, `rabbitmq.node.run_queue`, `rabbitmq.node.context_switches`
95+
- **Garbage collection & I/O**: `rabbitmq.node.gc.num`, `rabbitmq.node.io_read_avg_time`, etc.
96+
- **Cluster & node metadata**: `rabbitmq.node.uptime`, `rabbitmq.node.processors`, etc.
97+
98+
Details about the metrics produced by this receiver and full list of supported metrics can be found in [metadata.yaml](./metadata.yaml)

0 commit comments

Comments
 (0)