|
sql
lib/quiz/stats.rb:120
|
62%
|
lib/quiz/stats.rb:120
- Average Self
-
76ms
- Average calls
- 1x
- Total Self
- 76ms
- Total Children
- 0ms
- Total runtime
- 76ms
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
-
7ms
- Average calls
- 1x
- Total Self
- 7ms
- Total Children
- 109ms
- Total runtime
- 116ms
Quiz::AnswersController#create
|
|
sql
lib/quiz/stats.rb:21
|
4%
|
lib/quiz/stats.rb:21
- Average Self
-
4.4ms
- Average calls
- 1x
- Total Self
- 4.4ms
- Total Children
- 0ms
- Total runtime
- 4.4ms
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
-
4ms
- Average calls
- 1x
- Total Self
- 4ms
- Total Children
- 0ms
- Total runtime
- 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")
|
|
sql
app/controllers/quiz/answers_controller.rb:53
|
3%
|
app/controllers/quiz/answers_controller.rb:53
- Average Self
-
0.73ms
- Average calls
- 5x
- Total Self
- 3.6ms
- Total Children
- 0.46ms
- Total runtime
- 4.1ms
BEGIN
SELECT "quiz_questions".* FROM "quiz_questions" WHERE "quiz_questions"."id" = ? LIMIT ?
ROLLBACK
|
|
sql
lib/quiz/selection.rb:67
|
3%
|
lib/quiz/selection.rb:67
- Average Self
-
1.8ms
- Average calls
- 2x
- Total Self
- 3.6ms
- Total Children
- 0ms
- Total runtime
- 3.6ms
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 ?
|
|
view
app/views/quiz/answers/_stats.html.erb
|
2%
|
app/views/quiz/answers/_stats.html.erb
- Average Self
-
2.7ms
- Average calls
- 1x
- Total Self
- 2.7ms
- Total Children
- 95ms
- Total runtime
- 98ms
|
|
queue
queue
|
2%
|
queue
- Average Self
-
2ms
- Average calls
- 1x
- Total Self
- 2ms
- Total Children
- 0ms
- Total runtime
- 2ms
|
|
sql
app/controllers/concerns/guest_user.rb:27
|
1%
|
app/controllers/concerns/guest_user.rb:27
- Average Self
-
1.8ms
- Average calls
- 1x
- Total Self
- 1.8ms
- Total Children
- 0ms
- Total runtime
- 1.8ms
SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT ?
|
|
view
app/views/quiz/answers/create.turbo_stream.erb
|
<1%
|
app/views/quiz/answers/create.turbo_stream.erb
- Average Self
-
0.98ms
- Average calls
- 1x
- Total Self
- 0.98ms
- Total Children
- 98ms
- Total runtime
- 99ms
|
|
gc
ruby/gc.c
|
<1%
|
ruby/gc.c
- Average Self
-
2.6ms
- Average calls
- 0.33x
- Total Self
- 0.87ms
- Total Children
- 0ms
- Total runtime
- 0.87ms
GC.start
|
|
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.73ms
- Average calls
- 1x
- Total Self
- 0.73ms
- Total Children
- 116ms
- Total runtime
- 117ms
Warden::Manager
|
|
sql
app/controllers/quiz/answers_controller.rb:54
|
<1%
|
app/controllers/quiz/answers_controller.rb:54
- Average Self
-
0.66ms
- Average calls
- 0.99x
- Total Self
- 0.66ms
- Total Children
- 0ms
- Total runtime
- 0.66ms
SELECT COUNT(*) FROM "quiz_answers" WHERE "quiz_answers"."user_id" = ?
|
|
sql
app/controllers/quiz/answers_controller.rb:84
|
<1%
|
app/controllers/quiz/answers_controller.rb:84
- Average Self
-
0.48ms
- Average calls
- 1x
- Total Self
- 0.48ms
- Total Children
- 0ms
- Total runtime
- 0.48ms
SELECT "quiz_propositions".* FROM "quiz_propositions" WHERE "quiz_propositions"."question_id" = ?
|
|
view
app/views/quiz/answers/_answer.html.erb
|
<1%
|
app/views/quiz/answers/_answer.html.erb
- Average Self
-
0.26ms
- Average calls
- 1x
- Total Self
- 0.26ms
- Total Children
- 0ms
- Total runtime
- 0.26ms
|
|
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.25ms
- Average calls
- 1x
- Total Self
- 0.25ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rails::Rack::Logger
|
|
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.21ms
- Average calls
- 1x
- Total Self
- 0.21ms
- Total Children
- 117ms
- Total runtime
- 118ms
ActionDispatch::Session::CookieStore
|
|
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
-
0.15ms
- Average calls
- 1x
- Total Self
- 0.15ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::Executor
|
|
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.14ms
- Average calls
- 1x
- Total Self
- 0.14ms
- Total Children
- 118ms
- Total runtime
- 119ms
Rack::MethodOverride
|
|
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
-
0.12ms
- Average calls
- 1x
- Total Self
- 0.12ms
- Total Children
- 117ms
- Total runtime
- 117ms
Rack::ETag
|
|
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
-
0.11ms
- Average calls
- 1x
- Total Self
- 0.11ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rails::Engine#call
|
|
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.11ms
- Average calls
- 1x
- Total Self
- 0.11ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::Cookies
|
|
rack
ActionDispatch::Flash
|
<1%
|
ActionDispatch::Flash
- Average Self
-
0.09ms
- Average calls
- 1x
- Total Self
- 0.09ms
- Total Children
- 117ms
- Total runtime
- 117ms
|
|
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.08ms
- Average calls
- 1x
- Total Self
- 0.08ms
- Total Children
- 117ms
- Total runtime
- 117ms
Rack::TempfileReaper
|
|
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.06ms
- Average calls
- 1x
- Total Self
- 0.06ms
- Total Children
- 117ms
- Total runtime
- 117ms
Rack::Head
|
|
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
-
0.06ms
- Average calls
- 1x
- Total Self
- 0.06ms
- Total Children
- 117ms
- Total runtime
- 117ms
Rack::ConditionalGet
|
|
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
-
0.06ms
- Average calls
- 1x
- Total Self
- 0.06ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::Callbacks
|
|
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.06ms
- Average calls
- 1x
- Total Self
- 0.06ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::RequestId
|
|
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
-
0.05ms
- Average calls
- 1x
- Total Self
- 0.05ms
- Total Children
- 117ms
- Total runtime
- 117ms
ActionDispatch::ContentSecurityPolicy::Middleware
|
|
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
-
0.05ms
- Average calls
- 1x
- Total Self
- 0.05ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::RemoteIp
|
|
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
-
0.05ms
- Average calls
- 1x
- Total Self
- 0.05ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::ShowExceptions
|
|
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.05ms
- Average calls
- 1x
- Total Self
- 0.05ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rack::Sendfile
|
|
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
-
0.05ms
- Average calls
- 1x
- Total Self
- 0.05ms
- Total Children
- 118ms
- Total runtime
- 118ms
Rails::Rack::SilenceRequest
|
|
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
-
0.04ms
- Average calls
- 1x
- Total Self
- 0.04ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rack::Runtime
|
|
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.04ms
- Average calls
- 1x
- Total Self
- 0.04ms
- Total Children
- 119ms
- Total runtime
- 119ms
Rack::Rewrite
|
|
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
-
0.04ms
- Average calls
- 1x
- Total Self
- 0.04ms
- Total Children
- 118ms
- Total runtime
- 118ms
ActionDispatch::DebugExceptions
|
|
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
-
0.04ms
- Average calls
- 1x
- Total Self
- 0.04ms
- Total Children
- 119ms
- Total runtime
- 119ms
ActionDispatch::Static
|
|
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
-
0.03ms
- Average calls
- 1x
- Total Self
- 0.03ms
- Total Children
- 118ms
- Total runtime
- 118ms
RequestStore::Middleware
|
|
sql
app/controllers/quiz/answers_controller.rb:56
|
<1%
|
app/controllers/quiz/answers_controller.rb:56
- Average Self
-
0ms
- Average calls
- 0.01x
- Total Self
- 0ms
- Total Children
- 0ms
- Total runtime
- 0ms
SELECT COUNT(*) FROM "quiz_answers" WHERE "quiz_answers"."user_id" = ?
|