ApplicationInsights не отправляет все события в Azure - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь отправить События из простого консольного приложения в Azure. События отображаются в поиске ApplicationInsights в VisualStudio, но около первой половины не будут отображаться в portal.azure.com.

        static void Main(string[] args)
    {
        TelemetryClient telemetry = new TelemetryClient();
        telemetry.InstrumentationKey = 
        telemetry.Context.User.Id = Environment.UserName;
        System.Threading.Thread.Sleep(3000);
        for (int i = 0; i < 100; i++)
        {

            var eve = new EventTelemetry();
            eve.Name = "Test4";
            eve.Metrics["SomeMetric"] = i;
            eve.Properties["SomeProperty"] = i.ToString();
            telemetry.TrackEvent(eve);
            telemetry.Flush();
            System.Threading.Thread.Sleep(300);
        }
     }

1 Ответ

0 голосов
/ 29 июня 2018

Вы подождали несколько минут, пока события не появятся на портале? Обычно они прибывают менее чем за 5 минут, но могут быть отложены.

Также, поскольку вы не настроили канал, будет использоваться значение по умолчанию InMemoryChannel - оно не будет повторять отправку событий в бэкэнд, если произойдет какая-либо временная ошибка. ServerTelemetryChannel повторная попытка и т. Д. Можете ли вы попробовать с ServerTelemetryChannel.

var serverTelemetryChannel = new ServerTelemetryChannel();
serverTelemetryChannel.Initialize(TelemetryConfiguration.Active);
TelemetryConfiguration.Active.TelemetryChannel = serverTelemetryChannel;

Вы можете просто сделать Flush и спать вне цикла for, нет необходимости сбрасывать в каждой итерации.

...