2015-09-06 65 views
2

我下面these instructions應用程式深入分析添加到Windows桌面應用程序。我加了一些TrackMetric和TrackException調用我的代碼,並從這些數據都出現在門戶網站就好了,所以我知道基本的管道工作。應用洞察在桌面應用程序將不會發送PERF的櫃檯

基於these instructions,我加入了AI.Web NuGet包到我的項目(是的,我知道這聽起來很奇怪,但它特別推薦)和禁用所有除了下列模塊/ config文件初始化:

  • DiagnosticsTelemetryModule
  • DependencyTrackingTelemetryModule
  • PerformanceCollectorModule
  • DeviceTelemetryInitializer

附加設備信息開始顯示在我的遙測數據中,所以我知道應用程序至少正在獲取配置文件設置。

不幸的是,無論我做什麼,沒有一個標準的性能計數器指標都顯示出來。

有沒有別的東西,我需要做的,使性能計數器收集在一個桌面應用程序?

預先感謝所有,呃,見解... :)

編輯:通過「標準的性能計數器」我的意思是Windows的性能計數器PerformanceCollectorModule默認按說跟蹤,根據前面鏈接的instructions ,其狀態爲:

PerformanceCollectorModule跟蹤多個Windows性能計數器。你可以看到這些計數器,當您單擊資源管理器度量的圖表,打開其細節刀片。

您可以監控其他性能計數器 - 無論是標準的Windows計數器和已添加任何其他...

這是很清楚,我不應該有標準的人加入到配置文件 - 只有任何我想包括的附加計數器。

+0

你不需要添加web包,只需安裝http://www.nuget.org/packages/Microsoft.ApplicationInsights.PerfCounterCollector/ –

+0

以及指令的哪一部分,就可以獨立安裝perf計數器的東西for perf collector你做了嗎?你有沒有在配置文件或代碼設置哪個性能指標你想監測?如果是這樣,你可以在這裏添加你的問題嗎? –

回答

2

理想情況下,您應該只能在應用程序的基本Application Insights包之上使用Perf Counter Collector nuget package

你最好還是要設置要監視無論是在你的appinsights.config文件,其中PERF櫃檯,或通過代碼,這是在instructions you linked記錄到,如:

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector"> 
    <Counters> 
    <Add PerformanceCounter="\MyCategory\MyCounter" /> 
    <Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" /> 
    <!-- ... --> 
    </Counters> 
</Add> 

我相信web sdk只是設置了一堆ASP.NET pipeline/w3wp性能指標,它們不會在標準的Windows應用程序中執行任何操作。

2

確保該帳戶(即您的應用程序正在運行)能夠訪問該計算機上的性能計數器(通常它應該只是Performance Monitor Users組的成員)。

+0

是的,這是非常非常重要的一步,並且經常被人遺忘。 – BrettJ

+0

我的應用程序由標準Windows用戶(不是管理員)運行。我假設任何可以運行任務管理器並查看具有諸如CPU,內存等指標的用戶進程的人也可以訪問標準的性能計數器。 –