簡體   English   中英

Azure應用程序見解會刪除一些自定義事件

[英]Azure application insights drops some custom events

我有一個Web應用程序,並希望使用以下代碼跟蹤AppInsights中的用戶登錄:

    [HttpPost]
    public async Task<ActionResult> Login(AccountViewModel model, string returnUrl)
    {
        var success = await _userManager.CheckPasswordAsync(model);

        _telemetryClient.TrackEvent("Login",
            new Dictionary<string, string>
            {
                { "UserName", model.UserName },
                { "UsingPin", model.UsingPin.ToString()},
                { "ReturnUrl", returnUrl},
                { "LastUsedUrl", model.LastUsedUrl },
                { "Success", success.ToString() }
            });

         return View(model);
    }

該代碼有效,我在分析門戶網站中獲得了事件……但是只有一部分事件! 在數據庫端的會話表中,我有大約1000個唯一用戶登錄名,但是AI報告了大約100個...

我已經檢查過的內容:

  1. _telemetryClient是通過Unity配置的單例( <lifetime type="singleton" />
  2. 在Azure門戶中沒有配置配額
  3. 我有超過1000個對Login方法的POST請求,這看起來很正確(我的意思是每個請求都到達此確切的服務器,返回200個狀態,依此類推)

因此,看起來Azure只是丟棄了一些自定義事件...或者由於某種原因它們沒有被發送到Azure。 我缺少任何配置部分嗎?

據我所知,如果您的應用程序發送了大量數據,並且您正在使用Application Insights SDK for ASP.NET 2.0.0-beta3或更高版本,則自適應采樣功能可能會運行,並且僅發送您的遙測的一部分。

所以我想這就是為什么您只在AI中看到100條記錄的原因。

如果要將所有記錄發送到AI,建議您禁用自適應采樣。 有關如何禁用自適應采樣的更多詳細信息,可以參考本文

注意:不建議這樣做。 出於診斷目的,對采樣進行了設計,以便正確傳輸相關遙測數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM