いくつかの機能については、New Relic Python エージェント API には同じことを達成するための複数のオプションがあります。例えば、New Relic が監視しているトランザクションの詳細を提供するために関数をトレースすることは、セットアップにもよりますが、理論的には以下の API のいずれかで実現できます。
- デコレーター 。これは import-time API です。ほとんどのPythonアプリケーションのセットアップでは、これが最も簡単なオプションになります。
- コンテキストマネージャー 。これは、ランタイムレベルのAPIです。これらのAPIは、関数にカプセル化されていないコードをトレースしたい場合に使用されることがあります。
- ラッパー。ラッパーは、デコレータを使用せずにラップされた関数を作成するために使用されます。
- パスベースのラッパー 。これは、宣言されているコードの外側で関数をラップするために使用されます。例えば、変更したくないライブラリコードをインストルメントするのに使用できます。
これら 4 つすべてを使用できる Python エージェント API の例については、 function_trace
呼び出しエントリを参照してください。