🦁

AWS Lambda で高速に連続で console.info すると全てが CloudWatch に記録されない

2024/09/20に公開1

AWS Lambda(node.js) で、次のようなコードを実行する。


const arr = repeat(1000, _ => new Date().getTime());

console.info(`開始(${arr.length}件)`);
for (const x of arr) {
  console.info(x);
}
console.info(`終了`);

これは 1000+2行=1002行のログを出力することを期待するコードだが、CloudWatch Logs には、432行しか記録されていなかった。

それも、開始 と 終了は記録されているが、中盤のログがなかった。
開始から終了までは約200msかかっており、時系列はほぼ連続しているが、記録されていない区間は時刻が飛んでいた。

実際には上記のコードではなく業務用のコードで発生しているが、実際にそれが発生した箇所は上記のような極めて単純な配列を console.info しているだけだ。

高速に console.log などすると、スロットリングでもされてしまうのだろうか???

Discussion