このページでは、開発時における 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. またはその関連会社の商標です。