|
sql
lib/quiz/stats.rb:120
|
61%
|
lib/quiz/stats.rb:120
- Average Self
-
75ms
- Average calls
- 1x
- Total Self
- 75ms
- Total Children
- 0ms
- Total runtime
- 75ms
WITH first_answers AS (
SELECT
qa.user_id,
qa.question_id,
qa.proposition_id,
ROW_NUMBER() OVER (
PARTITION BY qa.user_id, qa.question_id
ORDER BY qa.id ASC
) AS row_number
FROM quiz_answers qa
WHERE qa.question_id IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?))))
),
points_counts AS (
SELECT
fa.user_id,
COUNT(CASE WHEN qp.correct = true THEN ? ELSE NULL END) AS points_count
FROM first_answers fa
INNER JOIN quiz_propositions qp ON qp.id = fa.proposition_id
WHERE fa.row_number = ?
GROUP BY fa.user_id
)
SELECT
user_id,
points_count,
DENSE_RANK() OVER (ORDER BY points_count DESC) AS rank
FROM points_counts;
|
|
sql
lib/quiz/stats.rb:26
|
9%
|
lib/quiz/stats.rb:26
- Average Self
-
10ms
- Average calls
- 1x
- Total Self
- 10ms
- Total Children
- 0ms
- Total runtime
- 10ms
SELECT COUNT(*) FROM "quiz_questions" WHERE ("quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)))
|
|
code
app/controllers/quiz/answers_controller.rb:50
|
6%
|
app/controllers/quiz/answers_controller.rb:50
- Average Self
-
8ms
- Average calls
- 1x
- Total Self
- 8ms
- Total Children
- 109ms
- Total runtime
- 117ms
Quiz::AnswersController#create
|
|
sql
app/controllers/quiz/answers_controller.rb:53
|
3%
|
app/controllers/quiz/answers_controller.rb:53
- Average Self
-
0.8ms
- Average calls
- 5x
- Total Self
- 4ms
- Total Children
- 0.4ms
- Total runtime
- 4.4ms
BEGIN
SELECT "quiz_questions".* FROM "quiz_questions" WHERE "quiz_questions"."id" = ? LIMIT ?
SELECT "quiz_propositions".* FROM "quiz_propositions" WHERE "quiz_propositions"."id" = ? LIMIT ?
INSERT INTO "quiz_answers" ("user_id", "question_id", "proposition_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) RETURNING "id"
COMMIT
|
|
sql
lib/quiz/stats.rb:21
|
3%
|
lib/quiz/stats.rb:21
- Average Self
-
3.8ms
- Average calls
- 1x
- Total Self
- 3.8ms
- Total Children
- 0ms
- Total runtime
- 3.8ms
SELECT COUNT(*) FROM "quiz_answers" INNER JOIN "quiz_propositions" ON "quiz_propositions"."id" = "quiz_answers"."proposition_id" WHERE "quiz_answers"."question_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)))) AND "quiz_answers"."id" IN (?) FROM "quiz_answers" WHERE "quiz_answers"."question_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)))) AND "quiz_answers"."user_id" = ? GROUP BY "quiz_answers"."question_id") AND "quiz_propositions"."correct" = ?
|
|
sql
lib/quiz/stats.rb:16
|
3%
|
lib/quiz/stats.rb:16
- Average Self
-
3.4ms
- Average calls
- 1x
- Total Self
- 3.4ms
- Total Children
- 0ms
- Total runtime
- 3.4ms
SELECT COUNT(*) FROM "quiz_answers" WHERE "quiz_answers"."question_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)))) AND "quiz_answers"."id" IN (?) FROM "quiz_answers" WHERE "quiz_answers"."question_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)))) AND "quiz_answers"."user_id" = ? GROUP BY "quiz_answers"."question_id")
|
|
view
app/views/quiz/answers/_stats.html.erb
|
3%
|
app/views/quiz/answers/_stats.html.erb
- Average Self
-
3.2ms
- Average calls
- 1x
- Total Self
- 3.2ms
- Total Children
- 94ms
- Total runtime
- 97ms
|
|
sql
lib/quiz/selection.rb:67
|
3%
|
lib/quiz/selection.rb:67
- Average Self
-
1.6ms
- Average calls
- 2x
- Total Self
- 3.2ms
- Total Children
- 0ms
- Total runtime
- 3.2ms
SELECT ? AS one FROM "quiz_questions" WHERE ("quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?)) OR "quiz_questions"."categorisable_type" = ? AND "quiz_questions"."categorisable_id" IN (?))) LIMIT ?
|
|
gc
ruby/gc.c
|
2%
|
ruby/gc.c
- Average Self
-
2.5ms
- Average calls
- 0.8x
- Total Self
- 2ms
- Total Children
- 0ms
- Total runtime
- 2ms
GC.start
|
|
queue
queue
|
1%
|
queue
- Average Self
-
1.6ms
- Average calls
- 1x
- Total Self
- 1.6ms
- Total Children
- 0ms
- Total runtime
- 1.6ms
|
|
sql
app/controllers/quiz/answers_controller.rb:84
|
<1%
|
app/controllers/quiz/answers_controller.rb:84
- Average Self
-
1.2ms
- Average calls
- 1x
- Total Self
- 1.2ms
- Total Children
- 0ms
- Total runtime
- 1.2ms
SELECT "quiz_propositions".* FROM "quiz_propositions" WHERE "quiz_propositions"."question_id" = ?
|
|
view
app/views/quiz/answers/create.turbo_stream.erb
|
<1%
|
app/views/quiz/answers/create.turbo_stream.erb
- Average Self
-
1ms
- Average calls
- 1x
- Total Self
- 1ms
- Total Children
- 97ms
- Total runtime
- 98ms
|
|
sql
app/controllers/concerns/guest_user.rb:27
|
<1%
|
app/controllers/concerns/guest_user.rb:27
- Average Self
-
1ms
- Average calls
- 1x
- Total Self
- 1ms
- Total Children
- 0ms
- Total runtime
- 1ms
SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT ?
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/warden-1.2.9/lib/warden/manager.rb:30
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/warden-1.2.9/lib/warden/manager.rb:30
- Average Self
-
0.6ms
- Average calls
- 1x
- Total Self
- 0.6ms
- Total Children
- 117ms
- Total runtime
- 118ms
Warden::Manager
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/head.rb:14
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/head.rb:14
- Average Self
-
0.4ms
- Average calls
- 1x
- Total Self
- 0.4ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rack::Head
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/rack/logger.rb:20
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/rack/logger.rb:20
- Average Self
-
0.4ms
- Average calls
- 1x
- Total Self
- 0.4ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rails::Rack::Logger
|
|
sql
app/controllers/quiz/answers_controller.rb:54
|
<1%
|
app/controllers/quiz/answers_controller.rb:54
- Average Self
-
0.4ms
- Average calls
- 1x
- Total Self
- 0.4ms
- Total Children
- 0ms
- Total runtime
- 0.4ms
SELECT COUNT(*) FROM "quiz_answers" WHERE "quiz_answers"."user_id" = ?
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/cookies.rb:706
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/cookies.rb:706
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::Cookies
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/request_id.rb:31
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/request_id.rb:31
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::RequestId
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-rewrite-1.5.1/lib/rack/rewrite.rb:18
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-rewrite-1.5.1/lib/rack/rewrite.rb:18
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 120ms
- Total runtime
- 120ms
Rack::Rewrite
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/tempfile_reaper.rb:16
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/tempfile_reaper.rb:16
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rack::TempfileReaper
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/method_override.rb:19
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/method_override.rb:19
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 119ms
- Total runtime
- 120ms
Rack::MethodOverride
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/sendfile.rb:130
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/sendfile.rb:130
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 120ms
- Total runtime
- 120ms
Rack::Sendfile
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-session-2.1.1/lib/rack/session/abstract/id.rb:267
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-session-2.1.1/lib/rack/session/abstract/id.rb:267
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 118ms
- Total runtime
- 119ms
ActionDispatch::Session::CookieStore
|
|
view
app/views/quiz/answers/_answer.html.erb
|
<1%
|
app/views/quiz/answers/_answer.html.erb
- Average Self
-
0.2ms
- Average calls
- 1x
- Total Self
- 0.2ms
- Total Children
- 0ms
- Total runtime
- 0.2ms
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/debug_exceptions.rb:30
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/debug_exceptions.rb:30
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::DebugExceptions
|
|
rack
ActionDispatch::Flash
|
<1%
|
ActionDispatch::Flash
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 118ms
- Total runtime
- 118ms
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/rack/silence_request.rb:27
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/rack/silence_request.rb:27
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rails::Rack::SilenceRequest
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/show_exceptions.rb:31
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/show_exceptions.rb:31
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::ShowExceptions
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/executor.rb:13
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/executor.rb:13
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 120ms
- Total runtime
- 120ms
ActionDispatch::Executor
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/remote_ip.rb:95
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/remote_ip.rb:95
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::RemoteIp
|
|
code
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/engine.rb:532
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/railties-8.1.2/lib/rails/engine.rb:532
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 120ms
- Total runtime
- 120ms
Rails::Engine#call
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/callbacks.rb:28
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/callbacks.rb:28
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::Callbacks
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/etag.rb:28
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/etag.rb:28
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rack::ETag
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/conditional_get.rb:28
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/conditional_get.rb:28
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rack::ConditionalGet
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/http/content_security_policy.rb:37
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/http/content_security_policy.rb:37
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::ContentSecurityPolicy::Middleware
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/request_store-1.7.0/lib/request_store/middleware.rb:16
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/request_store-1.7.0/lib/request_store/middleware.rb:16
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 119ms
- Total runtime
- 119ms
RequestStore::Middleware
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/static.rb:26
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.2/lib/action_dispatch/middleware/static.rb:26
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 120ms
- Total runtime
- 120ms
ActionDispatch::Static
|
|
rack
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/runtime.rb:22
|
<1%
|
/app/vendor/bundle/ruby/4.0.0/gems/rack-3.2.4/lib/rack/runtime.rb:22
- Average Self
-
0ms
- Average calls
- 1x
- Total Self
- 0ms
- Total Children
- 120ms
- Total runtime
- 120ms
Rack::Runtime
|