pplication Performance Monitoringのパワーを活用:Pythonプログラムのエンドツーエンドパフォーマンスを分析 (2021/07/28)
pplication Performance Monitoringのパワーを活用:Pythonプログラムのエンドツーエンドパフォーマンスを分析 (2021/07/28)
投稿者: Daniela Hansell | Senior Manager, Enterprise and Cloud Manageability
Oracle Cloudの管理性ファンの皆様に、エキサイティングなニュースをお届けします。 Oracle Cloud Infrastructure(OCI)ネイティブ・サービスであるApplication Performance Monitoring(APM)の導入により、開発者、DevOps、アプリケーション管理者は、クラウドまたはオンプレミスで、さまざまなクライアント、サードパーティ・サービス、バックエンド層に分散する複数のコンポーネントとアプリケーションロジックをトレースしてエンドユーザー体験を真に監視できるようになりました。
分散トレースとはどのような仕組みですか?
Application Performance Monitoringは、事前に定義されたデータソース、オープンソースのトレーサー、またはAPIを直接使用してトランザクションインスタンスデータを収集し、処理します。 APIとベンダーニュートラルな計測フレームワークであるOpenTracingのサポートにより、アプリケーション開発者はアプリケーションコードを自ら計測し、APMでトレースデータを分析することができます。
Distributed Tracingは、トランザクションのパフォーマンス、ボリューム、エラーレートを監視し、障害やパフォーマンス低下をピンポイントで特定するのに役立ちます。 また、負荷、使用パターン、パフォーマンス、キャパシティを、既成概念やカスタムディメンションにとらわれずに分析することができます。 この方法は、特にマイクロサービスベースのアプリケーションに適しています。
コードのインスツルメンテーション
OpenTracingのサポートにより、可能性は無限に広がります! このブログでは、APMの分散トレース機能を使って、Pythonプログラムのエンドツーエンドのパフォーマンスを分析する方法を例として紹介します。 このブログが、APM OpenTracingのサポートに特化したブログシリーズの最初のものになることを期待しています。
Pythonプログラムを計測してタイミングデータを収集するために、私たちはオープンソースの分散トレースシステムであるZipkinを使用しています。 私たちはZipkinをPythonプログラムと統合し、ZipkinがPythonコードをトレースして、このトレースデータをAPM Trace Explorerにアップロードします。
ZipkinはPythonのコードをトレースし、このトレースデータをAPM Trace Explorerにアップロードします。
コードレベルでは、以下のような構成になっています。
設定手順は、簡単に言うとこんな感じです。
- カスタマイズされた py_zipkin を Python コードにインポートします (APM は今のところ Zipkin 形式のみをサポートしています)
- APMコンソールを使用してAPMドメインを作成し、その詳細(アップロードエンドポイントとデータキー)を記録します。
- Zipkin Transport for Python を設定し、トレースデータをアップロードするデータアップロードエンドポイントを含めます。
- APM Trace Explorerでデータを分析します
設定が完了し、Pythonプログラムが起動すると、Zipkinは自動的に選択したAPMドメインにトレースデータを送信し、APM Trace Explorerを使用してトレースを解析することができます。 また、OCI APMコンソールでは、Pythonプログラムにかかった全体の時間を確認することができます。
このステップバイステップのチュートリアルで、これがどのように行われたかを詳しく見てみましょう。
このブログの内容は、OracleのSolution Engineering HubのYe Wang氏とShengjun Zhu氏によって作成された例に基づいています。Oracle Solution Engineering Hubについては、ここをクリックしてください。
Application Performance Monitoringについてさらに詳しく知りたい場合は、こちらをご覧ください。
コメント
コメントを投稿