2017-05-18 65 views
2

我已經開發了,我已經使用的應用程序洞察來跟蹤頁面視圖和application.I的自定義事件在應用程序關閉事件還增加了自定義事件UWP應用,但應用程序關閉事件沒有被跟蹤,所有其他自定義事件和頁面視圖都被跟蹤。在分析中,我們發現AI需要一些時間來發送事件。是否有任何方法可以減少這個時間?應用洞察需要時間來發送事件

+0

應用見解是在多個平臺上的Web開發人員可擴展的應用性能管理(APM)的服務。從2016年6月15日起,我們將停止在Application Insights中顯示iOS,Android,Windows Store和Windows Phone應用的數據。相反,您將可以通過HockeyApp訪問這些數據。請參閱[從應用洞察轉換移動應用到HockeyApp(https://azure.microsoft.com/en-us/blog/transitioning-mobile-apps-from-application-insights-to-hockeyapp/)。 –

回答

4

flush表彰在應用程序的見解SDK用力沖洗遙測留在緩衝區,但不保證送貨。

一種方法,以確保正在發送的最後一個事件是結束過程之前增加一個簡單的thread.sleep電話。但是,如果您想確保所有事件都以同步方式發送,則可以實施自己的遙測頻道,以便在返回之前發送事件。

可以看到the full example here,但一個簡單的同步遙測信道會是這樣的:

class SyncTelemetryChannel : ITelemetryChannel 
{ 
    private Uri endpoint = new Uri("https://dc.services.visualstudio.com/v2/track"); 

    public bool? DeveloperMode { get; set; } 

    public string EndpointAddress { get; set; } 

    public void Dispose() { } 

    public void Flush() { } 

    public void Send(ITelemetry item) 
    { 
     byte[] json = JsonSerializer.Serialize(new List<ITelemetry>() { item }, true); 
     Transmission transimission = new Transmission(endpoint, json, "application/x-json-stream", JsonSerializer.CompressionType); 
     var t = transimission.SendAsync(); 
     t.Wait(); 
    } 
}