Eksportuj (0) Drukuj
Rozwiń wszystko
EN
Ta zawartość nie jest dostępna w wymaganym języku. Wersja w języku angielskim znajduje się tutaj.

DiagnosticDataBufferConfiguration.BufferQuotaInMB Property

Updated: April 22, 2013

Gets or sets the maximum amount of file system storage available to the specified data buffer.

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

public int BufferQuotaInMB { get; set; }

Property Value

Type: System.Int32

Returns Int32.

The BufferQuotaInMB property sets the amount of local storage to allocate for a specified data buffer. You can specify the value of this property when configuring any of the diagnostic sources for a diagnostic monitor.

By default, the BufferQuotaInMB property is set to 0 for each data buffer. Diagnostic data will be written to each data buffer until the OverallQuotaInMB limit is reached unless you set a value for this property.

If you set this property and the quota is reached, the oldest data is deleted as new data is added. This deletion policy also applies if you have configured a transfer interval for the buffer. After the transfer has occurred, the data remains in local storage and will be deleted per the above policy.

Example

The following code snippet remotely configures a performance counter log buffer to 2GB for all instances of a specifc role.

// 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 (http://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 (http://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();

   // Use 30 seconds for the performance counter sample rate.
   TimeSpan perfSampleRate = TimeSpan.FromSeconds(30.0);

   // Add a performance counter for processor time.
   diagnosticConfiguration.PerformanceCounters.DataSources.Add(new PerformanceCounterConfiguration()
   {
      CounterSpecifier = @"\Processor(_Total)\% Processor Time",
         SampleRate = perfSampleRate
   });

   // Set the performance counter buffer to 2GB.
   diagnosticConfiguration.PerformanceCounters.BufferQuotaInMB = 2048;
   roleInstance.SetCurrentConfiguration(diagnosticConfiguration);
}

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 and Windows Server 2008

Target Platforms

Zawartość społeczności

Dodaj
Pokaż:
© 2014 Microsoft