We need to gather several stats in MongoDB or with ceilometer. Some of these will need to be exposed via the API, but the first step is recording, which is what this bp is all about.
Note: Use a storage driver middleware approach for metering/stats initially (ala Swift)
Here are some possible metrics (starred items are most important).
- Number of queues*
- Total messages/day
- Average messages/sec*
- Average messages/sec enqueued*
- Number of messages*
- Life of queue (how long since created)
- Number of producers
- Number of workers
- Number of subscribers
- Average message size
- Average message TTL
- Average message lifetime (explicitly deleted)
- Average claim TTL
- Average claim lifetime
- Average number of messages posted per request
- Average number of messages requested per GET or claim
Operations should be able to aggregate and graph these metrics across acounts.