Sounds like work for Windows Azure Diagnostics. The basic idea is that (a) you enable diagnostics in your role-based code to manage the types of diagnostics that you want to collect, (b) the diagnostic data is collected on your behalf by the agent that runs on each deployed instance, and (c) agents send each data type to a specific location so that the data in all deployed instances is in the same place (which will be in the Azure Blob repository or in the Azure table repository, depending on which is more natural, depending on Character of the data).
General documentation here , as well as features of performance counters (for memory and CPU):. A general βhowβ to write on the Neil Blog .
There is no need to write a special Worker role for this, and no special code is required (except for a small template code to indicate what you want to connect to).
codingoutloud
source share