監視、トレース、プロファイリングの違いは何ですか?


16

私はこれらの3つの単語をたくさん見ましたが、それらの正確な違いを理解していません。たとえば、CPU使用率の収集はプロファイリングと呼ばれることが多く、パフォーマンスの監視にも該当します。それらの(微妙な)違いは何ですか?

回答:


11

これが私がこれらの言葉を使う方法です。その他には、追加または異なる使用法があります。手元の仕事に応じて、用語の使い方を変えます。開発チームと運用チームには、異なるニーズがあります。

モニタリングはモニタリングです。通常、それは進行中であり、できれば自動化されています。オープンソースのツールが好きMuninNagiosと、MRTGこのカテゴリに分類されます。市販のツールもたくさんあります。sarこのカテゴリには継続的に実行することも含まれますが、その結果は通常監視されません。監視ツールを使用して、監視対象のリソースがトリガーレベルを上回ったり下回ったりしたときにアラートをトリガーできます。多くの監視ツールは、異種環境でうまく機能します。

プロファイリングは通常、特定のプログラムで実行され、どのコードが最もリソースを使用しているかを確認します。多くの場合、これはCPU時間ですが、メモリ、I / O、および実行(壁)時間も含めることができます。通常、最適化の候補コードを識別するために使用されます。プロファイリングツールは、言語やプラットフォームに依存する傾向があります。

ログや監視データを使用して、異なる種類のプロファイリングが行われます。これは使用状況のプロファイリングであり、さまざまな理由で実行できます。これを行うための多くのツールは見つかりませんでした。

いくつかの異なる方法でトレースを使用します。最も頻繁に、ネットワークルートをトレースします。ネットワークおよびファイアウォールの設定に応じて、さまざまなツールが使用されますが、多少の成功を収めます。これらのほとんどには、名前または説明にtracerouteがあります。

プログラムトレースとは、プログラムの実行をトレースすることです。これは通常、テスト状況で行われます。これはいくつかの方法で行うことができます(私の使用法と経験の順序で):

  • ツールを使用してトレースを呼び出し、straceどのコードが呼び出されるかを確認します。これは、プログラムが失敗する、または期待どおりに応答しない理由を判断するのに役立ちます。
  • トレースレベルのログ。コードに含まれる適切なログステートメントに依存します。ほとんどのロギングスイートは、このレベルの詳細をサポートしています。トレースレベルのログ記録では、コードカバレッジが不十分になる傾向があります。通常、必要に応じて追加し、将来の使用に備えてコードに残します。
  • コードカバレッジトレースは、テストスイートでコードのどの部分が実行されたかを記録します。これは、欠落しているテストケースを特定するのに役立ちます。コードを100%網羅することは困難です。通常のフローの100%のカバレッジが達成可能である必要があります。
  • デスクチェック:コードを読み取ってトレースします。大規模なプログラムではあまり有用ではありませんが、単体テストのエッジケースを特定したり、可能性のあるソースが絞り込まれたときに考えられる問題を特定したりするのに適しています。Som = e IDEおよびエディターを使用すると、実装コードの呼び出しを比較的簡単に追跡できます。
  • ライブデバッグ; デバッガーを使用して実行中のコード実行をトレースします。命令ごとに実行をトレースすることは可能ですが、問題がタイミングの問題である場合、不明瞭になる可能性があります。現在の命令にコードをリンクできるデバッガーは大いに役立ちますが、プログラムのデバッグバージョンをビルドする必要があります。

-1

SAP WEBアプリケーションサーバーでは、以下の3つのキーワードを定義できます。

Webが提供する監視、トレース、およびプロファイリングの技術、および他のSAPおよび外部システムが提供する技術は、実績のあるCCMSアーキテクチャを使用して統合でき、大規模で分散した異機種インストールの保守を大幅に簡素化できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.