Pythonエージェントを使うと、 ブラウザモニタリング をウェブページに自動または手動で追加することができます。ユーザーインターフェースでブラウザモニタリングを有効にするには、 ブラウザエージェントをインストールする手順に従ってください 。その後、このセクションの手順に従ってPythonエージェントをセットアップしてください。
ブラウザエージェントをPythonエージェントで使用するには、最新のリリースを入手してください。 詳細については、エージェントのインストール手順 を参照してください。
自動計測器のサポート
Pythonエージェントは、専用のWSGIサーバーに直接ホストされ、ネイティブなWSGIインターフェースを持ち、WSGIアプリケーションがHTMLページのレスポンスをイテレート/ジェネレータ経由で返すWSGIアプリケーションの自動インスツルメンテーションのみをサポートしています。
自動計測には専用のWSGIサーバーが必要です。
- Apache/mod_wsgi、gunicorn、uWSGIなどのWSGIサーバーに対応しています。
- TornadoまたはTwistedフレームワークの上でWSGIアダプタを使用することはサポートされていません。
Pythonエージェントは、HTMLページのレスポンスを書き戻すために、WSGI start_response()
関数から返される write()
コールバックを使用する際のインスツルメンテーションの挿入をサポートしていません。自動インスツルメンテーションの要件については、 Troubleshooting browser instrumentation in Python を参照してください。
自動計測器の使用
Pythonエージェントは、あらゆるHTMLページのレスポンスに、ブラウザのJavaScriptエージェントを自動的に追加することができます。WSGIアプリケーションでは、エージェントはリクエストパイプラインにインストールされたWSGIミドルウェアを使用します。ミドルウェアはWSGIレベルなので、Django、Flask、Pyramidなどの一般的なPythonのWebフレームワークを含め、使用しているWebフレームワークに関わらず、あらゆるWSGIアプリケーションで自動インストゥルメンテーションが機能するはずです。
特定のページのインストゥルメンテーションを無効にする
自動計測機能を使いたいが、計測したくない HTML ページの応答がある場合は、そのリクエストの計測を無効にすることができます。この Python エージェント API コール を、そのリクエストハンドラのコードに追加してください。
newrelic.agent.disable_browser_autorum()
Apache/mod_wsgiなど、 リクエストごとの設定が可能なWSGIサーバーを使用している場合は、監視対象のアプリケーションに渡されるWSGI environ辞書で、 newrelic.disable_browser_autorum
キーをそのリクエストに設定することで、自動計測を無効にすることもできます。
例えば、Apache/mod_wsgiを使用している場合、URLでフィルタリングすることで自動計測を無効にすることができます。
<Location /login>SetEnv newrelic.disable_browser_autorum true</Location>
特定のページのブラウザ監視を手動で有効にする
ブラウザー・インスツルメンテーションを特定のページに手動で追加することができます。これは、アプリケーションで自動計測ができない場合や、一部のページでのみブラウザエージェントデータを収集したい場合などに便利です。
この手順の呼び出しは、監視するすべての要求に対して行う必要があります。これらの関数をグローバルスコープで一度呼び出して、後で使用するために結果をキャッシュすることはできません。
自動計測を無効にします。 newrelic.ini ファイルで、
browser_monitoring.auto_instrument
をfalse
に設定します。アプリケーションを再起動します。
これらのコールを、監視したい すべての ページのリクエストハンドラに配置します。
import newrelic.agent header = newrelic.agent.get_browser_timing_header() footer = newrelic.agent.get_browser_timing_footer()
ヘッダー
とフッター
の変数を HTML レスポンスに渡します。対応するページでは、
< head>
要素にheader
変数を挿入します。ヘッダー
変数は、charset
プロパティや、http-equiv
with a value ofX-UA-Compatible
のメタタグの後に置きます。footer
変数を< body>
要素の終わりの前に挿入します。
数分待ってから、 ブラウザの監視データを確認してください 。数分待ってもデータが表示されない場合は、 Troubleshooting browser instrumentation in Python を参照してください。