---
title: "Observe browser dashboard guide"
description: "Open Hew's built-in profiler dashboard, understand scheduler and memory charts, inspect actors and export heap or flat profiles."
source: "https://hew.sh/docs/observe/browser"
---

# Observe in your browser

Get a live health check from the dashboard built into your Hew program.

## Start the profiler and open its URL

[Install Hew v0.9.3](/docs/getting-started), build a program, then enable a TCP profiler:

Open a local dashboard

```bash
hew build my_program.hew -o my_program
HEW_OBSERVE=hot HEW_PPROF=127.0.0.1:6060 ./my_program
# Open http://127.0.0.1:6060/ in your browser.
```

The running program serves the dashboard; no separate Observe app is needed. Leave it running while inspecting. A Unix-socket-only profile from `--profile` cannot be opened by a normal browser, so use a TCP address for this interface.

![Live Hew browser dashboard showing scheduler, memory, message charts, profile exports and an actor table](/images/observe/browser-dashboard.png)

The Observe v1 dashboard connected to an actor showcase. This screenshot was captured from Hew 0.6.2; the dashboard endpoints and workflow remain current in v0.9.3.

## Read the panels

-   **Scheduler:** tasks spawned/completed, sent messages and active workers.
-   **Memory:** current and peak bytes, allocation count and allocation rate.
-   **Messages:** send/receive rates and work-steal activity.
-   **Allocation Timeline:** allocation activity over the retained history.
-   **Actors:** compare message counts, processing time, mailbox depth and high-water marks.

Panels refresh about once a second. Wait a few samples for charts and rates to fill. A cumulative count can stay high while a rate drops to zero; check both when deciding whether work is progressing.

## Export a profile

Choose **pprof Heap Profile** to download `heap.pb.gz`, or **Flat Profile** to open a text report. You can also fetch the heap file directly:

Download and inspect a heap profile

```bash
curl --fail http://127.0.0.1:6060/debug/pprof/heap -o heap.pb.gz
# Optional: requires Go and its pprof tooling.
go tool pprof -http=127.0.0.1:8080 heap.pb.gz
```

The heap file uses allocator counters for runtime totals; per-actor rows are estimates derived from processed messages and mailbox high-water marks, rather than measured allocation stacks. It is different from an app's `.hewobs` session and from a CPU-sampling recording. Use the [app's recording workflow](/docs/observe#record) to retain metrics and actor events for offline replay.

## Connect safely from another device

Bind to your computer's specific LAN address, then open that address from a device on the same trusted network. A remote device's `localhost` refers to itself. Profiler endpoints expose runtime details without login; keep them off public networks and prefer an SSH-forwarded local port for remote work.

## When values stop updating

Confirm the program is still alive, the browser address has the correct port, and `/api/metrics` returns a response. A quiet program can have flat charts. Restart a finished showcase to begin another session.

For supervision, crash and event inspection, use the [terminal observer](/docs/observe/terminal) or [desktop app](/docs/observe). See the [browser manual chapter](/observe/manual/manual.html#browser-dashboard) and [profiler API reference](/docs/profiler).
