Using Observer to inspect supervisors and processes
The Observer tool we already used in a couple of recipes throughout the book allows us to have a better insight on supervision trees and to have information on the processes. It also allows us to "kill" a process and watch it be replaced by another one!
How to do it…
To start inspecting our supervisors and processes, we will follow these steps:
Open a new IEx session:
> iex
Start the Observer tool:
iex(1)> :observer.start
Select the Applications tab in the graphical interface.
In the logger application info, right-click on Elixir.Logger.Watcher and select the Kill process option, and then confirm the option in the popup.
Take a look at the PIDs for some processes. They have changed! This means that
Elixir.Logger.Supervisor
restarted some processes when one of its supervised processes terminated.Note
We are the culprits for the failure but it serves the purpose of illustrating the power of a supervision tree and how it makes the task of...