タイトルのまんま。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民営化」要注意キーワードね。
【時事問題】米価高騰の犯人は? 仕組まれた価格操作の可能性? 農林中金が狙われている?

 

 

御茶ノ水