|
| 1 | +# Dashboard Unification Plan - Update v2 |
| 2 | + |
| 3 | +This document outlines additional improvements to dashboard layouts and section ordering. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 1. Panel Width Changes |
| 8 | + |
| 9 | +### Issue |
| 10 | +In Dashboard 10 (Aggregated Index Analysis), the "Tuples read" and "Tuples fetched" panels are displayed side-by-side (w=12 each), making them narrow and hard to read with multiple index entries. |
| 11 | + |
| 12 | +### Current Layout |
| 13 | +``` |
| 14 | +| Top indexes by tuples read (w=12) | Top indexes by tuples fetched (w=12) | |
| 15 | +``` |
| 16 | + |
| 17 | +### Proposed Layout |
| 18 | +``` |
| 19 | +| Top indexes by tuples read (w=24) | |
| 20 | +| Top indexes by tuples fetched (w=24) | |
| 21 | +``` |
| 22 | + |
| 23 | +### Changes Required |
| 24 | + |
| 25 | +#### Dashboard 10 (Index Health) |
| 26 | +| Panel | Current gridPos | Proposed gridPos | |
| 27 | +|-------|-----------------|------------------| |
| 28 | +| Top $top_n indexes by tuples read | `"w": 12, "x": 0, "y": 15` | `"w": 24, "x": 0, "y": 15` | |
| 29 | +| Top $top_n indexes by tuples fetched | `"w": 12, "x": 12, "y": 15` | `"w": 24, "x": 0, "y": 25` | |
| 30 | + |
| 31 | +Note: Y position of subsequent panels will need to shift down by 10 (height of the added row). |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +## 2. Bloat Section Reordering |
| 36 | + |
| 37 | +### Rationale |
| 38 | +Moving "Estimated bloat stats" immediately after "Size stats" simplifies analysis: |
| 39 | +- Users can see size metrics and immediately correlate with bloat |
| 40 | +- When bloat is reduced, the size drop is visible in adjacent sections |
| 41 | +- More logical flow: Size → Bloat → Activity → IO |
| 42 | + |
| 43 | +### Current Section Order (all dashboards) |
| 44 | + |
| 45 | +#### Dashboard 8 (Table Stats) |
| 46 | +1. Detailed table view |
| 47 | +2. Size stats |
| 48 | +3. Tuple stats |
| 49 | +4. IO stats |
| 50 | +5. **Estimated bloat stats** ← at end |
| 51 | + |
| 52 | +#### Dashboard 9 (Single Table Analysis) |
| 53 | +1. Size stats |
| 54 | +2. **Estimated bloat stats** ← already correct! |
| 55 | +3. Activity stats |
| 56 | +4. IO stats |
| 57 | + |
| 58 | +#### Dashboard 10 (Index Health) |
| 59 | +1. Detailed index view |
| 60 | +2. Size stats |
| 61 | +3. Index usage stats |
| 62 | +4. IO stats |
| 63 | +5. **Estimated bloat stats** ← at end |
| 64 | + |
| 65 | +#### Dashboard 11 (Single Index Analysis) |
| 66 | +1. Size stats |
| 67 | +2. Index usage stats |
| 68 | +3. IO stats |
| 69 | +4. **Estimated bloat stats** ← at end |
| 70 | + |
| 71 | +### Proposed Section Order |
| 72 | + |
| 73 | +#### Dashboard 8 (Table Stats) |
| 74 | +1. Detailed table view |
| 75 | +2. Size stats |
| 76 | +3. **Estimated bloat stats** ← moved up |
| 77 | +4. Activity stats (was "Tuple stats") |
| 78 | +5. IO stats |
| 79 | + |
| 80 | +#### Dashboard 9 (Single Table Analysis) |
| 81 | +*No change needed - already in correct order* |
| 82 | + |
| 83 | +#### Dashboard 10 (Index Health) |
| 84 | +1. Detailed index view |
| 85 | +2. Size stats |
| 86 | +3. **Estimated bloat stats** ← moved up |
| 87 | +4. Activity stats (was "Index usage stats") |
| 88 | +5. IO stats |
| 89 | + |
| 90 | +#### Dashboard 11 (Single Index Analysis) |
| 91 | +1. Size stats |
| 92 | +2. **Estimated bloat stats** ← moved up |
| 93 | +3. Activity stats (was "Index usage stats") |
| 94 | +4. IO stats |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## 3. Implementation Details |
| 99 | + |
| 100 | +### Dashboard 10 (Index Health) - Full Changes |
| 101 | + |
| 102 | +#### Step 1: Widen tuple panels |
| 103 | +```json |
| 104 | +// Panel "Top $top_n indexes by tuples read" (id: 27) |
| 105 | +// Change: |
| 106 | +"gridPos": { "h": 10, "w": 12, "x": 0, "y": 15 } |
| 107 | +// To: |
| 108 | +"gridPos": { "h": 10, "w": 24, "x": 0, "y": 15 } |
| 109 | + |
| 110 | +// Panel "Top $top_n indexes by tuples fetched" (id: 28) |
| 111 | +// Change: |
| 112 | +"gridPos": { "h": 10, "w": 12, "x": 12, "y": 15 } |
| 113 | +// To: |
| 114 | +"gridPos": { "h": 10, "w": 24, "x": 0, "y": 25 } |
| 115 | +``` |
| 116 | + |
| 117 | +#### Step 2: Move bloat section after size stats |
| 118 | +Reorder panels so "Estimated bloat stats" row and its child panels come immediately after "Size stats" section. |
| 119 | + |
| 120 | +**New Y-position mapping:** |
| 121 | +| Section | Current Y | New Y | |
| 122 | +|---------|-----------|-------| |
| 123 | +| Detailed index view (row) | 0 | 0 | |
| 124 | +| Size stats (row) | 4 | 4 | |
| 125 | +| Size panel | 5 | 5 | |
| 126 | +| **Bloat stats (row)** | 36 → | 15 | |
| 127 | +| Bloat % panel | 37 → | 16 | |
| 128 | +| Bloat size panel | 47 → | 26 | |
| 129 | +| Index usage stats (row) | 15 → | 36 | |
| 130 | +| Tuples read panel | 16 → | 37 | |
| 131 | +| Tuples fetched panel | 16 → | 47 | |
| 132 | +| IO stats (row) | 25 → | 57 | |
| 133 | +| Block reads panel | 26 → | 58 | |
| 134 | +| Block hits panel | 26 → | 58 | |
| 135 | + |
| 136 | +### Dashboard 8 (Table Stats) - Bloat Reorder |
| 137 | + |
| 138 | +Move "Estimated bloat stats" section from position 5 to position 3: |
| 139 | + |
| 140 | +**Current order of row panels:** |
| 141 | +1. "Detailed table view" (y=0) |
| 142 | +2. "Size stats" (y=1) |
| 143 | +3. "Tuple stats" (y=33) |
| 144 | +4. "IO stats" (y=53) |
| 145 | +5. "Estimated bloat stats" (y=95) |
| 146 | + |
| 147 | +**Proposed order:** |
| 148 | +1. "Detailed table view" (y=0) |
| 149 | +2. "Size stats" (y=1) |
| 150 | +3. "Estimated bloat stats" (move up) |
| 151 | +4. "Activity stats" (rename from "Tuple stats") |
| 152 | +5. "IO stats" |
| 153 | + |
| 154 | +### Dashboard 11 (Single Index Analysis) - Bloat Reorder |
| 155 | + |
| 156 | +Move "Estimated bloat stats" section from position 4 to position 2: |
| 157 | + |
| 158 | +**Current order:** |
| 159 | +1. Size stats |
| 160 | +2. Index usage stats |
| 161 | +3. IO stats |
| 162 | +4. Estimated bloat stats |
| 163 | + |
| 164 | +**Proposed:** |
| 165 | +1. Size stats |
| 166 | +2. Estimated bloat stats (move up) |
| 167 | +3. Activity stats (rename) |
| 168 | +4. IO stats |
| 169 | + |
| 170 | +--- |
| 171 | + |
| 172 | +## 4. Summary of All Changes |
| 173 | + |
| 174 | +| Dashboard | Change Type | Description | |
| 175 | +|-----------|-------------|-------------| |
| 176 | +| Dashboard 8 | Reorder | Move bloat after size | |
| 177 | +| Dashboard 8 | Rename | "Tuple stats" → "Activity stats" | |
| 178 | +| Dashboard 9 | None | Already correct order | |
| 179 | +| Dashboard 10 | Width | Widen tuple panels to w=24 | |
| 180 | +| Dashboard 10 | Reorder | Move bloat after size | |
| 181 | +| Dashboard 10 | Rename | "Index usage stats" → "Activity stats" | |
| 182 | +| Dashboard 11 | Reorder | Move bloat after size | |
| 183 | +| Dashboard 11 | Rename | "Index usage stats" → "Activity stats" | |
| 184 | + |
| 185 | +--- |
| 186 | + |
| 187 | +## 5. Implementation Priority |
| 188 | + |
| 189 | +1. **Dashboard 10** - Widen tuple panels (immediate visual improvement) |
| 190 | +2. **Dashboard 10** - Move bloat section |
| 191 | +3. **Dashboard 8** - Move bloat section |
| 192 | +4. **Dashboard 11** - Move bloat section |
| 193 | +5. **All affected** - Rename rows to "Activity stats" |
| 194 | + |
| 195 | +--- |
| 196 | + |
| 197 | +*Document updated for dashboard width and bloat ordering improvements.* |
0 commit comments