AzureWebRoleで次のPerformanceCountersをキャプチャしようとしています。
private string[] perfCounters = { @"\Processor(_Total)\% Processor Time",
@"\ASP.NET Applications(__Total__)\Requests/Sec",
@"\Memory\Available Bytes",
@"\ASP.NET\Request Execution Time",
@"\ASP.NET\Requests Queued"};
WebRole.csに、これらのパフォーマンスカウンターのキャプチャを有効にする次のコードがあります。
DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();
int loggingInterval = Int32.Parse(RoleEnvironment.GetConfigurationSettingValue("loggingInterval"));
config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(loggingInterval);
foreach (String s in perCounters)
{
PerformanceCounterConfiguration procTimeConfig = new PerformanceCounterConfiguration();
procTimeConfig.CounterSpecifier = s;
procTimeConfig.SampleRate = System.TimeSpan.FromMinutes(1.0);
config.PerformanceCounters.DataSources.Add(procTimeConfig);
}
config.PerformanceCounters.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0);
DiagnosticMonitor.Start("DiagnosticsConnectionString", config);
ご覧のとおり、パフォーマンスカウンターのスケジュールされたxfer期間を1分に設定しています。
これで、開発ファブリックのWADPerformanceCountersテーブルでこれらのカウンターを取得できますが、Azureクラウドで取得できませんか?誰かが私がここで間違っている可能性があることを指摘できますか?
カピル