Request Details

Route
/api_complex GET
Timestamp
Sep 12, 2026 8:50 AM
Duration
128.0 ms
Status
204
Response Size
36 KB
Error
No

Performance Breakdown

Database
11.9% (9 queries)
View Rendering
5.7%
Application Logic
82.5%
Other Operations
0.0%
Total Operations
23
Slowest Operation
128.0 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 349.2ms 698.5ms 1047.7ms 1397.0ms

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
home#api_complex 128 ms 100.0%
SELECT COUNT(*) FROM comments WHERE post_id = ? 10 ms 7.8%
home#api_complex 128 ms 100.0%
SELECT name FROM users 2 ms 1.6%
home#api_complex 128 ms 100.0%
home/index 10 ms 7.8%
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... 28 ms 21.9%
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... 26 ms 20.3%
SELECT name FROM users 13 ms 10.2%
home#api_complex 128 ms 100.0%
home#api_complex 128 ms 100.0%
posts/show 28 ms 21.9%
home#api_complex 128 ms 100.0%
SELECT name FROM users 30 ms 23.4%
home#api_complex 128 ms 100.0%
home/index 22 ms 17.2%
SELECT COUNT(*) FROM comments WHERE post_id = ? 29 ms 22.7%
home#api_complex 128 ms 100.0%
home#api_complex 128 ms 100.0%
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... 5 ms 3.9%
home/index 6 ms 4.7%
SELECT users.*, COUNT(DISTINCT posts.id) as post_count, COUNT(DISTINCT comments.id) as comment_count, SUM(posts.view_count) as total_views, AVG(posts.view_count) as avg_views, MIN(posts.created_at) as first_post, MAX(posts.created_at) as latest_post FR... 23 ms 18.0%
layouts/application 13 ms 10.2%