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
Ziddyちゃんの「私を社食に連れてって」:ドリーム・アーツで星に願いを編
IT関連
2022-07-16 18:20
Zoom、クラウドコンタクトセンターのFive9を約1.6兆円で買収へ
IT関連
2021-07-20 00:35
[速報]Oracle Database@AWSは12月から利用可能に、AWS CEOが基調講演に登場。Oracle CloudWorld 2024
AWS
2024-09-11 15:16
サイバーエージェントやアサヒ飲料ら、AIと経済学活用の価格決定実証
IT関連
2024-06-23 16:17
「SparkyLinux」–誰でも使える、無駄を省いたLinuxディストリビューション
IT関連
2023-03-15 16:18
ソーシャルゲームZyngaのCEOがさらなる買収計画を語る
ゲーム / eSports
2021-02-12 22:17
セールスフォースが開発者イベント、MuleSoftやSlack、Tableauと統合強化
IT関連
2022-04-29 10:12
相手が目の前にいるようなグーグルのビデオ通話「Project Starline」が小型化
IT関連
2023-05-12 23:27
マイクロソフト、データセンターのバーチャルツアー公開
IT関連
2021-04-22 06:29
GitHub、「secret scanning」のプッシュ保護機能をGHASライセンスで一般提供
IT関連
2023-05-12 22:58
マイクロソフト、「セキュリティデフォルト」の展開を拡大
IT関連
2022-05-31 15:53
「Apex Legends」にスマホ版 プレイヤー1億人超の人気ゲーム
企業・業界動向
2021-04-21 22:04
「バイアスのないAI」実現への道のりはデータから始まる
IT関連
2022-08-27 15:53
マイクロソフト、「ChatGPT」を活用した「Bing」でグーグルに対抗か
IT関連
2023-01-06 22:44