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
マイクロソフト、JavaScriptに型宣言を追加しつつトランスパイラ不要の「Types as Comments」をJavaScript仕様策定会議のTC39に提案へ
JavaScript
2022-03-11 00:12
Android IDEの最新版「Android Studio Arctic Fox (2020.3.1)」ベータ公開。Wear OS対応では心拍数のエミュレートが可能に
Android
2021-05-25 16:48
未経験から日立のトップデータサイエンティストに–データ分析コンペで磨いた“実践力”
IT関連
2023-06-02 14:40
IDC Japan、企業ITインフラ市場のベンダー別シェアを発表
IT関連
2021-06-22 17:34
ウイングアーク1st、BIダッシュボードとAWSのAI・IoTを連携
IT関連
2022-05-28 10:18
化粧品ECプラットフォームNOINを運営するノインが累計約10億円のシリーズC調達、化粧品業界DXに向けた事業を拡大
IT関連
2022-01-29 19:28
AWSがLinux関連OSSを特許リスクから守る「Open Invention Network」に加盟。全特許をパテントプールに提供すると表明
AWS
2022-12-09 05:31
PwCコンサルティング、JTの生成AI実証を支援–独自の検証基盤活用
IT関連
2023-10-20 07:00
NVIDIA、AIに特化したネットワーキングプラットフォーム「Spectrum-X」などを発表
IT関連
2023-05-31 20:56
配車サービスを展開するDiDi、オペレーター支援型CXソフトウェアを導入
IT関連
2024-04-02 18:45
SNSでのオンラインハラスメントや虐待に対抗するBlock PartyがTwitterでサービス開始
パブリック / ダイバシティ
2021-01-20 20:42
イメージングの力とDXで社会の持続的成長に貢献–コニカミノルタ・大幸社長兼CEO
IT関連
2023-01-06 02:07
データベース指向の新OS「DBOS」–クラウド時代に対応する新たなアプローチ
IT関連
2024-04-11 10:54
宅配業者かたる詐欺SMS出回る 「dアカウント」の偽ログイン画面に誘導 ドコモが注意喚起
セキュリティ
2021-01-26 14:13