DiagnosticMonitor.Start Method (String, DiagnosticMonitorConfiguration)

 

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)

Syntax

public static DiagnosticMonitor Start(
    string diagnosticsStorageAccountConfigurationSettingName,
    DiagnosticMonitorConfiguration initialConfiguration
)
public:
static DiagnosticMonitor^ Start(
    String^ diagnosticsStorageAccountConfigurationSettingName,
    DiagnosticMonitorConfiguration^ initialConfiguration
)
static member Start : 
        diagnosticsStorageAccountConfigurationSettingName:string *
        initialConfiguration:DiagnosticMonitorConfiguration -> DiagnosticMonitor
Public Shared Function Start (
    diagnosticsStorageAccountConfigurationSettingName As String,
    initialConfiguration As DiagnosticMonitorConfiguration
) As DiagnosticMonitor

Parameters

  • diagnosticsStorageAccountConfigurationSettingName
    Type: System.String

    Type: System.String

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

Return Value

Type: Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor

Type: Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor

ADiagnosticMonitor object.

Remarks

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.

Note

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

Warning

This API is not supported in Azure SDK versions 2.5 and higher. Instead, use the diagnostics.wadcfg XML configuration file. For more information, see Collect Logging Data by Using Azure Diagnostics.

See Also

Start Overload
DiagnosticMonitor Class
Microsoft.WindowsAzure.Diagnostics Namespace

Return to top