使用 ASP.NET 核心库禁用 Application Insights 采样
Disable Application Insights sampling with the ASP.NET Core libraries
我需要保留所有遥测数据,因为我们将其用于分析。
根据this article我可以运行以下Analytics查询来确定抽样率:
requests
| where timestamp > ago(1d)
| summarize 100/avg(itemCount) by bin(timestamp, 1h)
| render areachart
结果表明进行了大量采样,尤其是在白天,每 10 个项目中只有大约 1 个被保留:
让我感到困惑的是 Azure 门户指示采样设置为 100%:
也许这只反映了 Ingestion 采样?自适应采样可能仍在服务器上进行。
如何使用 Application Insights 的 ASP.NET 核心库完全禁用采样?(即 Microsoft.ApplicationInsights.AspNetCore 1.0.2)
目前,这是我能找到的唯一配置,没有任何关于采样的配置:
var appInsightsConfiguration = new ConfigurationBuilder()
.AddApplicationInsightsSettings(
developerMode: false,
instrumentationKey: Configuration["ApplicationInsights:InstrumentationKey"])
.Build();
services.AddApplicationInsightsTelemetry(appInsightsConfiguration);
您可以使用 ApplicationInsightsServiceOptions class 禁用采样。
用法示例:
var aiOptions = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
aiOptions.EnableAdaptiveSampling = false;
services.AddApplicationInsightsTelemetry(Configuration, aiOptions);
在 Application Insights ASP.NET Core Github documentation page 中查看有关抽样的更多详细信息。
希望这对您有所帮助,
阿萨夫
我需要保留所有遥测数据,因为我们将其用于分析。
根据this article我可以运行以下Analytics查询来确定抽样率:
requests
| where timestamp > ago(1d)
| summarize 100/avg(itemCount) by bin(timestamp, 1h)
| render areachart
结果表明进行了大量采样,尤其是在白天,每 10 个项目中只有大约 1 个被保留:
让我感到困惑的是 Azure 门户指示采样设置为 100%:
也许这只反映了 Ingestion 采样?自适应采样可能仍在服务器上进行。
如何使用 Application Insights 的 ASP.NET 核心库完全禁用采样?(即 Microsoft.ApplicationInsights.AspNetCore 1.0.2)
目前,这是我能找到的唯一配置,没有任何关于采样的配置:
var appInsightsConfiguration = new ConfigurationBuilder()
.AddApplicationInsightsSettings(
developerMode: false,
instrumentationKey: Configuration["ApplicationInsights:InstrumentationKey"])
.Build();
services.AddApplicationInsightsTelemetry(appInsightsConfiguration);
您可以使用 ApplicationInsightsServiceOptions class 禁用采样。
用法示例:
var aiOptions = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
aiOptions.EnableAdaptiveSampling = false;
services.AddApplicationInsightsTelemetry(Configuration, aiOptions);
在 Application Insights ASP.NET Core Github documentation page 中查看有关抽样的更多详细信息。
希望这对您有所帮助,
阿萨夫