guv
Version:
Grid Utilization Virgilante
30 lines (25 loc) • 730 B
text/coffeescript
AMQPStats = require 'amqp-stats'
debug = require('debug')('guv:rabbitmq')
url = require 'url'
amqpOptions = (str) ->
o = {}
u = url.parse str
[ user, password ] = u.auth.split ':'
o.hostname = u.host # includes port
o.username = user
o.password = password
o.protocol = 'https'
return o
exports.getStats = (config, callback) ->
options = amqpOptions config.broker
debug 'options', options
amqp = new AMQPStats options
amqp.queues (err, res, queues) ->
debug 'got queue info', err, queues?.length
return callback err if err
details = {}
stats = {}
for queue in queues
details[queue.name] = queue
stats[queue.name] = queue.messages
return callback null, stats, details