Похоже, работа для диагностики Windows Azure. Основная идея заключается в том, что (а) вы включаете диагностику в своем коде роли для управления типами диагностики, которую вы хотите собирать, (б) эти диагностические данные собираются от вашего имени агентом, работающим на каждом развернутом экземпляре, и (в) агенты отправляют данные каждого типа в определенное место, чтобы данные во всех развернутых экземплярах находились в одном месте (которое будет в хранилище BLOB-объектов Azure или хранилище таблиц Azure, в зависимости от того, какое из них более естественно подходит, в зависимости от характера данные).
Общая документация здесь , а сведения о счетчиках производительности (для памяти и ЦП): здесь . Общая информация о том, как написать в блоге Нила .
Для этого не нужно писать специальную рабочую роль, и не требуется никакого специального кода (кроме небольшого стандартного кода, чтобы указать, что именно вы хотите собирать, регистрируя).