Skip to main content

Contrastランナー

バージョン5.24.0より、Pythonエージェントは、 Pythonアプリケーションを検査するための新しいコマンドラインインターフェイス(別名、ランナー)を提供するようになりました。原則として、ランナーを使う場合、ミドルウェアを手動で設定する必要がなくなりました。代わりに、Contrastランナーが自動的にフレームワーク固有のエージェント組込みをアプリケーションに適用します。

注記

ランナーまたはラッパースクリプトを使用するインストゥルメントツールは、Contrastランナーと競合する可能性があります。Contrastランナーを他のインストゥルメントツールと共に使用する際にアプリケーションの起動に問題がある場合は、Contrastのミドルウェアを使用してアプリケーションを設定してください。

ランナーのコマンドはcontrast-python-runは呼ばれ、 contrast-agentパッケージの一部として提供されます。contrast-agentパッケージを インストールしたら、ほとんどのPython環境で何も変更することなく、コマンドラインで使用できます。

ランナーの使用

ランナーを使用するには、アプリケーションを起動する元のコマンドの先頭に、contrast-python-runコマンドを追加します。

  • 例えば、以下のコマンドで起動するDjangoアプリケーションの場合:

    python manage.py runserver
    • このアプリケーションにContrastを追加するには、以下のコマンドを実行します。

      contrast-python-run -- python manage.py runserver

    注記

    ダッシュ2個の区切り文字「--」は、ランナーコマンドの引数と、元のコマンドの引数を分けるために使用します。

  • 別の例として、以下のコマンドで起動するFlaskアプリケーションの場合:

    FLASK_APP=apps/app.py flask run --host=localhost --port=8080
    • Contrastランナーを使用すると以下のようになります(環境変数の設定はランナーコマンドの前に行うことに注意)。

      FLASK_APP=apps/app.py contrast-python-run -- flask run --host=localhost --port=8080
  • contrast-python-runコマンドは、uwsgigunicornなどのWebサーバでデプロイしている場合にも使用できます。例:

    contrast-python-run -- gunicorn apps/app:app --preload -b localhost:8080
  • また、mod_wsgi-expressを使ってApacheにデプロイしている場合にも使用できます。例:

    contrast-python-run -- mod_wsgi-express start-server app/wsgi.py --user=www-data --group www-data

ランナーは、Contrastの設定の通常の優先順位に従います。コマンドラインから直接ランナーで環境変数を使用することも可能です。

CONTRAST__AGENT__LOGGER__LEVEL=DEBUG contrast-python-run -- python manage.py runserver