[AWS Lambda] 処理時間計測方法(AWS X-Rayの使用)
AWS Lambdaの処理時間をAWS X-Rayを用い計測する。
Lambadaでの処理時間を計測するためにAWS X-Rayを使用したときの備忘録です。間違いがありましたら、ご指摘ください。
(1) Lambda関数作成と事前設定
今回、処理時間を計測するLambda関数を作成します。
①AWS LambdaページにてTestSample関数を作成。(Python使用)
② トレースの有効化する
Lambda関数を選択し「AWS X-Ray」のアクティブトレースにチェックを入れる。
③Lambda関数のIAMロールに「AWSXrayWriteOnlyAccess」を付与する。
処理時間を計測するサービスのAWS-Xrayを使用するためです。
上記②の画像にあるLambda関数ページ内の実行ロール箇所にある、
「IAMコンソールでTestSample***ロール表示します」をクリックする。
IAMロールのページに遷移し、下記のように「AWSXrayWriteOnlyAccess」を
付与します。
(2) Lambda関数の作成
①処理時間を計測するために必要なSDKを取得
今回は、AmazonLinux環境(EC2)上でSDKを取得しました。
※各コマンドの応答結果は省略しました。
# pipのインストール
[ec2-user@ip-10-0-0-155 ~]$ sudo easy_install pip
# pipのupgrade
[ec2-user@ip-10-0-0-155 ~]$ sudo easy_install --upgrade pip
# pipコマンドのパスを移動
[ec2-user@ip-10-0-0-155 ~]$ sudo cp /usr/bin/pip /usr/sbin/
# X-Ray SDK をダウンロードする
# SDKがコマンド実行ディレクトリ配下に取得できるため
# 適当にディレクリを作成してから実行します。
[ec2-user@ip-10-0-0-155 tmp]$ pip install aws-xray-sdk -t .
⇒上記にてsdkを取得した中で、下記の3ディレクトリを使用します。
•awsxray_sdk
•jsonpickle
•wrapt
これらのフォルダ一式をLambda関数を作成するディレクトリに移動します。
※WindowsやMacといったローカル環境のPC上で実施してもよいですし、
このままEC2インスタンス上で実施しても構いません。
②Lambda実行関数を作成
今回、処理時間を作成する実行関数(lambda_function.py)は下記とします。
(Lambdaでデフォルト生成されるpython関数です)
デフォルト生成される関数に対し、X-Rayを使用するために組み込んでいます。
import json
import boto3
from aws_xray_sdk.core import patch
patch(['boto3'])
def lambda_handler(event, context):
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
③SDKを組み込んだソースコード一式を作成
①で取得したSDKと②で作成した関数をまとめます。
以下のようなフォルダ一式を作成、zip化します。
```
TestSample.zip内に以下のフォルダ/ファイルを格納
・awsxray_sdk/
・jsonpickle/
・wrapt/
・lambda_function.py
※フォルダ生成時、上記の4つのフォルダ/ファイル群に対してzip化します。
この4つが格納された上位のフォルダに対し、zip化しないようにしてください。
(3) Lambda関数にzip圧縮したソースコードを登録
関数コードのコードエントリタイプを「.zipファイルをアップロード」を選択、
(2)で作成したzipファイルをuploadします。
(4)Lambda関数の処理時間計測をテスト
Lambda関数の右上にある"テスト"をクリックし、デフォルトままで、適当にイベント名を付けます。その後、テストを実行します。
しばらくすると、テストが完了します。以下のようなログが出力されます。
ここで、ログ出力の中にXRAYのTraceIdが表示されていることがわかります。このIDを(5)で使用します。
(5)Lambda関数の処理時間を確認
AWSのサービス一覧より、AWS X-Rayのページに遷移します。そして、(4)で確認したXRAYのTraceIdに該当するTraceを選択します。
⇒Lambda関数での処理時間の結果がTraceされていることがわかります。
Lambda関数は、初回実行時には時間を要します。
そのことが処理時間の結果からも見て取れます。
以上で、Lambda関数の処理時間の計測方法となります。
Author And Source
この問題について([AWS Lambda] 処理時間計測方法(AWS X-Rayの使用)), 我々は、より多くの情報をここで見つけました https://qiita.com/pkopko-b8/items/abc6f2c88a695fd40708著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .