SALES: 1-800-867-1380

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)

'Declaration
Public Shared Function Start ( _
	diagnosticsStorageAccountConfigurationSettingName As String, _
	initialConfiguration As DiagnosticMonitorConfiguration _
) As DiagnosticMonitor

Parameters

diagnosticsStorageAccountConfigurationSettingName

Type: System.String

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

initialConfiguration

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.

noteNote
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.

Example

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:

WebRole.cs

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();
    }
}

ServiceConfiguration.cscfg

<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
         value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey"/>
</ConfigurationSettings>

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft