Skip to content

Prometheus metrics should be grouped by type #1045

@snichme

Description

@snichme

Describe the bug

Output from prometheus endpoints should be grouped by type not by resource.

For example

# TYPE lavinmq_detailed_queue_messages_ready gauge
# HELP lavinmq_detailed_queue_messages_ready Messages ready to be delivered to consumers
lavinmq_detailed_queue_messages_ready{queue="queue_1", vhost="cloudamqp"} 0
lavinmq_detailed_queue_messages_ready{queue="queue_2", vhost="cloudamqp"} 0

But now LavinMQ does it like this

# TYPE lavinmq_detailed_queue_messages_ready gauge
# HELP lavinmq_detailed_queue_messages_ready Messages ready to be delivered to consumers
lavinmq_detailed_queue_messages_ready{queue="queue_1", vhost="cloudamqp"} 0
# TYPE lavinmq_detailed_queue_messages_ready gauge
# HELP lavinmq_detailed_queue_messages_ready Messages ready to be delivered to consumers
lavinmq_detailed_queue_messages_ready{queue="queue_2", vhost="cloudamqp"} 0

Reference: https://prometheus.io/docs/instrumenting/exposition_formats/

Not only is this correct but it will also reduce the number bytes going out on the wire for each request.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions