0

AzureWebRoleで次のPerformanceCountersをキャプチャしようとしています。

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に、これらのパフォーマンスカウンターのキャプチャを有効にする次のコードがあります。

    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);

ご覧のとおり、パフォーマンスカウンターのスケジュールされたxfer期間を1分に設定しています。

これで、開発ファブリックのWADPerformanceCountersテーブルでこれらのカウンターを取得できますが、Azureクラウドで取得できませんか?誰かが私がここで間違っている可能性があることを指摘できますか?

カピル

4

3 に答える 3

1

診断設定への変更は、更新ではなく、完全な展開が実行された場合にのみ更新されます。完全な展開を実行するには、[発行プロファイル]、[設定]、および [詳細設定] に移動し、[展開の更新] のチェックボックスをオフにします。これを公開するとフル展開になります。

また、デプロイを実行せずに設定を更新することもできます。サーバー エクスプローラーで、Windows Azure => Cloud Services => => Production => Worker ロールに移動し、それを右クリックして、[診断設定の更新] をクリックします。これにより、実際に展開された現在の診断設定が取得され、展開を実行せずにここで更新できます。もちろん、コードが実際に正しい方法で設定されていることを確認したい場合は、上記のようにコードを実行して確認する完全な展開を行う必要があります。

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

于 2014-04-09T22:38:56.057 に答える
1

問題はおそらく、私が見ている場所ではありませんでした。この修正は非常に簡単で、既存の展開を削除し、cspkg ファイルを新しい展開としてアップロードしました。パフォーマンス カウンターは、wad-control-container blob の下の xml ファイルに基づいて取得されているようです。この xml ファイルは、デプロイメントごとに作成されます。私の場合、xml ファイルが更新されていないことに気付きました。デプロイを削除して新しいデプロイを作成すると、新しい値が取得されていました。

ありがとうカピル

于 2010-10-11T13:22:40.637 に答える
0

Dev Fabricではカウンターを取得していますが、Azure Fabricでは取得していないので、明らかな質問をさせてください。AzureStorage接続文字列を参照するようにDiagnosticsConnectionString設定を変更しましたか?

于 2010-10-03T00:11:42.113 に答える