Application Insights对队列侦听器的依赖关系跟踪

问题描述 投票:0回答:1

我有一个队列侦听器,一旦收到消息就会发出多个REST API调用。我想使用Application Insights跟踪这些API调用作为依赖项。是否有任何方法可以像ASP.NET Core项目那样自动执行此操作?

我尝试了类似于以下代码的东西,但它没有自动记录依赖项。

using (var operation = ApplicationLogging.TelemetryClient.StartOperation<RequestTelemetry>("Test"))
{
    //Rest Calls
}
azure-application-insights
1个回答
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

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.