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
AIがビジネス成果に結実していく「AI Everywhereな世界」に–日本テラデータ・高橋社長
IT関連
2024-01-06 15:30
Google Cloudがアリアンツ、ミュンヘン再保険とサイバー保険に関するプログラムで提携
IT関連
2021-03-04 11:07
Facebookがエンド・ツー・エンド暗号化をMessengerの通話やInstagramのメッセージに拡大
IT関連
2021-08-15 20:11
富士通、新卒採用にジョブ型人材マネジメントを本格導入
IT関連
2024-06-29 03:02
Twitter、返信に「反対票」(dislikeではない)をつけるテストを開始
アプリ・Web
2021-07-23 08:45
「iOS 14.5」のATT機能、ユーザーの約88%が「トラッキングしないように要求」を選択──Flurry調べ
アプリ・Web
2021-05-10 17:46
第24回:ゼロから「ひとり情シス」、一人から「ふたり情シス」へ
IT関連
2021-04-06 04:18
旭化成と日本IBM、プラスチック資源循環プロジェクトを開始
IT関連
2021-05-26 12:07
西武ライオンズ、新規ファンの獲得にライブコマース活用–売上拡大と満足度向上など狙う
IT関連
2023-03-11 16:38
NECら、保守部品の配送効率向上を実証–量子コンピューティング技術活用
IT関連
2022-02-23 09:42
経理担当者、65%がインボイス制度への対応に不安–Sansan調査
IT関連
2022-09-23 00:20
仮想通貨ブームが続く中、ブロックチェーン分析のChainalysisが109億円調達
ブロックチェーン
2021-03-28 11:03
GitHub、プロンプトでコード生成やデバッグを指示できる「GitHub Copilot Chat」を個人ユーザーにも提供開始
GitHub
2023-09-22 09:55
オラクル、クラウド移行を無料支援する新サービス「Oracle Cloud Lift Service」を開始
IT関連
2021-04-02 22:26