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
第49回:列伝9人目「内製型ひとり情シス」
IT関連
2022-09-21 07:21
AirPods Pro 2は2022年発売か
IT関連
2021-07-03 02:59
Windows TerminalがSixel画像表示をサポート。ターミナル画面内で精細なグラフなど表示可能に
Microsoft
2024-08-30 18:13
富士通研と北海道大が「説明可能なAI」を共同開発–AIの信頼性/透明性を向上
IT関連
2021-02-05 11:03
Google Cloud、アーリーステージのスタートアップ企業支援を拡大
IT関連
2022-01-29 04:50
「ChromeOS」と「Android」の統合の可能性–転換点を迎えるグーグルのノートPC戦略
IT関連
2024-11-30 04:34
Meta初の独自開発AIチップ「MITA」とは
IT関連
2023-05-27 21:31
オンプレとAzure間のAD連携「HAAD参加」の落とし穴と対策
IT関連
2022-08-30 01:45
京急電鉄、乗務員800人に配布していた1000ページ超の規程集を電子化
IT関連
2023-12-21 14:11
好決算にもかかわらずウォール街の怒りを買ったエンタープライズ向け企業のSnowflake
ソフトウェア
2021-03-08 06:42
パナソニック コネクトが戦略的投資を続行するBlue Yonder
IT関連
2023-11-02 05:55
マイクロソフト、自動運転車開発のCruiseに出資–GMとの提携も
IT関連
2021-01-20 21:33
製品チームが簡単にユーザーインタビューを行い仮説を検証できるプラットフォームを英国Ribbonが開発
ソフトウェア
2021-03-30 15:19
グーグル・クラウド、事業戦略を発表–データ活用とリスキリング、内製化が重点
IT関連
2023-03-02 04:26