rails_mini_profiler 0.6.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +47 -35
- data/app/adapters/rails_mini_profiler/database_adapter.rb +16 -0
- data/app/controllers/rails_mini_profiler/application_controller.rb +9 -15
- data/app/controllers/rails_mini_profiler/profiled_requests_controller.rb +31 -4
- data/app/helpers/rails_mini_profiler/profiled_requests_helper.rb +10 -0
- data/app/javascript/js/clipboard_controller.js +9 -2
- data/app/javascript/js/filter_controller.js +4 -0
- data/app/javascript/stylesheets/components/buttons.scss +59 -0
- data/app/javascript/stylesheets/components/{profiled_request_table/profiled_request_table.scss → dropdown.scss} +0 -76
- data/app/javascript/stylesheets/components/input.scss +10 -0
- data/app/javascript/stylesheets/{navbar.scss → components/navbar.scss} +0 -0
- data/app/javascript/stylesheets/components/page_header.scss +7 -0
- data/app/javascript/stylesheets/components/{profiled_request_table/placeholder.scss → placeholder.scss} +4 -1
- data/app/javascript/stylesheets/components/profiled_request_table.scss +55 -0
- data/app/javascript/stylesheets/components/trace.scss +93 -0
- data/app/javascript/stylesheets/profiled_requests.scss +3 -67
- data/app/javascript/stylesheets/rails-mini-profiler.scss +16 -30
- data/app/javascript/stylesheets/traces.scss +44 -76
- data/app/models/rails_mini_profiler/flamegraph.rb +1 -1
- data/app/models/rails_mini_profiler/profiled_request.rb +1 -1
- data/app/models/rails_mini_profiler/trace.rb +4 -19
- data/app/presenters/rails_mini_profiler/controller_trace_presenter.rb +10 -2
- data/app/presenters/rails_mini_profiler/instantiation_trace_presenter.rb +15 -3
- data/app/presenters/rails_mini_profiler/profiled_request_presenter.rb +2 -2
- data/app/presenters/rails_mini_profiler/render_partial_trace_presenter.rb +6 -2
- data/app/presenters/rails_mini_profiler/render_template_trace_presenter.rb +6 -2
- data/app/presenters/rails_mini_profiler/sequel_trace_presenter.rb +16 -4
- data/app/presenters/rails_mini_profiler/trace_presenter.rb +10 -8
- data/app/search/rails_mini_profiler/profiled_request_search.rb +0 -1
- data/app/search/rails_mini_profiler/trace_search.rb +27 -0
- data/app/views/rails_mini_profiler/profiled_requests/shared/header/_header.erb +1 -2
- data/app/views/rails_mini_profiler/profiled_requests/shared/table/_table_head.erb +7 -7
- data/app/views/rails_mini_profiler/profiled_requests/{shared → show}/_trace.html.erb +24 -22
- data/app/views/rails_mini_profiler/profiled_requests/show/_trace_list.erb +12 -0
- data/app/views/rails_mini_profiler/profiled_requests/show/_trace_list_header.erb +87 -0
- data/app/views/rails_mini_profiler/profiled_requests/show/_trace_list_placeholder.erb +12 -0
- data/app/views/rails_mini_profiler/profiled_requests/show.html.erb +4 -17
- data/db/migrate/20210621185018_create_rmp.rb +3 -3
- data/lib/generators/rails_mini_profiler/templates/rails_mini_profiler.rb.erb +1 -0
- data/lib/rails_mini_profiler/badge.rb +20 -11
- data/lib/rails_mini_profiler/configuration/user_interface.rb +26 -0
- data/lib/rails_mini_profiler/configuration.rb +4 -0
- data/lib/rails_mini_profiler/flamegraph_guard.rb +10 -6
- data/lib/rails_mini_profiler/middleware.rb +12 -10
- data/lib/rails_mini_profiler/request_context.rb +22 -18
- data/lib/rails_mini_profiler/request_wrapper.rb +12 -55
- data/lib/rails_mini_profiler/response_wrapper.rb +21 -17
- data/lib/rails_mini_profiler/{tracing → tracers}/controller_tracer.rb +15 -1
- data/lib/rails_mini_profiler/tracers/instantiation_tracer.rb +17 -0
- data/lib/rails_mini_profiler/{tracing → tracers}/null_trace.rb +1 -1
- data/lib/rails_mini_profiler/tracers/registry.rb +76 -0
- data/lib/rails_mini_profiler/tracers/rmp_tracer.rb +17 -0
- data/lib/rails_mini_profiler/{tracing → tracers}/sequel_tracer.rb +15 -1
- data/lib/rails_mini_profiler/{tracing → tracers}/sequel_tracker.rb +4 -1
- data/lib/rails_mini_profiler/{tracing → tracers}/subscriptions.rb +6 -12
- data/lib/rails_mini_profiler/{tracing → tracers}/trace.rb +2 -2
- data/lib/rails_mini_profiler/tracers/trace_factory.rb +27 -0
- data/lib/rails_mini_profiler/tracers/tracer.rb +52 -0
- data/lib/rails_mini_profiler/tracers/view_tracer.rb +29 -0
- data/lib/rails_mini_profiler/tracers.rb +14 -0
- data/lib/rails_mini_profiler/user.rb +1 -1
- data/lib/rails_mini_profiler/version.rb +1 -1
- data/lib/rails_mini_profiler.rb +1 -1
- data/vendor/assets/javascripts/rails-mini-profiler.css +1 -1
- data/vendor/assets/javascripts/rails-mini-profiler.js +1 -1
- metadata +39 -26
- data/app/javascript/stylesheets/components/page_header/page_header.scss +0 -3
- data/app/models/rails_mini_profiler/controller_trace.rb +0 -37
- data/app/models/rails_mini_profiler/instantiation_trace.rb +0 -37
- data/app/models/rails_mini_profiler/render_partial_trace.rb +0 -37
- data/app/models/rails_mini_profiler/render_template_trace.rb +0 -37
- data/app/models/rails_mini_profiler/rmp_trace.rb +0 -35
- data/app/models/rails_mini_profiler/sequel_trace.rb +0 -37
- data/lib/rails_mini_profiler/tracing/trace_factory.rb +0 -37
- data/lib/rails_mini_profiler/tracing/tracer.rb +0 -31
- data/lib/rails_mini_profiler/tracing/view_tracer.rb +0 -12
- data/lib/rails_mini_profiler/tracing.rb +0 -11
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class ControllerTrace < Trace
|
25
|
-
store :payload, accessors: %i[view_runtime db_runtime]
|
26
|
-
|
27
|
-
class << self
|
28
|
-
def find_sti_class(_)
|
29
|
-
super(name)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sti_name
|
33
|
-
'process_action.action_controller'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class InstantiationTrace < Trace
|
25
|
-
store :payload, accessors: %i[record_count class_name]
|
26
|
-
|
27
|
-
class << self
|
28
|
-
def find_sti_class(_)
|
29
|
-
super(name)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sti_name
|
33
|
-
'instantiation.active_record'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class RenderPartialTrace < Trace
|
25
|
-
store :payload, accessors: %i[identifier]
|
26
|
-
|
27
|
-
class << self
|
28
|
-
def find_sti_class(_)
|
29
|
-
super(name)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sti_name
|
33
|
-
'render_partial.action_view'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class RenderTemplateTrace < Trace
|
25
|
-
store :payload, accessors: %i[identifier]
|
26
|
-
|
27
|
-
class << self
|
28
|
-
def find_sti_class(_)
|
29
|
-
super(name)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sti_name
|
33
|
-
'render_template.action_view'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class RmpTrace < Trace
|
25
|
-
class << self
|
26
|
-
def find_sti_class(_)
|
27
|
-
super(name)
|
28
|
-
end
|
29
|
-
|
30
|
-
def sti_name
|
31
|
-
'rails_mini_profiler.total_time'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# == Schema Information
|
4
|
-
#
|
5
|
-
# Table name: rmp_traces
|
6
|
-
#
|
7
|
-
# id :integer not null, primary key
|
8
|
-
# rmp_profiled_request_id :bigint not null
|
9
|
-
# name :string
|
10
|
-
# start :bigint
|
11
|
-
# finish :bigint
|
12
|
-
# duration :integer
|
13
|
-
# allocations :bigint
|
14
|
-
# payload :json
|
15
|
-
# backtrace :json
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
19
|
-
# Indexes
|
20
|
-
#
|
21
|
-
# index_rmp_traces_on_rmp_profiled_request_id (rmp_profiled_request_id)
|
22
|
-
#
|
23
|
-
module RailsMiniProfiler
|
24
|
-
class SequelTrace < Trace
|
25
|
-
store :payload, accessors: %i[name sql binds]
|
26
|
-
|
27
|
-
class << self
|
28
|
-
def find_sti_class(_)
|
29
|
-
super(name)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sti_name
|
33
|
-
'sql.active_record'
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RailsMiniProfiler
|
4
|
-
module Tracing
|
5
|
-
class TraceFactory
|
6
|
-
class << self
|
7
|
-
def create(event)
|
8
|
-
factory = new(event)
|
9
|
-
factory.create
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def initialize(event)
|
14
|
-
@event = event
|
15
|
-
end
|
16
|
-
|
17
|
-
def create
|
18
|
-
trace_class.new(@event).trace
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def trace_class
|
24
|
-
case @event.name
|
25
|
-
when 'sql.active_record'
|
26
|
-
SequelTracer
|
27
|
-
when 'render_template.action_view', 'render_partial.action_view'
|
28
|
-
ViewTracer
|
29
|
-
when 'process_action.action_controller'
|
30
|
-
ControllerTracer
|
31
|
-
else
|
32
|
-
Tracer
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RailsMiniProfiler
|
4
|
-
module Tracing
|
5
|
-
class Tracer
|
6
|
-
def initialize(event)
|
7
|
-
@event = event_data(event)
|
8
|
-
end
|
9
|
-
|
10
|
-
def trace
|
11
|
-
Trace.new(**@event)
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def event_data(event)
|
17
|
-
start = (event.time.to_f * 100_000).to_i
|
18
|
-
finish = (event.end.to_f * 100_000).to_i
|
19
|
-
{
|
20
|
-
name: event.name,
|
21
|
-
start: start,
|
22
|
-
finish: finish,
|
23
|
-
duration: finish - start,
|
24
|
-
allocations: event.allocations,
|
25
|
-
backtrace: Rails.backtrace_cleaner.clean(caller),
|
26
|
-
payload: event.payload
|
27
|
-
}
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'rails_mini_profiler/tracing/subscriptions'
|
4
|
-
require 'rails_mini_profiler/tracing/trace'
|
5
|
-
require 'rails_mini_profiler/tracing/tracer'
|
6
|
-
require 'rails_mini_profiler/tracing/controller_tracer'
|
7
|
-
require 'rails_mini_profiler/tracing/sequel_tracker'
|
8
|
-
require 'rails_mini_profiler/tracing/sequel_tracer'
|
9
|
-
require 'rails_mini_profiler/tracing/view_tracer'
|
10
|
-
require 'rails_mini_profiler/tracing/null_trace'
|
11
|
-
require 'rails_mini_profiler/tracing/trace_factory'
|