liveBook · Manning

Observer

As explained in Elixir in Action, Third Edition

observer_cli is a command-line monitoring frontend for displaying information about a running Erlang or Elixir system.

Observer is a runtime monitoring frontend for inspecting a running Erlang or Elixir system. It visualizes applications, supervision trees, processes, state, memory usage, and activity, helping locate production bottlenecks. section 11.2.3

Use observer to:

  • Inspect an OTP application's supervision tree and identify its supervisors and child processes. section 11.2.3
  • Open individual processes to examine state, registered names, PIDs, memory usage, and execution activity. section 11.2.3 section 13.3.3
  • Monitor a production node remotely from a machine with a windowing system. section 13.3.3

Inspecting a running system

Start the application, launch observer with :observer.start(), and inspect its Applications and Processes tabs. For remote monitoring, include :runtime_tools in the release and connect from a separate observer node. section 11.2.3 section 13.3.3

How Elixir in Action, Third Edition covers it

How deep it goes
Explains GUI inspection and remote deployment requirements, but stops short of detailed runtime instrumentation internals.
Examples
Uses Todo application supervisors, cache children, process state, process lists, and remote release configuration.
What it assumes
Assumes a running OTP system and requires runtime_tools in production releases used for remote observation.
What you can do after
Diagnose bottlenecks and inspect process state locally or through a remote observer connection.
How it connects
Connects OTP applications, supervision trees, processes, remote nodes, and runtime_tools.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Elixir in Action, Third Edition. The section links point to the parts of the book it draws on.