我有一个应用程序洞察配置,我正在尝试在 .NET 4.8 WPF 应用程序中工作。一切似乎都可以正常传输(包括实时指标数据),但不幸的是,我无法成功让系统传输我的 SQL 查询以及 EntityFramework6 正在执行的依赖信息。
我注意到在以下链接中它引用了
对于 ASP.NET 应用程序,完整的 SQL 查询文本是在字节码检测的帮助下收集的,这需要使用检测引擎或使用 Microsoft.Data.SqlClient NuGet 包而不是 System.Data.SqlClient 库。
显然这对我来说是不可能的(我不认为?),因为我使用的是 EntityFramework(这取决于 System.Data.SqlClient),但我已经安装了 Microsoft.ApplicationInsights.Agent_**,我认为这是解决这个问题的方法上面的链接建议。
此外,当我查看 Azure 中提供的数据时,我注意到它被标记为 rddf:2.17.0-32,这表明代理无法正常工作。
我的初始化代码如下所示:
public static TelemetryConfiguration CreateConfig(string instrumentationKey, string authenticationApiKey)
{
var config = new TelemetryConfiguration()
{
ConnectionString = $"InstrumentationKey={instrumentationKey};IngestionEndpoint=https://australiaeast-0.in.applicationinsights.azure.com/",
TelemetryChannel = new ServerTelemetryChannel()
{
DeveloperMode = true
},
};
var dependencyTrackingModule = new DependencyTrackingTelemetryModule()
{
EnableSqlCommandTextInstrumentation = true
};
// prevent Correlation Id to be sent to certain endpoints. You may add other domains as needed.
dependencyTrackingModule.ExcludeComponentCorrelationHttpHeadersOnDomains.Add("core.windows.net");
// enable known dependency tracking, note that in future versions, we will extend this list.
dependencyTrackingModule.IncludeDiagnosticSourceActivities.Add("Microsoft.Azure.ServiceBus");
dependencyTrackingModule.IncludeDiagnosticSourceActivities.Add("Microsoft.Azure.EventHubs");
// initialize the module
dependencyTrackingModule.Initialize(config);
QuickPulseTelemetryProcessor quickPulseProcessor = null;
config.DefaultTelemetrySink.TelemetryProcessorChainBuilder
.Use((next) =>
{
quickPulseProcessor = new QuickPulseTelemetryProcessor(next);
return quickPulseProcessor;
})
.Build();
var quickPulseModule = new QuickPulseTelemetryModule()
{
AuthenticationApiKey = authenticationApiKey
};
quickPulseModule.Initialize(config);
quickPulseModule.RegisterTelemetryProcessor(quickPulseProcessor);
config.TelemetryInitializers.Add(new HttpDependenciesParsingTelemetryInitializer());
config.TelemetryInitializers.Add(new BuildInfoConfigComponentVersionTelemetryInitializer());
return config;
}
任何人都可以就我可能做错的事情提供任何意见吗?