app_profiler 0.0.6 → 0.0.7
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/lib/app_profiler.rb +10 -1
- data/lib/app_profiler/profiler.rb +15 -15
- data/lib/app_profiler/version.rb +1 -1
- data/lib/app_profiler/viewer/speedscope_viewer.rb +6 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b93daeac19342da210b998d381259941dc1d12c96fa5d58097423d86b32c03f3
|
4
|
+
data.tar.gz: d7b50f279a8b197ba847363db5a6e92b394ac506804d9a499c519dcd36b6071c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d996e6faf3bb8c02e8f34e462d3c74beac53d656d188330972ecba83770524b42dbc36132aa8b6e2cadd57fe0b6b5504a548a1d96ae58b3e7e14ac504d672f2e
|
7
|
+
data.tar.gz: 124bc292cff5decf4cdf7f7d4b8b22cc2820123a1fbda5f56970a1fd76da74675e68dbb5a953024c778eb64bb5c9a7ff8b41f0a62be5dcbdd0f6e214a7cc8fc7
|
data/lib/app_profiler.rb
CHANGED
@@ -24,7 +24,7 @@ module AppProfiler
|
|
24
24
|
autoload :Profiler, "app_profiler/profiler"
|
25
25
|
autoload :Profile, "app_profiler/profile"
|
26
26
|
|
27
|
-
mattr_accessor :logger
|
27
|
+
mattr_accessor :logger, default: Logger.new($stdout)
|
28
28
|
mattr_accessor :root
|
29
29
|
mattr_accessor :profile_root
|
30
30
|
|
@@ -43,6 +43,15 @@ module AppProfiler
|
|
43
43
|
Profiler.run(*args, &block)
|
44
44
|
end
|
45
45
|
|
46
|
+
def start(*args)
|
47
|
+
Profiler.start(*args)
|
48
|
+
end
|
49
|
+
|
50
|
+
def stop
|
51
|
+
Profiler.stop
|
52
|
+
Profiler.results
|
53
|
+
end
|
54
|
+
|
46
55
|
def profile_header=(profile_header)
|
47
56
|
@@profile_header = profile_header # rubocop:disable Style/ClassVars
|
48
57
|
@@request_profile_header = nil # rubocop:disable Style/ClassVars
|
@@ -24,21 +24,6 @@ module AppProfiler
|
|
24
24
|
stop if started
|
25
25
|
end
|
26
26
|
|
27
|
-
def results
|
28
|
-
stackprof_profile = stackprof_results
|
29
|
-
|
30
|
-
return unless stackprof_profile
|
31
|
-
|
32
|
-
Profile.from_stackprof(stackprof_profile)
|
33
|
-
rescue => error
|
34
|
-
AppProfiler.logger.info(
|
35
|
-
"[Profiler] failed to obtain the profile error_class=#{error.class} error_message=#{error.message}"
|
36
|
-
)
|
37
|
-
nil
|
38
|
-
end
|
39
|
-
|
40
|
-
private
|
41
|
-
|
42
27
|
def start(params = {})
|
43
28
|
# Do not start the profiler if StackProf was started somewhere else.
|
44
29
|
return false if running?
|
@@ -59,6 +44,21 @@ module AppProfiler
|
|
59
44
|
StackProf.stop
|
60
45
|
end
|
61
46
|
|
47
|
+
def results
|
48
|
+
stackprof_profile = stackprof_results
|
49
|
+
|
50
|
+
return unless stackprof_profile
|
51
|
+
|
52
|
+
Profile.from_stackprof(stackprof_profile)
|
53
|
+
rescue => error
|
54
|
+
AppProfiler.logger.info(
|
55
|
+
"[Profiler] failed to obtain the profile error_class=#{error.class} error_message=#{error.message}"
|
56
|
+
)
|
57
|
+
nil
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
62
|
def stackprof_results
|
63
63
|
StackProf.results
|
64
64
|
end
|
data/lib/app_profiler/version.rb
CHANGED
@@ -14,6 +14,7 @@ module AppProfiler
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def initialize(profile)
|
17
|
+
super()
|
17
18
|
@profile = profile
|
18
19
|
end
|
19
20
|
|
@@ -36,7 +37,7 @@ module AppProfiler
|
|
36
37
|
# We currently only support this gem in the root Gemfile.
|
37
38
|
# See https://github.com/Shopify/app_profiler/issues/15
|
38
39
|
# for more information
|
39
|
-
yarn("add --dev --ignore-workspace-root-check speedscope")
|
40
|
+
yarn("add --dev --ignore-workspace-root-check speedscope") unless speedscope_added?
|
40
41
|
end
|
41
42
|
|
42
43
|
def ensure_yarn_installed
|
@@ -56,6 +57,10 @@ module AppProfiler
|
|
56
57
|
AppProfiler.root.join("package.json").exist?
|
57
58
|
end
|
58
59
|
|
60
|
+
def speedscope_added?
|
61
|
+
AppProfiler.root.join("node_modules/speedscope").exist?
|
62
|
+
end
|
63
|
+
|
59
64
|
def exec(command)
|
60
65
|
system(command).tap do |return_code|
|
61
66
|
yield unless return_code
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app_profiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gannon McGibbon
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2021-02-19 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: activesupport
|