Performance counter for Storage Queue Transactions RRS feed

  • Question

  • Hi - I am working on establishing the performance metrics for the worker role that uses a queue transaction and wondering if there is an elegant way to keep track on the number of queue storage transactions my worker performed. One way to do it will be to use a custom counter and increment it whenever I do a transaction like queue.GetMessages but I am looking for an out-of-the-box solution to keep track on the number of transactions. Is there an built-in counter that tracks the transactions?.


    Friday, December 7, 2012 7:18 PM


  • There're two ways to achieve this (apart from the one you mentioned) and both of them make use of storage analytics (http://msdn.microsoft.com/en-us/library/windowsazure/hh343270.aspx). First thing you would need to do is enable storage analytics on your storage account.

    1. Using Metrics Transactions Table (http://msdn.microsoft.com/en-us/library/windowsazure/hh343264.aspx): This is useful when you're not interested in getting breakdown by queues and are only interested in knowing how many "GetMessages" API calls were performed against your queue storage. You could just query this table to get the information.

    2. Using Storage Analytics Logs (http://msdn.microsoft.com/en-us/library/windowsazure/hh343259.aspx): This is useful when you find to find out about "GetMessages" API calls against a particular queue. However it is somewhat of a complicated process. Since this data is stored as delimited file in blob storage, you would need to first read the concerned blobs, parse them and then look for "GetMessages" operation against the queue you're interested in.

    Hope this helps.

    • Edited by Gaurav Mantri Saturday, December 8, 2012 5:38 AM
    • Marked as answer by i2infinity Monday, December 10, 2012 3:00 PM
    Saturday, December 8, 2012 5:37 AM