队列侦听器的Application Insights依赖项跟踪

时间:2019-03-19 10:21:33

标签: azure-application-insights

我有一个队列侦听器,它在收到消息后会进行多个REST API调用。我想使用Application Insights将这些API调用作为依赖项进行跟踪。有什么方法可以像在ASP.NET Core项目中那样自动完成它?

我尝试了类似于以下代码的操作,但它不会自动记录依赖项。

using (var operation = ApplicationLogging.TelemetryClient.StartOperation<RequestTelemetry>("Test"))
{
    //Rest Calls
}

1 个答案:

答案 0 :(得分:2)

标准依赖性跟踪模块会自动发现外部依赖性,例如数据库和REST API。但是您可能希望以相同的方式处理一些其他组件。您可以使用标准模块所使用的相同TrackDependency API编写发送依赖项信息的代码。

使用TrackDependency调用来跟踪对外部代码的响应时间和调用成功率。结果显示在门户网站的依存关系图中。

C#中的代码段

var success = false;
var startTime = DateTime.UtcNow;
var timer = System.Diagnostics.Stopwatch.StartNew();
try
{
success = dependency.Call();
}
finally
{
timer.Stop();
telemetry.TrackDependency("myDependency", "myCall", startTime, timer.Elapsed,    success);
// With the Latest SDK follow the below format:
// TrackDependency (string dependencyTypeName, string dependencyName, string data, DateTimeOffset startTime, TimeSpan duration, bool success);
}

Documentation Reference

希望这会有所帮助。