JavaScriptのメモリリークを検出するフレームワーク「MemLab」、メタがオープンソースで公開

今回は「JavaScriptのメモリリークを検出するフレームワーク「MemLab」、メタがオープンソースで公開」についてご紹介します。

関連ワード (不安定、展開、状態等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


メタ(旧Facebook)は、JavaScriptアプリケーションのメモリリークを検出するフレームワーク「MemLab」をオープンソースとして公開したと発表しました。

We’ve open-sourced MemLab. #MemLab is a JavaScript memory testing framework that automates leak detection and makes it easier to root-cause memory leaks. 1/2 https://t.co/vo6Gzv56ud

— Engineering at Meta (@fb_engineering) September 12, 2022

Metaが展開しているFacebook、Facebook Messenger、InstagramなどをWebブラウザから利用する場合、いわゆるSPA(Single Page Application)による複雑なJavaScriptコードが実行されています。MemLabはこうしたJavaScriptアプリケーションがメモリリークを起こしていないかをWebブラウザやNode.js上で検出し、その原因を分析できるフレームワークです。

fig

JavaScriptにかぎらず、アプリケーションにおけるメモリリークは、たとえ発生したとしても動作や機能にすぐに影響を与えることが少ないためテスト発見することは容易ではなく、コードレビューで発見することも簡単ではありません。

しかしメモリリークは、徐々にアプリケーションの動作を遅くしたり不安定にしたりすることでユーザー体験を大きく損なう可能性があるやっかいなものです。また、メモリリークではないものの、例えば無限スクロールでスクロールアウトしたアセットをずっと保持していることで消費メモリがどんどん増大していってしまう、といったコードも、メモリリークと同様の問題を引き起こしてしまいます。

MemLabはこうした検出の難しいメモリリークを発見し解決することを支援してくれます。

テストシナリオを実行するとメモリリークのレポートを出力

MemLabは、ターゲットとなるアプリケーションをNode.jsあるいはPuppeteer上でテストシナリオで実行すると、状態ごとのヒープの差分からメモリリークの発生を検知し、メモリリークを起こしているオブジェクトのリストや参照チェーンなどのレポートを出力してくれます。

メモリリークの検出以外にもMemLabにはJavaScriptヒープのグラフビューAPI、メモリアサーションなどの機能を備えています。

MetaはすでにMemLabを使用することでメモリ不足(Out of Memory)によるクラッシュを50%減とすることに成功しており、サービスの信頼性やユーザー体験の向上に役立ったとしています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
いつ来る、日経平均のピーク–米景気の過熱しすぎに要警戒
IT関連
2021-06-02 12:52
日立ハイテク、アーカイブソリューションを導入–月間37万枚の納品書などを電子化
IT関連
2024-01-20 13:12
栗田工業と日立、製鉄所など原料ヤード管理のDXで協業
IT関連
2022-09-30 15:53
内航海運の抱える課題を解決するDXソリューションを推進するMarindowsが2億円の追加資金調達
IT関連
2022-03-17 00:39
「+メッセージ」で本人確認メールを送付 KDDIが企業向けに提供、部外者ののぞき見防止に
企業・業界動向
2021-05-28 21:29
武田薬品、デジタルツイン作成で治療シナリオを検証– PwCの「Bodylogical」活用
IT関連
2021-05-20 20:36
ヴィッセル神戸、意思決定の迅速化にクラウド型データ活用プラットフォームを活用
IT関連
2024-01-25 12:47
96時間以内の浸水リスクをピンポイント予測 ウェザーニュースに新機能
企業・業界動向
2021-08-14 22:47
重力制御装置やロボットで中枢神経系疾患の完治を目指すスペース・バイオ・ラボラトリーズが約1億円調達
ヘルステック
2021-08-19 12:41
数秒のサンプルで動画から「うずくまる」「倒れ込む」動きを検出 NECがAI活用の新技術
ロボット・AI
2021-04-06 16:41
「Windows 11」に多数の新機能を追加するアップデート、提供開始
IT関連
2023-09-28 23:44
ドローンで建設工事の進捗とミスをチェックするTraceAirがシリーズAで3.6億円調達
ドローン
2021-01-21 08:26
「つなぐチカラ」で社会課題の解決と持続的成長に貢献–KDDI・高橋社長
IT関連
2023-01-06 04:13
JR西日本、大阪ガスと共同開発したシステムを導入–強風予測で安定した運行を目指す
IT関連
2022-06-18 01:26