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
Twitterは「言論の自由」を保証する場にはならない–イーロン・マスク氏への進言
IT関連
2022-04-30 03:49
シャープ、2年ぶり営業黒字–事業譲渡などのアセットライト化も進展
IT関連
2024-11-15 19:31
サイバーセキュリティ人材、アジア太平洋で216万人不足
IT関連
2022-10-27 21:12
スーパーマリオコラボの限定スマートウォッチがタグ・ホイヤーから、価格は25万3000円
ハードウェア
2021-07-14 01:06
高級電気自動車メーカーのPolestarが2021年内に販売店舗数の倍増を計画
モビリティ
2021-07-28 13:12
「Auto-GPT」とは何か?次に来る強力なAIツールの基礎知識
IT関連
2023-04-21 16:56
大成建設、年60万件を処理する経費精算システムをクラウドに移行
IT関連
2023-10-04 01:36
キヤノンITS、AI画像解析に使うウェブシステムをクラウドサービスで提供
IT関連
2024-03-28 05:03
パナソニックHD、屋外での画像認識精度を上げる「悪天候除去AI」を開発
IT関連
2024-02-17 03:22
GoogleがOracleとの10年越しの裁判で勝訴 最高裁はJava著作権侵害せずの判断
企業・業界動向
2021-04-07 16:57
ウクライナ政府や銀行のサイトにまたDDoS攻撃–アクセス不能に
IT関連
2022-02-26 09:41
91歳のラストサムライ、「ネットサムライ」に転身しコロナ禍乗り切る
IT関連
2021-01-14 16:26
ソフトウェアテストの最前線を知る。データ分析が変えるソフトウェアテストの未来とは[PR]
PR
2022-08-23 07:09
[速報]マイクロソフト、Bing Chatで手書きの画像からHTML/CSSを生成可能に、冷蔵庫の中身から料理のアイデアも、新機能ビジュアルサーチ。Inspire 2023
Microsoft
2023-07-19 05:28