kache 0.17.0

Zero-copy, content-addressed build cache for Rust, C/C++ and more, with S3 and shared-filesystem remotes.
---
title: Monitor
description: Read live cache, build, storage, and transfer state
---

Open the terminal dashboard:

```bash
kache monitor
kache monitor --since 1h
```

The monitor attempts to start the daemon for transfer statistics. It still reads the local store and event log if the daemon is unavailable.

![Kache monitor showing build, project, store, transfer, and passthrough tabs](https://raw.githubusercontent.com/kunobi-ninja/kache/main/assets/monitor.gif)

## Header

| Field | Meaning |
| --- | --- |
| `Store` | Registered blob bytes and configured maximum |
| `Hit rate` | Count rate, compile-time-weighted rate, and miss-time share when timing exists |
| `Remote` | Effective remote state |
| `Dedup` | Logical bytes avoided by shared content blobs |
| `Blobs` | Physical blob bytes |
| `Transfer` | Active daemon uploads and downloads |
| wrapper and versions | Cargo wrapper source, client version, daemon version, and cache path |

## Tabs

1. `Build` shows compiler events, outcome, action, timing, and size.
2. `Projects` lists observed target directories and disk use. Press `r` to rescan.
3. `Store` lists cache entries. Press `s` to change sort order.
4. `Transfer` shows recent remote uploads and downloads.
5. `Passthrough` shows the route, exit code, and reason for uncached invocations.

`dup` means the compiler ran after a key miss but produced blobs already in the store. It is not a cache hit.

## Keys

```text
q                 quit
Tab               next tab
1 2 3 4 5         select a tab
Up / Down         scroll
f                 filter the current supported tab
s                 change Store sort
c                 clear Build events
r                 rescan Projects
```

## Triage

- Daemon offline: run `kache daemon status` and inspect `kache daemon log`.
- Store near its limit: run `kache gc`. If cloned outputs keep entries in place, preview stale targets with `kache clean --tracked --stale 14d --dry-run`.
- No remote activity: check daemon state, credentials, and `kache doctor`.
- Unexpected misses: run `kache why-miss <crate>`.