そのため、PerfMon などを使用して、有効にした後に WCF パフォーマンス カウンターを表示することに関する多くの投稿を見てきました。
エンドポイント、サービス、および操作のパフォーマンス カウンターにプログラムで頻繁にアクセスし、独自のカスタム ファイルに出力する方法を調査しています。
まず、Wcf の構成ファイルに次のコードを配置して、パフォーマンス カウンターを有効にする必要があります。
<configuration>
<system.serviceModel>
<diagnostics performanceCounters="All" />
</system.serviceModel>
たとえば、エンドポイントのパフォーマンス カウンターから一般的な通話時間を知りたい場合は、Call Duration パフォーマンス カウンターのすべてのインスタンスを取得し、その時間値の平均を取得することを考えていました。
私は次のことを考えていました:
PerformanceCounterCategory.GetCategories()
探しているカテゴリを見つけます。そのため、ServiceModelEndpoint カテゴリを探します。それから私は使用します
GetCounters("Calls Duration")
カウンターのすべてのインスタンスを取得して、ループして平均通話時間の値を取得できるようにします。
これはパフォーマンス カウンターへの私の最初の進出であり、上で述べたのは、探している値を取得するために考えていた一種の疑似コードであることを覚えておいてください。この分野の知識が豊富な人にとって、上記のアルゴリズムは、私が必要とするカウンターにアクセスするための有効な/良い方法でしょうか? また、疑似コードを機能させるのを妨げるような複雑さを予見しますか? 私が探しているものを達成できる他の方法について提案がある場合は、お気軽にお知らせください:D
御時間ありがとうございます!