2011-12-28 14 views
4

パフォーマンスカウンタを使用しようとしましたが、アプリケーションが送受信したバイト数を確認しました。私はここに提案された解決策に従った:Calculating Bandwidth、しかし、私のアプリケーションのインスタンスは、 ".NET CLRのネットワーク"カテゴリに表示されません。例外メッセージ:パフォーマンスモニタ.NET CLRネットワーク4.0.0.0インスタンス名

「インスタンス 『[8824]のApplicationName』指定し カテゴリーに存在しません」

(私は私のApp.configファイルで<performanceCounters enabled="true"/>を追加して、それはまだそれが後に発見することができません

私はパフォーマンスモニタを開始しましたので、自分の目でエラーを見てください。予想通り、私のアプリケーションは.NET CLRネットワークカテゴリには表示されませんが、.NET CLR Networking 4.0.0.0カテゴリで幸運にも見つかります。

しかし、私の問題は、インスタンス名の生成方法を理解できないことです。パフォーマンスモニターに表示されるインスタンスの名前は、ApplicationName.exe_p4952_r15_ad1です。

は、これまでのところ私は、最初の部分はPIDProcessNameので作らなければならないことを考え出したが、私は見当もつかない 何最後の2つ(「R15」「AD1」)の作品から来る。

誰かが最後の2つの要素が何であるかの手がかりを持っていますか?

".NET CLR Networking 4.0.0.0"カテゴリにあるすべてのインスタンスを列挙し、ApplicationName.exe_PID *を検索することができますが、可能であれば正しい名前を直接探すことをお勧めします。

+0

これはうまくいきましたか?私はカウンターから値を得ることができない。 – TheGateKeeper

答えて

1

名前の作成方法の詳細については、this linkを参照してください。つまり、「rXX」は、コードを実行する共通言語ランタイム(インスタンス)のランタイムIDです。

この新しい命名規則は、サイドバイサイドシナリオ(プロセス内に複数のCLRインスタンスがあり、.NET 4.0以降の新しい機能です)では、実際にパフォーマンスカウンター。

"adXX"は上記のページには記載されていませんが、頭字語からはApplication Domainを表しています。番号はアプリケーションドメインのAppDomain.Idである可能性があります。

関連する問題