rails-profiler 0.9.0 → 0.9.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1530091bc78596f3f4b410c27e7ab7d8ff332c644ea345b6f7e6819a9e87fc62
4
- data.tar.gz: a733275e9bf99ed4300d85b7fa4a4f88f0249705f3183ead0956bb75a51b6562
3
+ metadata.gz: 3979c04655c3ab2204af54f67c500176ad26fd5224656fe82cf815f13190bca8
4
+ data.tar.gz: e6de19b5d127577c9921559b682d1f5f49daeb7c2fb0dcbfe2a6877aad579dfb
5
5
  SHA512:
6
- metadata.gz: 492ed61fe90adb99887d0c981010af043f10a645202944f0a0250776c27d5e22c83f0547eaf74cd0829aac02329237701bfd3da365f56b61dfe0cba62e0181c8
7
- data.tar.gz: 7da1fce0f77cd22f69a42e1cb837dcef63b3a20d26e4c42c95cd193eb3bf0d6b31cb84095d4f64c77fbf4404320485289aa0225a1c3fff9e2debc42f1d49a495
6
+ metadata.gz: 913739ef55cf291e47ea2dd1bd7fe764518d19a297c070e545dd212b647a9a90145427e1e215b6cea44688cb42f94307aedd74be47af434702c18a09dbd3ce82
7
+ data.tar.gz: 57b500b690441ce98c5b29f064c57882eeab685a79c1278857b4899c4fd498a03fde64a63bb421d3361ce8dc3bd3d6acd0aa0b6fa132225e9e77167c60d5e44b
@@ -39,7 +39,6 @@ module Profiler
39
39
  Profiler::Collectors::RequestCollector,
40
40
  Profiler::Collectors::DumpCollector,
41
41
  Profiler::Collectors::DatabaseCollector,
42
- Profiler::Collectors::PerformanceCollector,
43
42
  Profiler::Collectors::ViewCollector,
44
43
  Profiler::Collectors::CacheCollector,
45
44
  Profiler::Collectors::HttpCollector,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Profiler
4
- VERSION = "0.9.0"
4
+ VERSION = "0.9.1"
5
5
  end
data/lib/profiler.rb CHANGED
@@ -79,7 +79,6 @@ require_relative "profiler/collectors/base_collector"
79
79
  require_relative "profiler/collectors/request_collector"
80
80
  require_relative "profiler/collectors/database_collector"
81
81
  require_relative "profiler/collectors/ajax_collector"
82
- require_relative "profiler/collectors/performance_collector"
83
82
  require_relative "profiler/collectors/view_collector"
84
83
  require_relative "profiler/collectors/cache_collector"
85
84
  require_relative "profiler/collectors/dump_collector"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sébastien Duplessy
@@ -133,7 +133,6 @@ files:
133
133
  - lib/profiler/collectors/i18n_collector.rb
134
134
  - lib/profiler/collectors/job_collector.rb
135
135
  - lib/profiler/collectors/log_collector.rb
136
- - lib/profiler/collectors/performance_collector.rb
137
136
  - lib/profiler/collectors/request_collector.rb
138
137
  - lib/profiler/collectors/routes_collector.rb
139
138
  - lib/profiler/collectors/view_collector.rb
@@ -1,103 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "base_collector"
4
- require_relative "../models/timeline_event"
5
-
6
- module Profiler
7
- module Collectors
8
- class PerformanceCollector < BaseCollector
9
- def initialize(profile)
10
- super
11
- @events = []
12
- @subscriptions = []
13
- end
14
-
15
- def icon
16
- "⚡"
17
- end
18
-
19
- def priority
20
- 30
21
- end
22
-
23
- def tab_config
24
- {
25
- key: "performance",
26
- label: "Performance",
27
- icon: icon,
28
- priority: priority,
29
- enabled: true,
30
- default_active: false
31
- }
32
- end
33
-
34
- def subscribe
35
- return unless defined?(ActiveSupport::Notifications)
36
-
37
- # Subscribe to controller processing
38
- @subscriptions << ActiveSupport::Notifications.monotonic_subscribe("process_action.action_controller") do |name, started, finished, unique_id, payload|
39
- @events << Models::TimelineEvent.new(
40
- name: "Controller: #{payload[:controller]}##{payload[:action]}",
41
- started_at: started,
42
- finished_at: finished,
43
- payload: {
44
- controller: payload[:controller],
45
- action: payload[:action],
46
- format: payload[:format],
47
- method: payload[:method],
48
- path: payload[:path],
49
- status: payload[:status]
50
- }
51
- )
52
- end
53
-
54
- # Subscribe to view rendering
55
- @subscriptions << ActiveSupport::Notifications.monotonic_subscribe("render_template.action_view") do |name, started, finished, unique_id, payload|
56
- @events << Models::TimelineEvent.new(
57
- name: "Render: #{payload[:identifier]}",
58
- started_at: started,
59
- finished_at: finished,
60
- payload: {
61
- identifier: payload[:identifier],
62
- layout: payload[:layout]
63
- }
64
- )
65
- end
66
-
67
- # Subscribe to partial rendering
68
- @subscriptions << ActiveSupport::Notifications.monotonic_subscribe("render_partial.action_view") do |name, started, finished, unique_id, payload|
69
- @events << Models::TimelineEvent.new(
70
- name: "Partial: #{payload[:identifier]}",
71
- started_at: started,
72
- finished_at: finished,
73
- payload: {
74
- identifier: payload[:identifier]
75
- }
76
- )
77
- end
78
- end
79
-
80
- def collect
81
- # Unsubscribe from all notifications
82
- @subscriptions.each { |sub| ActiveSupport::Notifications.unsubscribe(sub) }
83
-
84
- data = {
85
- total_events: @events.size,
86
- total_duration: @events.sum(&:duration).round(2),
87
- events: @events.map(&:to_h)
88
- }
89
-
90
- store_data(data)
91
- end
92
-
93
- def toolbar_summary
94
- duration = @events.sum(&:duration).round(2)
95
-
96
- {
97
- text: "#{@events.size} events (#{duration}ms)",
98
- color: "blue"
99
- }
100
- end
101
- end
102
- end
103
- end