Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

DiagnosticMonitor.Start Method (String, DiagnosticMonitorConfiguration)

Updated: December 6, 2013

Starts a diagnostic monitor using the specified storage account and diagnostic monitor configuration.

Namespace: Microsoft.WindowsAzure.Diagnostics
Assembly: Microsoft.WindowsAzure.Diagnostics (in Microsoft.WindowsAzure.Diagnostics.dll)

public static DiagnosticMonitor Start (
	string diagnosticsStorageAccountConfigurationSettingName,
	DiagnosticMonitorConfiguration initialConfiguration



Type: System.String

The name of a configuration setting that provides a connection string to a storage account.


Type: Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorConfiguration

A DiagnosticMonitorConfiguration object that provides a custom initial configuration.

Return Value

Type: Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor

ADiagnosticMonitor object.

This method starts a DiagnosticMonitor using the specified storage account and DiagnosticMonitorConfiguration object.

Data buffers are transferred to the storage account indicated by the specified configuration setting. The storage account can be the local storage emulator, or a Windows Azure storage account in the cloud. The DiagnosticMonitorConfiguration object provides specific configuration options for your role instance.

This method also registers the diagnostics monitoring agent for notification when changes to configuration settings occur. If the value of the connection string is changed in the ServiceConfiguration.cscfg file, the diagnostics monitoring agent will be automatically reconfigured to use the new connection.

If your storage account is misconfigured, your role instance will start without diagnostics. To ensure that diagnostics will start, verify that your storage account is configured correctly before calling the Start(String,DiagnosticMonitorConfiguration) method.


The following code snippet and ServiceConfiguration.cscfg file creates a DiagnosticMonitorConfiguration object, modifies the default configuration, and starts the DiagnosticMonitor by using a Windows Azure storage account in the cloud:


public class WebRole : RoleEntryPoint
    public override bool OnStart()
        // Create a new DiagnosticMonitorConfiguration object.
        DiagnosticMonitorConfiguration dmConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();

        // Transfer the default log containers to a storage account every 30 minutes.
        dmConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(30.0);

        // Start the DiagnosticMonitor with the new DiagnosticMonitorConfiguration.
        DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", dmConfig);

        return base.OnStart();


   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Target Platforms

Community Additions

© 2015 Microsoft