← Back to Kontasks
Fixed Tool Time Distribution bar widths
Fixed percentage calculation bug causing all tool bars to appear at max width
Output
🐛 Bug Fix: Tool Time Distribution Bars
The Problem
All tool bars were appearing at maximum width because the percentage calculation was wrong:
// OLD (wrong) const pct = stats.totalMs / avgToolExec * 100 // e.g., Bash: 148s / 36s = 411% → capped to 100%
The code divided each tool's cumulative total (all turns) by average per turn (36s), giving percentages >100% for every tool.
The Fix
// NEW (correct - relative bar sizing) const maxToolTime = Math.max(...sortedTools.map(([, s]) => s.totalMs)); const pct = (stats.totalMs / maxToolTime) * 100; // e.g., Bash: 148s / 148s = 100%, Grep: 137s / 148s = 93%
Now bars are sized relative to the tool with most total time (the highest = 100%).
Expected Result
Based on your screenshot data:
- Bash → 100% (longest total: ~148s)
- Konui: Create Task → ~97% (~143s)
- Grep → ~93% (~137s)
- Task → ~77% (~114s)
- TodoWrite → ~54% (~80s)
- WebSearch → ~21% (~31s)
File Changed
konui/src/views/telemetry.ts:417-435
What's Next?
Refresh the telemetry page to see the fix (code changes take effect on next konui restart or page reload).
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
telemetryuibugfix
Created
4 Jan 2026, 9:07 am
Updated
4 Jan 2026, 9:07 am
Created By
claude
Raw Data
{
"id": "0c688a55-a52a-4eeb-91ac-063f59da68ac",
"type": "general",
"status": "completed",
"title": "Fixed Tool Time Distribution bar widths",
"description": "Fixed percentage calculation bug causing all tool bars to appear at max width",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">🐛 Bug Fix: Tool Time Distribution Bars</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"font-family:sans-serif;color:#f87171;margin:0 0 12px 0;\">The Problem</h3>\n<p style=\"margin:0 0 12px 0;color:#e0e0e0;\">All tool bars were appearing at maximum width because the percentage calculation was wrong:</p>\n<pre style=\"background:#1e1e1e;padding:12px;border-radius:4px;overflow-x:auto;color:#e5c07b;margin:0;\">// OLD (wrong)\nconst pct = stats.totalMs / avgToolExec * 100\n// e.g., Bash: 148s / 36s = 411% → capped to 100%</pre>\n<p style=\"margin:12px 0 0 0;color:#9ca3af;font-size:0.9rem;\">The code divided each tool's <strong>cumulative total</strong> (all turns) by <strong>average per turn</strong> (36s), giving percentages >100% for every tool.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"font-family:sans-serif;color:#4ade80;margin:0 0 12px 0;\">The Fix</h3>\n<pre style=\"background:#1e1e1e;padding:12px;border-radius:4px;overflow-x:auto;color:#98c379;margin:0;\">// NEW (correct - relative bar sizing)\nconst maxToolTime = Math.max(...sortedTools.map(([, s]) => s.totalMs));\nconst pct = (stats.totalMs / maxToolTime) * 100;\n// e.g., Bash: 148s / 148s = 100%, Grep: 137s / 148s = 93%</pre>\n<p style=\"margin:12px 0 0 0;color:#9ca3af;font-size:0.9rem;\">Now bars are sized relative to the tool with most total time (the highest = 100%).</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:0 0 12px 0;\">Expected Result</h3>\n<p style=\"margin:0;color:#e0e0e0;\">Based on your screenshot data:</p>\n<ul style=\"margin:8px 0 0 0;padding-left:20px;color:#e0e0e0;line-height:1.8;\">\n<li><span style=\"color:#fbbf24;\">Bash</span> → 100% (longest total: ~148s)</li>\n<li><span style=\"color:#fbbf24;\">Konui: Create Task</span> → ~97% (~143s)</li>\n<li><span style=\"color:#fbbf24;\">Grep</span> → ~93% (~137s)</li>\n<li><span style=\"color:#fbbf24;\">Task</span> → ~77% (~114s)</li>\n<li><span style=\"color:#fbbf24;\">TodoWrite</span> → ~54% (~80s)</li>\n<li><span style=\"color:#fbbf24;\">WebSearch</span> → ~21% (~31s)</li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;font-family:sans-serif;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;\">File Changed</h4>\n<p style=\"margin:0;color:#9ca3af;\"><code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">konui/src/views/telemetry.ts:417-435</code></p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-top:16px;font-family:sans-serif;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4>\n<p style=\"color:#9ca3af;margin:0;\">Refresh the telemetry page to see the fix (code changes take effect on next konui restart or page reload).</p>\n</div>\n</div>",
"choices": [
{
"label": "Refresh page",
"value": "I've refreshed the telemetry page - confirm the tool bars are now displaying correctly",
"primary": true
},
{
"label": "Restart konui",
"value": "Restart konui to pick up the code changes"
},
{
"label": "Check other metrics",
"value": "Review all the other telemetry metrics and calculations for any other issues"
}
],
"requestedAt": "2026-01-04T10:05:00.000Z",
"requestId": "d9fb5863-9428-4014-a106-ad4d51eb1b34"
},
"createdBy": "claude",
"createdAt": "2026-01-03T23:07:31.421Z",
"updatedAt": "2026-01-03T23:07:31.620Z",
"requestId": "d9fb5863-9428-4014-a106-ad4d51eb1b34",
"scope": "vibetools",
"tags": [
"telemetry",
"ui",
"bugfix"
],
"targetUser": "claude"
}