CloudFx Tracing and Diagnostics

Today I’m investigating how CloudFx tracing and diagnostics works.  I want to control the verbosity of output.  I found an answer from Valery M here to a question titled “Annoying diagnostics traces for queue storage”, which got me started. As of the CloudFx 2.0.0.0 release on NuGet, there is a class called TraceManager which contains the…


Improved Tracing and ETW Support in .NET 4.5

.NET 4.5 added the System.Diagnostic.Tracing namespace.  Classes derived from its EventSource and EventListener classes are now preferred for tracing.  Vance Morrison’s blog has excellent articles about developing with these new classes.  EventSource is now the gateway from .NET to ETW so use EventSource instead of TraceSource or EventProvider. For codebases prior to .NET 4.5, one of Vance Morrison’s blog…


Configuring diagnostics.wadcfg to Capture Custom Log Files

Windows Azure Diagnostics (WAD) has the ability to copy files to Azure blob storage.  The feature is meant for copying custom log files but you can use it to copy any file that WAD has permission to access.  To configure this feature via diagnostics.wadcfg add appropriate <DataSource> and <DirectoryConfiguration> elements to the XML. Within <DirectoryConfiguration>…

3

Configuring WAD via the diagnostics.wadcfg Config File

Azure 1.3 added the ability to control Windows Azure Diagnostics (WAD) via a config file.  The MSDN documentation covering diagnostics.wadcfg explains that the capability was added to support the VM role.  The documentation also says to continue configuring WAD via code in OnStart for the other role types. I instead recommend using diagnostics.wadcfg for all…

1

Azure Diagnostics and ASP.NET Health Monitoring

By default Windows Azure Diagnostics (WAD) does not receive ASP.NET Health Monitoring events.  The machine web.config file at %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config shows the default behavior of ASP.NET Health Monitoring.  Basically all unhandled errors and audit failures are written to the Windows Event Log within the Application folder as shown: For WAD to capture the health event you…

1

WAD is Built on ETW

Windows Azure Diagnostics (WAD) is built upon Event Tracing for Windows (ETW).  To get the most out of WAD and future Azure product offerings you need to understand and use ETW.  Here is a little ETW primer and how it relates to WAD: 1. ETW is the efficient kernel-level tracing facility built into Windows.  Microsoft…

2

Windows Azure Diagnostics Series

I’ve decided to write a series of blog posts on Windows Azure Diagnostics best practices to share what I’ve learned.  MSIT is in the process of reviewing our current Azure monitoring, combining it with some product team insight, to define MSIT’s Azure monitoring and debugging best practices going forward.  This information is for Azure SDK…