Erlang Observer
Erlang observer is a great tool that helps you to get insights into your running BEAM node or a crash dump file of crashed BEAM node. It is written in Erlang language and has GUI. That last fact was a little bit of magic for me, which means I did not know how Observer GUI was implemented. Yesterday, we had a third Zagreb Elixir Meetup, a great opportunity to exchange Elixir and Erlang ideas, issues, and knowledge with fellow Elixir code wranglers.
Sluggish Observer
As I am using Observer in my daily work to investigate how hungry are my applications for resources, from day one I noticed that Observer on my Mac was “sluggish”. I needed to switch between tabs in order to refresh Observer UI. There was a workaround, so I did not bother to investigate the root cause of sluggish symptoms.
The Meetup
At the meetup, I gave a talk about Observer and Iex features that I use. The audience saw my sluggish Observer and noted that they do not have such an issue. It was time to find the root cause.
Solution
Google search pointed me to a possible root cause, and that was the outdated wxwidgets
library. I updated it with brew (as I am on Mac) with brew update
and brew upgrade
and after that I reinstalled erlang with asdf
asdf uninstall erlang 24.2
and asdf install erlang 24.3.4.2
Note that erlang was also updated to the latest version 24. The reason was compatibility with the latest wxwidgets
.
No more sluggish observer
for me!