[Erlang][Elixir]erlyberlyでErlang/Elixirのdebugをサポート

Erlang/Elixirのdebugを楽にするツールを知ったのでメモ。

実行のワンライナーは以下。

$ git clone git@github.com:andytill/erlyberly.git && cd erlyberly && ./mvnw clean compile install assembly:single && java -jar target/*runnable.jar

これが全て終わって、JavaのGUIが表示されたら、例えば以下のようにnodeを指定してアプリを起動します。

$ iex --name "foo@127.0.0.1" -S mix phoenix.server

起動後、Javaで表示されているtarget nodeに “foo@127.0.0.1” を指定。

すると、メモリ使用量とか、諸々を確認することができる以下のような画面を確認できるようになります。

以下は、この簡単なPhoenixアプリケーションに対して実行した時。

Screen Shot 2016-04-16 at 23.48.49

以下は、http_proxyに対して。

Screen Shot 2016-04-16 at 23.59.23

いずれも、BEAM VMのprocessやatomなどのメモリ使用量が計測できてとても良いですね。atomがGCされないので、これが過度に大きいとメモリ圧迫している、とか簡単にわかりますし。あとはfunctionsの名前空間の形もパッと見ることができますね。

https://github.com/andytill/erlyberly#get-the-process-state

にあるように、processの状態を抜くこともできるようです。

ある程度はObserverでも見ることができますが、メモリ使用量をこんな感じでグラフにしてくれるのは解りやすい。Java製。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中