我浏览了Azure门户并搜索了网络,但我一直无法找到答案。有没有办法,可能通过api或powershell,获取webjobs上的指标?比如每个人的平均运行时间?我还想找出webjob触发的消息的平均排队时间(尽管这可能是存储指标而不是webjob指标)。任何指针都会受到赞赏。
答案 0 :(得分:2)
如果没有第三方服务,不要认为这是可能的..事实上,我所知道的唯一一个具体做的就是CloudMonix,我是其所属的。
答案 1 :(得分:2)
正如Igorek所说,我也不认为这是可能的。有许多工具可以监控应用程序。其中两个有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);
}