Request Details

Route
/users/:id PUT
Timestamp
Sep 22, 2026 11:16 PM
Duration
41.85 ms
Status
204
Response Size
4.1 KB
Error
No

Performance Breakdown

Database
29.8% (3 queries)
View Rendering
18.2%
Application Logic
52.0%
Other Operations
0.0%
Total Operations
8
Slowest Operation
41.85 ms

Request Trace

How to read this

Each row is a layer of your stack. Many short Database bars means N+1 queries — fix with includes(). A wide Action bar with little Database time means slow Ruby code. A wide View bar usually means a partial rendered in a loop.

Action
View
Database
Other
Action
View
Database
0.0ms 60.4ms 120.8ms 181.2ms 241.6ms

Operations

How to use this

Sort by Impact to find your biggest wins. Click any row for details and optimisation suggestions. The same SQL appearing multiple times is an N+1 — fix with includes(). A single operation above 50% impact is your highest priority.

Operation Duration Impact Timeline Actions
SELECT DISTINCT users.*, posts.*, comments.* FROM users, posts, comments WHERE users.id = posts.user_id AND posts.id = comments.post_id AND users.created_at > ? AND posts.created_at > ? AND comments.created_at > ? 34 ms 81.2%
home/index 15 ms 35.8%
users/index 29 ms 69.3%
users#update 42 ms 100.0%
users#update 42 ms 100.0%
users#update 42 ms 100.0%
SELECT users.* FROM users LEFT JOIN posts ON users.id = posts.user_id LEFT JOIN comments ON posts.id = comments.post_id WHERE users.active = ? AND posts.published = ? AND comments.approved = ? OR users.created_at > ? AND posts.created_at > ? AND commen... 34 ms 81.2%
SELECT * FROM (SELECT users.id, users.name, users.email, COUNT(posts.id) as post_count FROM users LEFT JOIN posts ON users.id = posts.user_id WHERE users.active = ? GROUP BY users.id) as user_posts JOIN (SELECT user_id, COUNT(*) as comment_count FROM c... 4 ms 9.6%