rack-mini-profiler 0.10.6 → 2.3.0

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.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +129 -16
  3. data/README.md +116 -63
  4. data/lib/enable_rails_patches.rb +5 -0
  5. data/lib/generators/rack_profiler/install_generator.rb +2 -0
  6. data/lib/generators/rack_profiler/templates/rack_profiler.rb +2 -0
  7. data/lib/html/dot.1.1.2.min.js +2 -0
  8. data/lib/html/includes.css +141 -40
  9. data/lib/html/includes.js +1398 -970
  10. data/lib/html/includes.scss +547 -442
  11. data/lib/html/includes.tmpl +227 -142
  12. data/lib/html/pretty-print.js +810 -0
  13. data/lib/html/profile_handler.js +1 -1
  14. data/lib/html/rack-mini-profiler.css +3 -0
  15. data/lib/html/rack-mini-profiler.js +2 -0
  16. data/lib/html/share.html +0 -1
  17. data/lib/html/speedscope/LICENSE +21 -0
  18. data/lib/html/speedscope/README.md +3 -0
  19. data/lib/html/speedscope/demangle-cpp.1768f4cc.js +4 -0
  20. data/lib/html/speedscope/favicon-16x16.f74b3187.png +0 -0
  21. data/lib/html/speedscope/favicon-32x32.bc503437.png +0 -0
  22. data/lib/html/speedscope/file-format-schema.json +324 -0
  23. data/lib/html/speedscope/import.cf0fa83f.js +115 -0
  24. data/lib/html/speedscope/index.html +2 -0
  25. data/lib/html/speedscope/release.txt +3 -0
  26. data/lib/html/speedscope/reset.8c46b7a1.css +2 -0
  27. data/lib/html/speedscope/source-map.438fa06b.js +24 -0
  28. data/lib/html/speedscope/speedscope.44364064.js +200 -0
  29. data/lib/html/vendor.js +848 -0
  30. data/lib/mini_profiler/asset_version.rb +3 -2
  31. data/lib/mini_profiler/client_settings.rb +27 -16
  32. data/lib/mini_profiler/config.rb +73 -46
  33. data/lib/mini_profiler/context.rb +5 -3
  34. data/lib/mini_profiler/gc_profiler.rb +17 -16
  35. data/lib/mini_profiler/profiler.rb +332 -94
  36. data/lib/mini_profiler/profiling_methods.rb +20 -15
  37. data/lib/mini_profiler/snapshots_transporter.rb +109 -0
  38. data/lib/mini_profiler/storage/abstract_store.rb +80 -0
  39. data/lib/mini_profiler/storage/file_store.rb +18 -13
  40. data/lib/mini_profiler/storage/memcache_store.rb +10 -7
  41. data/lib/mini_profiler/storage/memory_store.rb +63 -13
  42. data/lib/mini_profiler/storage/redis_store.rb +143 -7
  43. data/lib/mini_profiler/timer_struct/base.rb +4 -2
  44. data/lib/mini_profiler/timer_struct/client.rb +9 -8
  45. data/lib/mini_profiler/timer_struct/custom.rb +8 -5
  46. data/lib/mini_profiler/timer_struct/page.rb +79 -24
  47. data/lib/mini_profiler/timer_struct/request.rb +83 -38
  48. data/lib/mini_profiler/timer_struct/sql.rb +25 -22
  49. data/lib/mini_profiler/version.rb +3 -1
  50. data/lib/mini_profiler_rails/railtie.rb +91 -8
  51. data/lib/mini_profiler_rails/railtie_methods.rb +61 -0
  52. data/lib/patches/db/activerecord.rb +5 -14
  53. data/lib/patches/db/mongo.rb +3 -1
  54. data/lib/patches/db/moped.rb +5 -3
  55. data/lib/patches/db/mysql2.rb +8 -6
  56. data/lib/patches/db/neo4j.rb +3 -1
  57. data/lib/patches/db/nobrainer.rb +4 -2
  58. data/lib/patches/db/oracle_enhanced.rb +4 -2
  59. data/lib/patches/db/pg.rb +41 -21
  60. data/lib/patches/db/plucky.rb +7 -5
  61. data/lib/patches/db/riak.rb +15 -13
  62. data/lib/patches/db/rsolr.rb +6 -4
  63. data/lib/patches/db/sequel.rb +2 -0
  64. data/lib/patches/net_patches.rb +20 -8
  65. data/lib/patches/sql_patches.rb +17 -7
  66. data/lib/prepend_net_http_patch.rb +5 -0
  67. data/lib/rack-mini-profiler.rb +3 -3
  68. data/rack-mini-profiler.gemspec +23 -9
  69. metadata +146 -31
  70. data/lib/html/jquery.1.7.1.js +0 -4
  71. data/lib/html/jquery.tmpl.js +0 -486
  72. data/lib/html/list.css +0 -9
  73. data/lib/html/list.js +0 -38
  74. data/lib/html/list.tmpl +0 -34
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # riak-client 2.2.2 patches
2
4
  class Riak::Multiget
3
5
  class <<self
@@ -5,7 +7,7 @@ class Riak::Multiget
5
7
  def get_all(client, fetch_list)
6
8
  return get_all_without_profiling(client, fetch_list) unless SqlPatches.should_measure?
7
9
 
8
- start = Time.now
10
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
9
11
  result = get_all_without_profiling(client, fetch_list)
10
12
  elapsed_time = SqlPatches.elapsed_time(start)
11
13
  record = ::Rack::MiniProfiler.record_sql("get_all size=#{fetch_list.size}", elapsed_time)
@@ -18,7 +20,7 @@ end
18
20
  class Riak::Client
19
21
 
20
22
  alias_method :buckets_without_profiling, :buckets
21
- def buckets(options={}, &blk)
23
+ def buckets(options = {}, &blk)
22
24
  profile("buckets #{options}") { buckets_without_profiling(options, &blk) }
23
25
  end
24
26
 
@@ -28,32 +30,32 @@ class Riak::Client
28
30
  end
29
31
 
30
32
  alias_method :delete_object_without_profiling, :delete_object
31
- def delete_object(bucket, key, options={})
33
+ def delete_object(bucket, key, options = {})
32
34
  profile("delete_object bucket=#{bucket.name} key=#{key} options=#{options}") { delete_object_without_profiling(bucket, key, options) }
33
35
  end
34
36
 
35
37
  alias_method :get_bucket_props_without_profiling, :get_bucket_props
36
- def get_bucket_props(bucket, options={})
38
+ def get_bucket_props(bucket, options = {})
37
39
  profile("get_bucket_props bucket=#{bucket.name} options=#{options}") { get_bucket_props_without_profiling(bucket, options) }
38
40
  end
39
41
 
40
42
  alias_method :get_index_without_profiling, :get_index
41
- def get_index(bucket, index, query, options={})
43
+ def get_index(bucket, index, query, options = {})
42
44
  profile("get_index bucket=#{bucket.name} index=#{index} query=#{query} options=#{options}") { get_index_without_profiling(bucket, index, query, options) }
43
45
  end
44
46
 
45
47
  alias_method :get_preflist_without_profiling, :get_preflist
46
- def get_preflist(bucket, key, type=nil, options={})
48
+ def get_preflist(bucket, key, type = nil, options = {})
47
49
  profile("get_preflist bucket=#{bucket.name} key=#{key} type=#{type} options=#{options}") { get_preflist_without_profiling(bucket, key, type, options) }
48
50
  end
49
51
 
50
52
  alias_method :get_object_without_profiling, :get_object
51
- def get_object(bucket, key, options={})
53
+ def get_object(bucket, key, options = {})
52
54
  profile("get_object bucket=#{bucket.name} key=#{key} options=#{options}") { get_object_without_profiling(bucket, key, options) }
53
55
  end
54
56
 
55
57
  alias_method :list_keys_without_profiling, :list_keys
56
- def list_keys(bucket, options={}, &block)
58
+ def list_keys(bucket, options = {}, &block)
57
59
  profile("list_keys bucket=#{bucket.name} options=#{options}") { list_keys_without_profiling(bucket, options, &block) }
58
60
  end
59
61
 
@@ -68,22 +70,22 @@ class Riak::Client
68
70
  end
69
71
 
70
72
  alias_method :reload_object_without_profiling, :reload_object
71
- def reload_object(object, options={})
73
+ def reload_object(object, options = {})
72
74
  profile("reload_object bucket=#{object.bucket.name} key=#{object.key} vclock=#{object.vclock} options=#{options}") { reload_object_without_profiling(object, options) }
73
75
  end
74
76
 
75
77
  alias_method :set_bucket_props_without_profiling, :set_bucket_props
76
- def set_bucket_props(bucket, properties, type=nil)
78
+ def set_bucket_props(bucket, properties, type = nil)
77
79
  profile("set_bucket_props bucket=#{bucket.name} type=#{type}") { set_bucket_props_without_profiling(bucket, properties, type) }
78
80
  end
79
81
 
80
82
  alias_method :clear_bucket_props_without_profiling, :clear_bucket_props
81
- def clear_bucket_props(bucket, options={})
83
+ def clear_bucket_props(bucket, options = {})
82
84
  profile("clear_bucket_props bucket=#{bucket.name} options=#{options}") { clear_bucket_props_without_profiling(bucket, options) }
83
85
  end
84
86
 
85
87
  alias_method :store_object_without_profiling, :store_object
86
- def store_object(object, options={})
88
+ def store_object(object, options = {})
87
89
  profile("store_object bucket=#{object.bucket.name} key=#{object.key} vclock=#{object.vclock} options=#{options}") { store_object_without_profiling(object, options) }
88
90
  end
89
91
 
@@ -92,7 +94,7 @@ class Riak::Client
92
94
  def profile(request, &blk)
93
95
  return yield unless SqlPatches.should_measure?
94
96
 
95
- start = Time.now
97
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
96
98
  result = yield
97
99
  elapsed_time = SqlPatches.elapsed_time(start)
98
100
  record = ::Rack::MiniProfiler.record_sql(request, elapsed_time)
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class RSolr::Connection
2
4
  alias_method :execute_without_profiling, :execute
3
5
  def execute_with_profiling(client, request_context)
4
6
  return execute_without_profiling(client, request_context) unless SqlPatches.should_measure?
5
7
 
6
- start = Time.now
8
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
7
9
  result = execute_without_profiling(client, request_context)
8
10
  elapsed_time = SqlPatches.elapsed_time(start)
9
11
 
10
- data = "#{request_context[:method].upcase} #{request_context[:uri]}"
11
- if request_context[:method] == :post and request_context[:data]
12
- if request_context[:headers].include?("Content-Type") and request_context[:headers]["Content-Type"] == "text/xml"
12
+ data = "#{request_context[:method].upcase} #{request_context[:uri]}".dup
13
+ if (request_context[:method] == :post) && request_context[:data]
14
+ if request_context[:headers].include?("Content-Type") && (request_context[:headers]["Content-Type"] == "text/xml")
13
15
  # it's xml, unescaping isn't needed
14
16
  data << "\n#{request_context[:data]}"
15
17
  else
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sequel
2
4
  class Database
3
5
  alias_method :log_duration_original, :log_duration
@@ -1,14 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if (defined?(Net) && defined?(Net::HTTP))
2
4
 
3
- Net::HTTP.class_eval do
4
- def request_with_mini_profiler(*args, &block)
5
- request = args[0]
6
- Rack::MiniProfiler.step("Net::HTTP #{request.method} #{request.path}") do
7
- request_without_mini_profiler(*args, &block)
5
+ if defined?(Rack::MINI_PROFILER_PREPEND_NET_HTTP_PATCH)
6
+ module NetHTTPWithMiniProfiler
7
+ def request(request, *args, &block)
8
+ Rack::MiniProfiler.step("Net::HTTP #{request.method} #{request.path}") do
9
+ super
10
+ end
11
+ end
12
+ end
13
+ Net::HTTP.prepend(NetHTTPWithMiniProfiler)
14
+ else
15
+ Net::HTTP.class_eval do
16
+ def request_with_mini_profiler(*args, &block)
17
+ request = args[0]
18
+ Rack::MiniProfiler.step("Net::HTTP #{request.method} #{request.path}") do
19
+ request_without_mini_profiler(*args, &block)
20
+ end
8
21
  end
22
+ alias request_without_mini_profiler request
23
+ alias request request_with_mini_profiler
9
24
  end
10
- alias request_without_mini_profiler request
11
- alias request request_with_mini_profiler
12
25
  end
13
-
14
26
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class SqlPatches
2
4
  def self.correct_version?(required_version, klass)
3
5
  Gem::Dependency.new('', required_version).match?('', klass::VERSION)
@@ -6,10 +8,10 @@ class SqlPatches
6
8
  end
7
9
 
8
10
  def self.record_sql(statement, parameters = nil, &block)
9
- start = Time.now
11
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
10
12
  result = yield
11
13
  record = ::Rack::MiniProfiler.record_sql(statement, elapsed_time(start), parameters)
12
- return result, record
14
+ [result, record]
13
15
  end
14
16
 
15
17
  def self.should_measure?
@@ -18,7 +20,11 @@ class SqlPatches
18
20
  end
19
21
 
20
22
  def self.elapsed_time(start_time)
21
- ((Time.now - start_time).to_f * 1000).round(1)
23
+ ((Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time).to_f * 1000).round(1)
24
+ end
25
+
26
+ def self.patch_rails?
27
+ ::Rack::MiniProfiler.patch_rails?
22
28
  end
23
29
 
24
30
  def self.sql_patches
@@ -27,12 +33,16 @@ class SqlPatches
27
33
  patches << 'mysql2' if defined?(Mysql2::Client) && Mysql2::Client.class == Class
28
34
  patches << 'pg' if defined?(PG::Result) && PG::Result.class == Class
29
35
  patches << 'oracle_enhanced' if defined?(ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter) && ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.class == Class &&
30
- SqlPatches.correct_version?('~> 1.5.0', ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter)
36
+ SqlPatches.correct_version?('~> 1.5.0', ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter) &&
37
+ patch_rails?
31
38
  # if the adapters were directly patched, don't patch again
32
- return patches unless patches.empty?
39
+ if !patches.empty?
40
+ Rack::MiniProfiler.subscribe_sql_active_record = false
41
+ return patches
42
+ end
33
43
  patches << 'sequel' if defined?(Sequel::Database) && Sequel::Database.class == Class
34
- patches << 'activerecord' if defined?(ActiveRecord) && ActiveRecord.class == Module
35
-
44
+ patches << 'activerecord' if defined?(ActiveRecord) && ActiveRecord.class == Module && patch_rails?
45
+ Rack::MiniProfiler.subscribe_sql_active_record = patches.empty? && !patch_rails?
36
46
  patches
37
47
  end
38
48
 
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rack
4
+ MINI_PROFILER_PREPEND_NET_HTTP_PATCH = true
5
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'timeout'
3
5
  require 'thread'
@@ -24,10 +26,8 @@ require 'mini_profiler/profiling_methods'
24
26
  require 'mini_profiler/context'
25
27
  require 'mini_profiler/client_settings'
26
28
  require 'mini_profiler/gc_profiler'
29
+ require 'mini_profiler/snapshots_transporter'
27
30
  require 'mini_profiler/profiler'
28
- # TODO
29
- # require 'mini_profiler/gc_profiler_ruby_head' if Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION)
30
-
31
31
  require 'patches/sql_patches'
32
32
  require 'patches/net_patches'
33
33
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('../lib', __FILE__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'mini_profiler/version'
@@ -6,29 +8,41 @@ Gem::Specification.new do |s|
6
8
  s.name = "rack-mini-profiler"
7
9
  s.version = Rack::MiniProfiler::VERSION
8
10
  s.summary = "Profiles loading speed for rack applications."
9
- s.authors = ["Sam Saffron","Robin Ward","Aleks Totic"]
11
+ s.authors = ["Sam Saffron", "Robin Ward", "Aleks Totic"]
10
12
  s.description = "Profiling toolkit for Rack applications with Rails integration. Client Side profiling, DB profiling and Server profiling."
11
13
  s.email = "sam.saffron@gmail.com"
12
- s.homepage = "http://miniprofiler.com"
14
+ s.homepage = "https://miniprofiler.com"
13
15
  s.license = "MIT"
14
16
  s.files = [
15
17
  'rack-mini-profiler.gemspec',
16
- ].concat( Dir.glob('lib/**/*').reject {|f| File.directory?(f) || f =~ /~$/ } )
18
+ ].concat(Dir.glob('lib/**/*').reject { |f| File.directory?(f) || f =~ /~$/ })
17
19
  s.extra_rdoc_files = [
18
20
  "README.md",
19
21
  "CHANGELOG.md"
20
22
  ]
21
23
  s.add_runtime_dependency 'rack', '>= 1.2.0'
22
- s.required_ruby_version = '>= 1.9.3'
24
+ s.required_ruby_version = '>= 2.4.0'
25
+
26
+ s.metadata = {
27
+ 'source_code_uri' => 'https://github.com/MiniProfiler/rack-mini-profiler',
28
+ 'changelog_uri' => 'https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md'
29
+ }
23
30
 
24
- s.add_development_dependency 'rake', '< 11'
31
+ s.add_development_dependency 'rake'
25
32
  s.add_development_dependency 'rack-test'
26
- s.add_development_dependency 'activerecord', '~> 3.0'
27
33
  s.add_development_dependency 'dalli'
28
- s.add_development_dependency 'rspec', '~> 2.14.1'
34
+ s.add_development_dependency 'rspec', '~> 3.6.0'
29
35
  s.add_development_dependency 'redis'
30
- s.add_development_dependency 'sass'
31
- s.add_development_dependency 'flamegraph'
36
+ s.add_development_dependency 'sassc'
37
+ s.add_development_dependency 'stackprof'
38
+ s.add_development_dependency 'rubocop'
39
+ s.add_development_dependency 'mini_racer'
40
+ s.add_development_dependency 'nokogiri'
41
+ s.add_development_dependency 'rubocop-discourse'
42
+ s.add_development_dependency 'listen'
43
+ s.add_development_dependency 'webpacker'
44
+ s.add_development_dependency 'rails', '~> 6.0'
45
+ s.add_development_dependency 'webmock', '3.9.1'
32
46
 
33
47
  s.require_paths = ["lib"]
34
48
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-mini-profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.6
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  - Robin Ward
9
9
  - Aleks Totic
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-10-30 00:00:00.000000000 Z
13
+ date: 2020-12-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -30,16 +30,16 @@ dependencies:
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - "<"
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '11'
35
+ version: '0'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "<"
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '11'
42
+ version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rack-test
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -55,21 +55,35 @@ dependencies:
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  - !ruby/object:Gem::Dependency
58
- name: activerecord
58
+ name: dalli
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec
59
73
  requirement: !ruby/object:Gem::Requirement
60
74
  requirements:
61
75
  - - "~>"
62
76
  - !ruby/object:Gem::Version
63
- version: '3.0'
77
+ version: 3.6.0
64
78
  type: :development
65
79
  prerelease: false
66
80
  version_requirements: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - "~>"
69
83
  - !ruby/object:Gem::Version
70
- version: '3.0'
84
+ version: 3.6.0
71
85
  - !ruby/object:Gem::Dependency
72
- name: dalli
86
+ name: redis
73
87
  requirement: !ruby/object:Gem::Requirement
74
88
  requirements:
75
89
  - - ">="
@@ -83,21 +97,21 @@ dependencies:
83
97
  - !ruby/object:Gem::Version
84
98
  version: '0'
85
99
  - !ruby/object:Gem::Dependency
86
- name: rspec
100
+ name: sassc
87
101
  requirement: !ruby/object:Gem::Requirement
88
102
  requirements:
89
- - - "~>"
103
+ - - ">="
90
104
  - !ruby/object:Gem::Version
91
- version: 2.14.1
105
+ version: '0'
92
106
  type: :development
93
107
  prerelease: false
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
- - - "~>"
110
+ - - ">="
97
111
  - !ruby/object:Gem::Version
98
- version: 2.14.1
112
+ version: '0'
99
113
  - !ruby/object:Gem::Dependency
100
- name: redis
114
+ name: stackprof
101
115
  requirement: !ruby/object:Gem::Requirement
102
116
  requirements:
103
117
  - - ">="
@@ -111,7 +125,7 @@ dependencies:
111
125
  - !ruby/object:Gem::Version
112
126
  version: '0'
113
127
  - !ruby/object:Gem::Dependency
114
- name: sass
128
+ name: rubocop
115
129
  requirement: !ruby/object:Gem::Requirement
116
130
  requirements:
117
131
  - - ">="
@@ -125,7 +139,7 @@ dependencies:
125
139
  - !ruby/object:Gem::Version
126
140
  version: '0'
127
141
  - !ruby/object:Gem::Dependency
128
- name: flamegraph
142
+ name: mini_racer
129
143
  requirement: !ruby/object:Gem::Requirement
130
144
  requirements:
131
145
  - - ">="
@@ -138,6 +152,90 @@ dependencies:
138
152
  - - ">="
139
153
  - !ruby/object:Gem::Version
140
154
  version: '0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: nokogiri
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ - !ruby/object:Gem::Dependency
170
+ name: rubocop-discourse
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ - !ruby/object:Gem::Dependency
184
+ name: listen
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ - !ruby/object:Gem::Dependency
198
+ name: webpacker
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ - !ruby/object:Gem::Dependency
212
+ name: rails
213
+ requirement: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - "~>"
216
+ - !ruby/object:Gem::Version
217
+ version: '6.0'
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - "~>"
223
+ - !ruby/object:Gem::Version
224
+ version: '6.0'
225
+ - !ruby/object:Gem::Dependency
226
+ name: webmock
227
+ requirement: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - '='
230
+ - !ruby/object:Gem::Version
231
+ version: 3.9.1
232
+ type: :development
233
+ prerelease: false
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - '='
237
+ - !ruby/object:Gem::Version
238
+ version: 3.9.1
141
239
  description: Profiling toolkit for Rack applications with Rails integration. Client
142
240
  Side profiling, DB profiling and Server profiling.
143
241
  email: sam.saffron@gmail.com
@@ -149,20 +247,33 @@ extra_rdoc_files:
149
247
  files:
150
248
  - CHANGELOG.md
151
249
  - README.md
250
+ - lib/enable_rails_patches.rb
152
251
  - lib/generators/rack_profiler/USAGE
153
252
  - lib/generators/rack_profiler/install_generator.rb
154
253
  - lib/generators/rack_profiler/templates/rack_profiler.rb
254
+ - lib/html/dot.1.1.2.min.js
155
255
  - lib/html/includes.css
156
256
  - lib/html/includes.js
157
257
  - lib/html/includes.scss
158
258
  - lib/html/includes.tmpl
159
- - lib/html/jquery.1.7.1.js
160
- - lib/html/jquery.tmpl.js
161
- - lib/html/list.css
162
- - lib/html/list.js
163
- - lib/html/list.tmpl
259
+ - lib/html/pretty-print.js
164
260
  - lib/html/profile_handler.js
261
+ - lib/html/rack-mini-profiler.css
262
+ - lib/html/rack-mini-profiler.js
165
263
  - lib/html/share.html
264
+ - lib/html/speedscope/LICENSE
265
+ - lib/html/speedscope/README.md
266
+ - lib/html/speedscope/demangle-cpp.1768f4cc.js
267
+ - lib/html/speedscope/favicon-16x16.f74b3187.png
268
+ - lib/html/speedscope/favicon-32x32.bc503437.png
269
+ - lib/html/speedscope/file-format-schema.json
270
+ - lib/html/speedscope/import.cf0fa83f.js
271
+ - lib/html/speedscope/index.html
272
+ - lib/html/speedscope/release.txt
273
+ - lib/html/speedscope/reset.8c46b7a1.css
274
+ - lib/html/speedscope/source-map.438fa06b.js
275
+ - lib/html/speedscope/speedscope.44364064.js
276
+ - lib/html/vendor.js
166
277
  - lib/mini_profiler/asset_version.rb
167
278
  - lib/mini_profiler/client_settings.rb
168
279
  - lib/mini_profiler/config.rb
@@ -170,6 +281,7 @@ files:
170
281
  - lib/mini_profiler/gc_profiler.rb
171
282
  - lib/mini_profiler/profiler.rb
172
283
  - lib/mini_profiler/profiling_methods.rb
284
+ - lib/mini_profiler/snapshots_transporter.rb
173
285
  - lib/mini_profiler/storage/abstract_store.rb
174
286
  - lib/mini_profiler/storage/file_store.rb
175
287
  - lib/mini_profiler/storage/memcache_store.rb
@@ -183,6 +295,7 @@ files:
183
295
  - lib/mini_profiler/timer_struct/sql.rb
184
296
  - lib/mini_profiler/version.rb
185
297
  - lib/mini_profiler_rails/railtie.rb
298
+ - lib/mini_profiler_rails/railtie_methods.rb
186
299
  - lib/patches/db/activerecord.rb
187
300
  - lib/patches/db/mongo.rb
188
301
  - lib/patches/db/moped.rb
@@ -197,13 +310,16 @@ files:
197
310
  - lib/patches/db/sequel.rb
198
311
  - lib/patches/net_patches.rb
199
312
  - lib/patches/sql_patches.rb
313
+ - lib/prepend_net_http_patch.rb
200
314
  - lib/rack-mini-profiler.rb
201
315
  - rack-mini-profiler.gemspec
202
- homepage: http://miniprofiler.com
316
+ homepage: https://miniprofiler.com
203
317
  licenses:
204
318
  - MIT
205
- metadata: {}
206
- post_install_message:
319
+ metadata:
320
+ source_code_uri: https://github.com/MiniProfiler/rack-mini-profiler
321
+ changelog_uri: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md
322
+ post_install_message:
207
323
  rdoc_options: []
208
324
  require_paths:
209
325
  - lib
@@ -211,16 +327,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
327
  requirements:
212
328
  - - ">="
213
329
  - !ruby/object:Gem::Version
214
- version: 1.9.3
330
+ version: 2.4.0
215
331
  required_rubygems_version: !ruby/object:Gem::Requirement
216
332
  requirements:
217
333
  - - ">="
218
334
  - !ruby/object:Gem::Version
219
335
  version: '0'
220
336
  requirements: []
221
- rubyforge_project:
222
- rubygems_version: 2.6.13
223
- signing_key:
337
+ rubygems_version: 3.2.2
338
+ signing_key:
224
339
  specification_version: 4
225
340
  summary: Profiles loading speed for rack applications.
226
341
  test_files: []