Use the Expression Browser when you need fast, one‑off queries or to verify metric names/labels. For structured dashboards and alerts, use a dashboarding solution such as Grafana.

Accessing the Expression Browser
Open a browser and navigate to your Prometheus server IP and port (by default:9090). For a local instance, that is commonly:
http://localhost:9090

Querying: autocomplete, instant vs range vectors
The query box accepts any valid PromQL expression. Autocomplete helps discover metric names and label keys/values as you type — enable or disable it with the checkbox on the page.
- Instant vectors (e.g.,
metric{...}) return values at a single timestamp. - Range vectors (e.g.,
metric[5m]) return multiple samples across a window and are used as inputs to functions such asrate()andincrease().

The Graph tab expects an instant vector to plot. Supplying a bare range vector will cause an error — wrap the range vector in an aggregation/function (for example
rate()), or remove the range selector for plotting an instant vector.Graphing and panels
- Switch to the Graph tab to render the query output. If the query returns an instant vector, Prometheus will plot the single value at the selected evaluation time.
- To plot time series, use functions that accept range vectors (e.g.,
rate()), or use a metric that yields time series points directly. - You can add multiple panels (queries) to the page to compare results side‑by‑side and remove panels as needed.
- Use the graph window controls to change the display range (e.g., 30m, 2h) or set a different evaluation time.
- Rate of memory metric over the last 5 minutes:
- CPU usage rate (per CPU mode) over the last 2 minutes:
Quick examples and outputs
Example instant vector result (simplified):Comparison: Expression Browser vs Dashboard tools
Tips and best practices
- Prefer the Expression Browser for quick lookups, metric discovery, and validating PromQL expressions.
- For ongoing monitoring, alerting, and multi‑panel dashboards, integrate Prometheus with Grafana.
- When you get a graphing error, check whether your query returns an instant vector or a range vector and apply an appropriate function (e.g.,
rate()oravg_over_time()).
- Prometheus documentation: https://prometheus.io/
- PromQL basics: https://prometheus.io/docs/prometheus/latest/querying/basics/