2016-03-21 7 views
1

Я осмотрел портал Azure и обыскал сеть, но я не смог найти ответ. Есть ли способ, возможно, через api или powershell, чтобы получить метрики на webjobs? Например, среднее время выполнения на каждую отдельную работу? Я также хотел бы узнать среднее время ожидания сообщения, которое запускает webjob (хотя это, скорее всего, метра хранилища, а не метрика webjob). Любые указатели будут оценены.Azure WebJobs и связанные с Queue показатели

ответ

2

Как сказал Игорь, я не думаю, что это возможно. Существует множество инструментов для мониторинга приложений. Два из них имеют Azure интеграции:

Я использовал Application Insights для отправки метрики из webjob. Вы можете следить за этим учебным пособием для проникновения в суть установки приложений н ваш webjob:

Если вы хотите, чтобы рассчитать время, чтобы обработать сообщение из очереди, вы можете сделать что-то подобное:

public async Task ProcessAsync([ServiceBusTrigger("queueName")] BrokeredMessage incommingMessage) 
{ 
    var stopwatch = Stopwatch.StartNew(); 

    // Process your message 
    ... 

    stopwatch.Stop(); 

    // You should only instantiate the TelemetryClient once in your application. 
    var telemetryClient = new TelemetryClient() { InstrumentationKey = "MyInstrumentationKey"}; 

    //Send your metric 
    telemetryClient.TrackMetric("ProcessQueueMessageElapsedTime", stopwatch.ElapsedMilliseconds); 
} 
+0

Спасибо Томас. Я использую AI на нашем веб-сайте для общих показателей, но я всегда забываю, что я могу отслеживать пользовательские показатели. –

+0

Да, у меня такая же проблема, потому что я каждый день возвращаю свой мозг перед тем, как прибыть в офис ^^ – Thomas

2

Не думайте, что это возможно без сторонних услуг .. на самом деле, единственное, что я знаю, что делает этот материал конкретно CloudMonix, с которым я связан.

Смежные вопросы