Не удалось записать счетчики производительности для веб-роли Azure - PullRequest
0 голосов
/ 02 октября 2010

Я пытаюсь захватить следующие PerformanceCounters в Azure WebRole:

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 на моем устройстве разработки, но я не могу получить их в лазурном облаке? Кто-нибудь может указать, что я могу здесь делать не так?

Капил

Ответы [ 3 ]

1 голос
/ 11 октября 2010

Якобы проблема была не в тех местах, на которые я смотрел. Исправить это было довольно просто: я удалил ранее существовавшее развертывание и загрузил свой файл cspkg как новое развертывание. Кажется, что счетчики перфектов подобраны на основе xml-файла под большим двоичным объектом wad-control-container. Этот XML-файл сделан для каждого развертывания. Я понял, что файл xml не обновлялся в моем случае, и когда я удалил развертывание и создал новое развертывание, он принял новое значение.

Спасибо Капил

1 голос
/ 10 апреля 2014

Любые изменения параметров диагностики обновляются только при полном развертывании, а не при обновлении.Чтобы выполнить полное развертывание, перейдите в «Публикация профиля», «Настройки» и «Дополнительные настройки» и снимите флажок «Обновление развертывания».Когда вы опубликуете это, это будет полное развертывание.

Кроме того, вы можете обновить ваши настройки без выполнения развертывания.В обозревателе серверов перейдите в Windows Azure => Облачные службы => => Производственная => Ваша рабочая роль и щелкните правой кнопкой мыши по ней, щелкните Обновить параметры диагностики.При этом будут выбраны фактически развернутые текущие параметры диагностики, и вы можете обновить их здесь, не выполняя никакого развертывания.Конечно, если вы хотите убедиться, что ваш код действительно настроен правильно, вам потребуется выполнить полное развертывание, как упомянуто выше, чтобы проверить ваш код, а затем проверить.*

0 голосов
/ 03 октября 2010

Поскольку вы получаете счетчики в Dev Fabric, но не в Azure Fabric, позвольте мне спросить очевидное: изменили ли вы параметр DiagnosticsConnectionString для ссылки на строку подключения Azure Storage?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...