このページでは、開発時における Python 関数のインストゥルメンテーション プロセスの要件と概要について説明します。推奨される方法は、AppDynamics AWS Lambda Extension を使用することです。「AppDynamics AWS Lambda Extension を使用して、実行時にサーバレス APM をインストゥルメントする」を参照してください。
このマニュアルには、Amazon Web Services(AWS)のマニュアルへのリンクが記載されています。Amazon は自身のマニュアルを管理しているため、AppDynamics は Amazon のマニュアルの精度については一切保証しません。
はじめる前に
セットアップが次の要件を満たしていることを確認します。
- Python 3.6 以降で実装されている既存の AWS Lambda 関数
- Python パッケージインストーラ(
pip
バージョンは、AWS Lambda 関数の Python バージョンと一致する必要があります) - AppDynamics SaaS コントローラ 4.5.16 以降
Python サーバレストレーサのインストール
Python サーバレストレーサは、Python 3.6 以降で使用できます。PyPi から取得するトレーサのバージョンは、AWS で関数コードを実行するために使用する Python のバージョンと一致する必要があります。
Python サーバレストレーサは、PyPi リポジトリからダウンロードできます。Python サーバレストレーサは、ローカルにインストールすることも、AWS Lambda 関数コードにパッケージ化することもできます。
ローカルへのインストール
pip install
コマンドを実行して、トレーサをローカル環境にインストールします。
pip install appdynamics-lambda-tracer
TEXT
トレーサをローカルにインストールする場合は、実行時にトレーサを AWS Lambda 関数にパッケージ化する必要があります。
AWS Lambda 関数にパッケージ化
次のコマンドを実行して、関数のパッケージにトレーサを含めます。
pip install --target ./package/ appdynamics-lambda-tracer
TEXT
関数のパッケージ化の依存関係の詳細については、AWS のドキュメントを参照してください。
関数コードのインストゥルメント化
AWS Lambda 関数をインストゥルメント化するには、次のコード行を追加します。
import appdynamics # Add AppDynamics libraries. Must be the first line of code
@appdynamics.tracer # Must come before the handler function
def my_handler(event, context):
print("Hello world!")
PY
exit コールのインストゥルメンテーション
デフォルトでは、Python サーバレストレーサは、HTTP、Amazon DynamoDB、および AWS Lambda 間の exit コールを自動的に検出します。関数によって行われた他のタイプの外部コールを可視化する場合は、Python Tracer API を使用して exit コールを作成します。「Python サーバレストレーサ API」を参照してください。
このマニュアルには、AWS のマニュアルへのリンクが記載されています。Amazon は自身のマニュアルを管理しているため、AppDynamics は Amazon のマニュアルの精度については一切保証しません。
これらのマニュアルで使用されている Amazon Web サービス、AWS ロゴ、AWS、およびその他の AWS マークは、米国およびその他の国における Amazon.com, Inc. またはその関連会社の商標です。