2010-10-02 23 views
0

我試圖捕捉在Azure WebRole以下PerformanceCounters:無法捕捉性能計數器的Azure的Web角色

private string[] perfCounters = { @"\Processor(_Total)\% Processor Time", 
           @"\ASP.NET Applications(__Total__)\Requests/Sec", 
           @"\Memory\Available Bytes", 
           @"\ASP.NET\Request Execution Time", 
           @"\ASP.NET\Requests Queued"}; 

我在WebRole.cs下面的代碼,使這些PERF的計數器捕獲因爲這個:

DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

    int loggingInterval = Int32.Parse(RoleEnvironment.GetConfigurationSettingValue("loggingInterval")); 
    config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(loggingInterval); 

    foreach (String s in perCounters) 
    { 
     PerformanceCounterConfiguration procTimeConfig = new PerformanceCounterConfiguration(); 
     procTimeConfig.CounterSpecifier = s; 
     procTimeConfig.SampleRate = System.TimeSpan.FromMinutes(1.0); 
     config.PerformanceCounters.DataSources.Add(procTimeConfig); 
    } 
    config.PerformanceCounters.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0); 
    DiagnosticMonitor.Start("DiagnosticsConnectionString", config); 

正如你所看到的,我將perf計數器的預定xfer週期設置爲1分鐘。

現在,我可以在我的開發結構中的WADPerformanceCounters表中獲得這些計數器,但是我無法將它們置於天藍色的雲上?任何人都可以指出我在這裏做錯了什麼?

卡皮爾

回答

1

這個問題應該不是我在看的地方。對此的修復非常簡單,我刪除了預先部署的部署,並將我的cspkg文件上傳爲全新部署。看起來,根據wad-control-container blob下的一個xml文件選擇了性能計數器。這個xml文件是爲每個部署製作的。我意識到xml文件在我的情況下沒有得到更新,當我刪除了部署並創建了新的部署時,它獲得了新的價值。當進行全面部署,而不是更新

感謝 卡皮爾

+1

執行VIP交換部署對我來說並沒有什麼用。 – camflint 2014-01-20 17:59:16

0

既然你要在開發面料櫃檯,但不是在Azure結構,讓我問的很明顯:你有沒有改變你的DiagnosticsConnectionString設置爲引用您的Azure存儲連接字符串?

+0

是的,我已經完成了所有這些。實際上,我能夠在我的Azure存儲中獲取我的WADLogs表(來自雲應用程序的跟蹤日誌),但不能訪問我的WADPerformanceCountersTable – Kapil 2010-10-04 08:13:16

1

的診斷設置的任何更改只得到更新。 爲了執行完整部署,請轉到發佈配置文件,設置和高級設置,並取消選中部署更新複選框。當你發佈這個,它將是一個完整的部署。

此外,可以在不執行部署的情況下更新設置。 在服務器資源管理器中,轉到Windows Azure => Cloud Services => => Production =>您的輔助角色並右鍵單擊它,單擊更新診斷設置。這將獲取實際部署的當前診斷設置,並且您可以在這裏更新它們而不執行任何部署。 當然,如果你想驗證你的代碼實際上是以正確的方式進行設置的話,那麼你將需要完成上面提到的完整部署,它將執行你的代碼並進行驗證。

http://msdn.microsoft.com/library/azure/dn186185.aspx