通常のアンマネージ Visual C++ を使用してカスタム パフォーマンス カウンターを作成する方法を知っている人はいますか?
マネージ C++ を使用して簡単に実行できることはわかっていますが、アンマネージ Windows サービスを使用して実行する必要があります。
また、パフォーマンス カウンター データを取得できることもわかっていますが、いくつかのカスタム カウンターを作成し、アプリケーションの実行時にそれらをインクリメントする必要があります。
通常のアンマネージ Visual C++ を使用してカスタム パフォーマンス カウンターを作成する方法を知っている人はいますか?
マネージ C++ を使用して簡単に実行できることはわかっていますが、アンマネージ Windows サービスを使用して実行する必要があります。
また、パフォーマンス カウンター データを取得できることもわかっていますが、いくつかのカスタム カウンターを作成し、アプリケーションの実行時にそれらをインクリメントする必要があります。
ここを参照してください: http://msdn.microsoft.com/en-us/library/aa371925.aspx
これはそれほど難しいことではありませんが、API は自己参照型の可変長構造を広範囲に使用し、監視対象のプロセスからデータを取得するために何らかの IPC メカニズムを使用する必要があるため、少し面倒です。
ATL パフォーマンス モニター クラスは使用しないでください。それらは簡単に追加でき、ウィザードなどすべてを備えていることは知っていますが、どうしようもなくバグがあります。私はそれらを職場の開発アプリの 1 つに追加し、6 か月後にコードを調べて取り出さなければなりませんでした。全体として、約 3 週間の作業がそのノイズに失われました。
もう少し簡単に実装できるものを探していました。私はおそらくこのアプローチを使用する必要があります。また、ATL クラスを使用してパフォーマンス カウンターを追加する方法を示すように変更された Scribble チュートリアルがあることを同僚 (PJ に感謝) から教えてもらいました: PerformanceScribble サンプル: MFC アプリケーションでのパフォーマンス監視
ここでの大きな欠点は、現在、私のアプリケーションが MFC または ATL を使用していないことであり、そのサポートを追加する必要があります。