У меня есть пользовательский счетчик производительности в рабочей роли.Работает нормально, я вижу это в RDP.
Метод OnStart:
...
var dmc = DiagnosticMonitor.GetDefaultInitialConfiguration();
dmc.PerformanceCounters.DataSources.Add(
new PerformanceCounterConfiguration
{
CounterSpecifier = @"\Processor(_Total)\% Processor Time",
SampleRate = TimeSpan.FromSeconds(30)
});
dmc.PerformanceCounters.DataSources.Add(
new PerformanceCounterConfiguration
{
// my counter
CounterSpecifier = @"\..ProcessorWorkerCounters\# of active items",
SampleRate = TimeSpan.FromSeconds(30)
});
dmc.Logs.BufferQuotaInMB = 4;
// Get the perf counters
dmc.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(60);
dmc.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
var cloudStorageAccount =
CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"));
DiagnosticMonitor.Start(cloudStorageAccount, dmc);
...
Но в WADPerformanceCountersTable нет данных для моего счетчика.В чем проблема?
UPD : "\Processor(_Total)\% Processor Time"
счетчик в порядке - в wad-таблице есть данные.
UPD2 : некоторые рабочие роли используют этопользовательский счетчик.Если существует только один экземпляр этой роли, данные отсутствуют.Но если есть 2 экземпляра - есть данные из экземпляра № 2.