Application Insights跳过事件

时间:2019-04-15 23:15:02

标签: azure azure-application-insights

我正在使用此代码将事件发送到控制台应用程序中的应用程序见解

        TelemetryConfiguration.Active.InstrumentationKey = "XXXXXXXXX";

        TelemetryClient telemetryClient = new TelemetryClient(); 

        for (int i = 0; i < 100; i++)
        {

            telemetryClient.TrackEvent("Hello World!");

            telemetryClient.TrackException(new OutOfMemoryException());
        }

        telemetryClient.Flush();
        Task.Delay(60000).Wait();

现在我遇到的问题是它似乎并没有记录我所有的事件,有时Visual Studio工具栏会显示44,有时是68,而从不100。

我要发送的信息类型很重要,因为我将通过此服务监视多个控制台应用程序。

有什么方法可以使应用程序见解将所有事物发送到蔚蓝而不是跳过事件?我想我有足够的时间在离开之前发送所有东西。

1 个答案:

答案 0 :(得分:1)

没有完整的代码,很难说使用的配置。要查找的东西:

  1. 您是否启用了采样?如果您确实想要准确的事件计数,请禁用采样(https://docs.microsoft.com/en-us/azure/azure-monitor/app/sampling
  2. 您是否已明确配置频道?如果不是,则默认值为InMemoryChannel,它不会对瞬态问题进行任何重试。最好使用ServerTelemetryChannel,即使在出现网络问题或应用程序见解后端瞬态问题时也可以保护数据丢失。
var config = new TelemetryConfiguration(); // or active or create default...
var channel = new ServerTelemetryChannel();
channel.initialize(config)

// create client from the config.
TelemetryClient tc= new TelemetryClient(config);