> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trainy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Comparing runs

> Co-plot metrics across runs and compare them in a side-by-side, git-style diff view.

## Metric Groupings

Metrics recorded with `pluto.log` produces a point in a time series, where each time series is associated with a user defined metric label. Every invocation of `pluto.log` is implicitly associated with a particular step value which represents the x-axis while the logged metric value is the y-axis. Metrics should be labeled using path like syntax i.e.

```python theme={null}
pluto.log({"val/loss": 2})
```

In the dashboard, metrics are grouped in the dashboard by their top-most parent key (in the example above, the topmost key would be `val`), and each panel corresponds to a unique full metric label path. In the above example, we've created a panel for the metric label `val/loss`

## Comparing Experiments

If two experiments have identically labeled time-series, their time series data will be co-plotted on the same panel. In the image below, we hide all of our experiments except for two which both contained time-series labeled `val/loss`

<img src="https://mintcdn.com/trainy/xqSYbhN-FFuW4nHK/images/Screenshot2025-12-18at6.04.50PM.png?fit=max&auto=format&n=xqSYbhN-FFuW4nHK&q=85&s=4d4b7c6d38042c709e0595414ff659eb" alt="Screenshot 2025 12 18 At 6 04 50 PM" width="2940" height="1278" data-path="images/Screenshot2025-12-18at6.04.50PM.png" />

<Note>
  The runs you compare here are the ones you select in [The Runs Table](/pluto/runs-table) — use it to filter, group, and pick the runs you want side by side.
</Note>

## Side-by-Side View

For a detailed tabular comparison of selected runs, click the **Side-by-side** button above the runs table. This opens a comparison view that displays all metadata and metric summaries in a structured table with one column per run.

<img src="https://mintcdn.com/trainy/Q1p3R0pB-6vWZ8VS/images/pluto/side-by-side.png?fit=max&auto=format&n=Q1p3R0pB-6vWZ8VS&q=85&s=f16b529d7074331a1656beed1e6538d0" alt="Side-by-side comparison view" width="1980" height="1634" data-path="images/pluto/side-by-side.png" />

The side-by-side view includes:

* **Pluto Metadata** — Name, ID, status, owner, timestamps, tags, and notes for each run
* **Metric Summaries** — Final values for every logged metric, organized alphabetically
* **Search** — Filter the comparison table by metric name with support for regex matching
* **Remove from comparison** — Click the eye icon on any run's column header to temporarily hide it from the view
* **Show only differences** — Toggle to hide rows where all runs have identical values, making it easy to spot what changed between experiments
* **Format JSON values** — Toggle JSON pretty-printing for config values. JSON and Python dict values (single-quoted dicts, `True`/`False`/`None`) are automatically detected and formatted with collapsible cells. Enabled by default.

### Diff View

Click any run's column header to set it as the **reference run** (indicated by a "REF" badge). With diff mode enabled, values are highlighted git-style:

* **Red background** for the reference run's values
* **Green background** for values that differ from the reference

When both diff mode and "Show only differences" are active, the view also shows **word-level inline diffs** — individual words that were added are highlighted in green and removals in red, making it easy to spot exactly what changed within a config value.

<img src="https://mintcdn.com/trainy/aYE6TEOOjuWImSUp/images/pluto/side-by-side-differences.png?fit=max&auto=format&n=aYE6TEOOjuWImSUp&q=85&s=b7b6794e04dcf8020a79a71c446fbca7" alt="Side-by-side diff view" width="1400" height="900" data-path="images/pluto/side-by-side-differences.png" />
