fix(sessions): Top tools counts each tool call once
The session analysis page's Top tools list counted every event carrying a tool_name, so each call was counted twice (its PreToolUse and its PostToolUse) while the Tool calls total beside it counted once — a session with 840 calls showed Bash at 1,533. The list now counts the same way as the total: PreToolUse, or PostToolUse in a session with none (imported).
This commit is contained in:
@@ -2547,10 +2547,16 @@ const stmts = {
|
||||
FROM events
|
||||
WHERE session_id = ? AND tool_name IS NOT NULL
|
||||
`),
|
||||
// One row per call, like sessionToolCallTotals: a call is its PreToolUse,
|
||||
// or its PostToolUse in a session that has none (imported). Counting every
|
||||
// event with a tool_name counted each call twice.
|
||||
sessionToolUsageCounts: db.prepare(`
|
||||
SELECT tool_name, COUNT(*) as count
|
||||
FROM events
|
||||
WHERE session_id = ? AND tool_name IS NOT NULL
|
||||
AND event_type = CASE
|
||||
WHEN EXISTS (SELECT 1 FROM events WHERE session_id = ? AND event_type = 'PreToolUse')
|
||||
THEN 'PreToolUse' ELSE 'PostToolUse' END
|
||||
GROUP BY tool_name
|
||||
ORDER BY count DESC
|
||||
LIMIT 15
|
||||
|
||||
Reference in New Issue
Block a user