DiagnosticMonitorConfiguration.ConfigurationChangePollInterval Property
Gets or sets the interval at which the diagnostic monitor polls for diagnostic configuration changes.
Namespace: Microsoft.WindowsAzure.Diagnostics
Assembly: Microsoft.WindowsAzure.Diagnostics (in Microsoft.WindowsAzure.Diagnostics.dll)
Syntax
public TimeSpan ConfigurationChangePollInterval { get; set; }
public:
property TimeSpan ConfigurationChangePollInterval {
TimeSpan get();
void set(TimeSpan value);
}
member ConfigurationChangePollInterval : TimeSpan with get, set
Public Property ConfigurationChangePollInterval As TimeSpan
Property Value
Type: System.TimeSpan
Type: System.TimeSpan
Returns TimeSpan.
Remarks
The diagnostics.wadcfg file is used to configure diagnostics in your application. For more information on how to configure your diagnostics.wadcfg file, see Enabling Diagnostics in Windows Azure. Once your application is running in Windows Azure, you can use the DiagnosticMonitorConfiguration class along with the RoleInstanceDiagnosticManager class to remotely change your application’s diagnostics configuration.
The ConfigurationChangePollInterval specifies how often the diagnostic monitor will check for configuration changes in the diagnostics.wadcfg file in wad-control-container. By default, this value is 1 minute.
Example
The following code snippet remotely gets the configuration for each instance in a specific role and changes the poll interval to 2 minutes:
// Get the connection string. It's recommended that you store the connection string in your web.config or app.config file.
// Use the ConfigurationManager type to retrieve your storage connection string. You can find the account name and key in
// the Windows Azure Management Portal (https://manage.windowsazure.com).
//string connectionString = "DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>";
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString;
// The deployment ID and role name for your application can be obtained from the
// Windows Azure Management Portal (https://manage.windowsazure.com). See your
// application dashboard under Cloud Services.
string deploymentID = "e2ab8b6667644666ba627bdf6f5e4daa";
string roleName = "WebRole1";
// Get the DeploymentDiagnosticManager object for your deployment.
DeploymentDiagnosticManager diagManager = new DeploymentDiagnosticManager(connectionString, deploymentID);
// Get the RoleInstanceDiagnosticManager objects for each instance of your role.
IEnumerable<RoleInstanceDiagnosticManager> instanceManagers = diagManager.GetRoleInstanceDiagnosticManagersForRole(roleName);
// Iterate through the role instances and update the configuration.
foreach (RoleInstanceDiagnosticManager roleInstance in instanceManagers)
{
DiagnosticMonitorConfiguration diagnosticConfiguration = roleInstance.GetCurrentConfiguration();
// Set the poll interval to 2 minutes.
diagnosticConfiguration.ConfigurationChangePollInterval = TimeSpan.FromMinutes(2.0);
roleInstance.SetCurrentConfiguration(diagnosticConfiguration);
}
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
DiagnosticMonitorConfiguration Class
Microsoft.WindowsAzure.Diagnostics Namespace
Return to top