タイトルのまんま。Lambdaの実行時間を、CloudWatch Logs Insightsで集計したい。
で、以下記事参考にさせてもらった。おぉぉ、これは便利!!
CloudWatch LogsInsightsでLambdaの速度を計測してみよう
対象のロググループと時間帯をセット後、以下のクエリにより95パーセンタイル、中央値、平均値、最小値、最大値を集計できる。
filter @type = "REPORT"
| stats count(*) as `count`,
pct(@duration, 95) as pct95,
pct(@duration, 50) as pct50,
avg(@duration) as avgtime,
min(@duration) as mintime,
max@duration) as maxtime
上記記事からの引用だが、デフォルトで以下のフィールドが用意されている。ということは…
@ingestionTime
@logStream
@message
@requestId
@timestamp
@type
@billedDuration
@duration
@initDuration
@maxMemoryUsed
@memorySize
メモリ使用値を集計するなら、これでいけるってことか。
filter @type = "REPORT"
| stats count(*) as `count`,
avg(@maxMemoryUsed) as avgmem,
min(@maxMemoryUsed) as minmem,
max(@maxMemoryUsed) as maxmem
無関係だけど時事ネタなど。「JA民営化」要注意キーワードね。
【時事問題】米価高騰の犯人は? 仕組まれた価格操作の可能性? 農林中金が狙われている?