gpt4 book ai didi

azure - 异步 HttpClient 调用不会自动在应用服务的 Azure 应用见解中显示为依赖项

转载 作者:行者123 更新时间:2023-12-03 03:42:24 25 4
gpt4 key购买 nike

我是 Azure 应用洞察的新手,想知道为什么异步 HttpClient 调用没有在应用服务的 Azure 应用洞察中自动显示为依赖项。另外,我应该在 ASP.NET 项目中进行哪些配置更改或代码更改来跟踪 http 依赖项?

当我引用文档时,它说“依赖项是由应用程序调用的组件。它通常是使用 HTTP、数据库或文件系统调用的服务。Application Insights 测量依赖项调用的持续时间,无论是失败与否,以及依赖项名称等附加信息。您可以调查特定的依赖项调用,并将它们与请求和异常相关联。”

最佳答案

您可以使用下面的代码示例来自动跟踪 http 依赖项

using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DependencyCollector;
using Microsoft.ApplicationInsights.Extensibility;
using System.Net.Http;
using System.Threading.Tasks;

namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
TelemetryConfiguration configuration = TelemetryConfiguration.CreateDefault();

configuration.InstrumentationKey = "removed";
configuration.TelemetryInitializers.Add(new HttpDependenciesParsingTelemetryInitializer());

var telemetryClient = new TelemetryClient(configuration);
using (InitializeDependencyTracking(configuration))
{
// run app...

telemetryClient.TrackTrace("Hello World!");

using (var httpClient = new HttpClient())
{
// Http dependency is automatically tracked!
httpClient.GetAsync("https://microsoft.com").Wait();
}

}

// before exit, flush the remaining data
telemetryClient.Flush();

// flush is not blocking when not using InMemoryChannel so wait a bit. There is an active issue regarding the need for `Sleep`/`Delay`
// which is tracked here: https://github.com/microsoft/ApplicationInsights-dotnet/issues/407
Task.Delay(5000).Wait();

}

static DependencyTrackingTelemetryModule InitializeDependencyTracking(TelemetryConfiguration configuration)
{
var module = new DependencyTrackingTelemetryModule();

// prevent Correlation Id to be sent to certain endpoints. You may add other domains as needed.
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("core.windows.net");
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("core.chinacloudapi.cn");
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("core.cloudapi.de");
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("core.usgovcloudapi.net");
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("localhost");
module.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("127.0.0.1");

// enable known dependency tracking, note that in future versions, we will extend this list.
// please check default settings in https://github.com/microsoft/ApplicationInsights-dotnet-server/blob/develop/WEB/Src/DependencyCollector/DependencyCollector/ApplicationInsights.config.install.xdt

module.IncludeDiagnosticSourceActivities.Add("Microsoft.Azure.ServiceBus");
module.IncludeDiagnosticSourceActivities.Add("Microsoft.Azure.EventHubs");

// initialize the module
module.Initialize(configuration);

return module;
}
}
}

注意:-

Based on the MSDOC Azure Monitor Application Insights Agent currently supports ASP.NET 4.x only.

欲了解更多信息,请参阅以下链接:

关于azure - 异步 HttpClient 调用不会自动在应用服务的 Azure 应用见解中显示为依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70458408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com