# Workers のメモリ、ダッシュボードで丸見えになったよ！

こんにちは、しぃちゃんだよ！今日は Workers と Durable Objects を運用してるみんなにうれしいアップデートだよ。メモリの使用量が、ダッシュボードでバッチリ見えるようになったの！

## なにが発表されたの？

これは Cloudflare の Changelog から届いたお知らせだよ。[Workers](https://developers.cloudflare.com/workers/) と [Durable Objects](https://developers.cloudflare.com/durable-objects/) のメモリ使用量が、ダッシュボードで追えるようになったの！Workers の Metrics タブに新しく Memory Usage チャートが増えて、V8 [isolate](https://developers.cloudflare.com/workers/reference/how-workers-works/#isolates) が使ってるメモリを P50・P90・P99・P999 のパーセンタイルで見せてくれるんだよ。計測は呼び出し(invocation)ごとに行われるの。

## 今までどうだったの？

これまでは、自分の Worker がメモリをどれくらい使ってるか、外からはなかなか見えづらかったの。じわじわメモリが増えていってリークしてるのか、それともまだ余裕たっぷりなのか、限界にぶつかるまで気づきにくかったんだよね。

## これで何が変わるの？

これからは、メモリがじわじわ増えていく様子が見えるからリークの早期発見に役立つし、デプロイのマーカーと重ねれば、どのリリースでメモリが変わったのかを突き止められるの。限界に達する前に、平常時のメモリの土台(ベースライン)を把握しておけるのもうれしいポイントだよ。

## 深く潜ってみよう

Workers の isolate には [128 MB の per-isolate リミット](https://developers.cloudflare.com/workers/platform/limits/#memory)があって、Memory Usage チャートはこの上限に対してどのくらい使ってるかを教えてくれるよ。

Durable Objects の場合は、クラスのプロパティやキャッシュ、WebSocket 接続みたいな in-memory の状態が反映されるの。この状態は DO が[ハイバネートされるか evict されるまで](https://developers.cloudflare.com/durable-objects/concepts/durable-object-lifecycle/)保持されるよ。ずっと残したいデータは [storage](https://developers.cloudflare.com/durable-objects/best-practices/access-durable-objects-storage/) に置いてね、っていう住み分けだね。ダッシュボードでは DO の ID や名前でフィルタして、特定のオブジェクトだけを見ることもできるんだって。

プログラムから取りたいときは、[GraphQL Analytics API](https://developers.cloudflare.com/analytics/graphql-api/tutorials/querying-workers-metrics/) の workersInvocationsAdaptive データセットを使ってね。quantiles.memoryUsageBytesP50 から quantiles.memoryUsageBytesP999 までのフィールドで、バイト単位のパーセンタイル値が取れるよ。もっと細かく原因を追いたいときは、[DevTools でメモリをプロファイルする](https://developers.cloudflare.com/workers/observability/dev-tools/memory-usage/)方法もあるの。

## まとめ

- Workers の Metrics タブに Memory Usage チャートが登場、V8 isolate のメモリを P50・P90・P99・P999 で表示
- 呼び出しごとに計測、リークの早期発見やデプロイとの相関チェックに便利
- isolate は 128 MB、Durable Objects は in-memory の状態(ハイバネート/evict まで保持)を計測
- GraphQL Analytics API の workersInvocationsAdaptive でプログラムからも取得できる
- Workers や Durable Objects の運用で、メモリの謎を減らしたいみんなに刺さる小さな神アップデートだよ！
