Skip to content

Rabbitmq Stats

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/rabbitmq-stats/ Get RabbitMQ subscription queue statistics
Other Actions
POST /api/rabbitmq-stats/ Purge or delete RabbitMQ subscription queues

Core CRUD

Get RabbitMQ subscription queue statistics

Provides statistics about RabbitMQ subscription queues.

Returns information about all vhosts with their subscription queues, including: - Queue names and message counts - Waldur user and subscription information linked to each vhost - Total message counts per vhost and across all vhosts

Requires support user permissions.

1
2
3
4
http \
  GET \
  https://api.example.com/api/rabbitmq-stats/ \
  Authorization:"Token YOUR_API_TOKEN"
1
2
3
4
5
6
7
8
9
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.rabbitmq_stats import rabbitmq_stats_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = rabbitmq_stats_retrieve.sync(client=client)

print(response)
  1. API Source: rabbitmq_stats_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { rabbitmqStatsRetrieve } from 'waldur-js-client';

try {
  const response = await rabbitmqStatsRetrieve({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}

200 -

Field Type Description
vhosts array of objects List of vhosts with their subscription queues
vhosts.name string Virtual host name (corresponds to Waldur user UUID)
vhosts.user any Waldur user associated with this vhost
vhosts.queues array of objects List of subscription queues in this vhost
vhosts.queues.name string Queue name (e.g., 'subscription_{uuid}offering')}_{type
vhosts.queues.messages integer Total number of messages in the queue
vhosts.queues.messages_ready integer Number of messages ready for delivery
vhosts.queues.messages_unacknowledged integer Number of messages awaiting acknowledgement
vhosts.queues.consumers integer Number of active consumers for this queue
vhosts.queues.subscription_uuid string Parsed subscription UUID from queue name
vhosts.queues.offering_uuid string Parsed offering UUID from queue name
vhosts.queues.object_type string Parsed object type from queue name (e.g., 'resource', 'order')
vhosts.queues.message_ttl integer Message TTL in milliseconds
vhosts.queues.max_length integer Maximum number of messages in queue
vhosts.queues.max_length_bytes integer Maximum total size of messages in bytes
vhosts.queues.expires integer Queue TTL - auto-delete after idle in milliseconds
vhosts.queues.overflow string Behavior when full: 'drop-head', 'reject-publish', or 'reject-publish-dlx'
vhosts.queues.dead_letter_exchange string Dead letter exchange name
vhosts.queues.dead_letter_routing_key string Dead letter routing key
vhosts.queues.max_priority integer Maximum priority level (1-255)
vhosts.queues.queue_mode string Queue mode: 'default' or 'lazy'
vhosts.queues.queue_type string Queue type: 'classic', 'quorum', or 'stream'
vhosts.total_messages integer Total messages across all queues in this vhost
total_messages integer Total messages across all subscription queues
total_queues integer Total number of subscription queues

503 -

Field Type Description
error string Error message describing what went wrong

Other Actions

Purge or delete RabbitMQ subscription queues

Purges messages from or deletes specified RabbitMQ subscription queues.

Purge operations (remove messages, keep queue): - vhost and queue_name: Purge a specific queue - vhost and queue_pattern: Purge queues matching pattern (e.g., '*_resource') - purge_all_subscription_queues: Purge all subscription queues across all vhosts

Delete operations (remove queue entirely): - vhost, queue_name, and delete_queue=true: Delete a specific queue - vhost, queue_pattern, and delete_queue=true: Delete queues matching pattern - delete_all_subscription_queues: Delete all subscription queues across all vhosts

Requires staff permissions (more restrictive than viewing).

1
2
3
4
http \
  POST \
  https://api.example.com/api/rabbitmq-stats/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.rmq_purge_request_request import RmqPurgeRequestRequest # (1)
from waldur_api_client.api.rabbitmq_stats import rabbitmq_stats # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = RmqPurgeRequestRequest()
response = rabbitmq_stats.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: RmqPurgeRequestRequest
  2. API Source: rabbitmq_stats
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { rabbitmqStats } from 'waldur-js-client';

try {
  const response = await rabbitmqStats({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
vhost string Virtual host name containing the queue(s)
queue_name string Specific queue name (requires vhost)
queue_pattern string Glob pattern to match queue names (e.g., '*_resource'). Requires vhost.
purge_all_subscription_queues boolean If true, purge all subscription queues across all vhosts
Constraints: default: False
delete_queue boolean If true, delete the queue(s) entirely instead of just purging messages
Constraints: default: False
delete_all_subscription_queues boolean If true, delete all subscription queues across all vhosts
Constraints: default: False

200 -

Field Type Description
purged_queues integer Number of queues that were purged
purged_messages integer Total number of messages that were purged
deleted_queues integer Number of queues that were deleted

400 -

Field Type Description
error string Error message describing what went wrong

404 -

Field Type Description
error string Error message describing what went wrong

503 -

Field Type Description
error string Error message describing what went wrong