Health and cost
The scanner grades a table from stored metadata. It does not scan data files on the request path, and object storage is not an input.
On this page
Grades#
Every table starts at 100 points and loses points for each problem the scan finds. The grade is the letter for the final score. The home chart counts tables per grade. It is not a size-weighted median. UI words map to letters: A Excellent, B Good, C Fair, D Poor, F Critical.
| Grade | Score |
|---|---|
| A | 90 or more |
| B | 75 to 89 |
| C | 60 to 74 |
| D | 40 to 59 |
| F | Below 40 |
The home screen rolls those grades up across the lake, so you can see at a glance how many tables need work and how much storage maintenance could give back. It shows whether the count of D and F tables moved since yesterday, which D and F tables people query most, and which tables Cryo moved up a grade in the last 24 hours. A table only counts as fixed once a scan after its maintenance job shows the better grade. The quickstart shows that screen after the first scan of the seeded lake.
Deductions#
There are two deduction sizes and no others: a warning costs 8 points and a critical finding costs 20. Two warnings and one critical is 100 − 8 − 8 − 20 = 64, grade C. The seeded demo run is the same lake, not a production fleet.
| Step | Points | Running score |
|---|---|---|
| Start | 100 | |
| Small-file fragmentation (warning) | −8 | 92 |
| Manifest files bloat (warning) | −8 | 84 |
| Position delete file buildup (critical) | −20 | 64 |
| Final score and grade | C 64 |
On the Tables page, every row carries its grade, its score change over 7 days and the evidence behind it: small files out of total files, size and reads. The Health triage view lists grade D and F tables first.
Open a table to see its score and how it got there. This one scores 28: it has lost 72 points to two critical findings and four warnings.
Projection: from scan to stored cost#
The cost estimator turns the scanner's stored statistics into a projected byte count for each operation and stores it. Nothing is read from object storage to produce it. Orphan-file precision is an opt-in scanner tier. Without it, the number is flagged as last-known.
- Write or execute
Text description
- Step 1: Scanner to Cost estimator (stats)
- Step 2: Cost estimator to Stored projection (store)
- Object storage is not read by Cost estimator
What each operation projects#
| Operation | Projected effect |
|---|---|
expire_snapshots | Bytes referenced only by snapshots the retention policy would drop, and only when no surviving snapshot still references the file. |
remove_orphan_files | Bytes present in storage but referenced by no snapshot. Precise only on the scanner's opt-in listing tier. |
optimize | Delete-file bytes merged away. Data bytes are rewritten, so the storage change shows up in the later expiry projection. |
optimize_manifests | Manifest and metadata bytes reclaimed by consolidation. Small in volume, large in plan-time latency. |