droid-monitor 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -1
- data/README.md +9 -1
- data/droid-monitor.gemspec +1 -1
- data/lib/droid/monitor.rb +3 -0
- data/lib/droid/monitor/gfxinfo.rb +17 -1
- data/lib/droid/monitor/version.rb +1 -1
- data/test/gfxinfo_test.rb +99 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45a49115b92c702493e1907b4f4801ba7fff00ed
|
4
|
+
data.tar.gz: 0d7db7cae3e1c45e008cf8ecce4f187090b30796
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cef79c066d26ba6c980f92c2f8ecad6744eaaf5cf37548b14fb6b8e936f3208f5d336233abbe41515e6c9ab5083b68d166f53c5da75e7640432999d231088542
|
7
|
+
data.tar.gz: 8f5b778d0e44e41964ce61d80026e3ebfcc6b76760cadbdcdad9d9ff74de1c2c056f48655e514449001a20d9a5d3dd5313a13d325f492295e54058dfe8973ee8
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -154,7 +154,7 @@ require "droid/monitor/gxfinfo"
|
|
154
154
|
# export data into filename as google api format
|
155
155
|
data_file_gfx = "sample_gfx.txt"
|
156
156
|
data_file_mem = "sample_mem.txt"
|
157
|
-
data_file_frame = "sample_frame.txt"
|
157
|
+
data_file_frame = "sample_frame.txt" # Can't get frame rendered if api level of target devices are 21 or 22.(Android 5.x)
|
158
158
|
@gfx.save_gfxinfo_usage_as_google_api(data_file_gfx, data_file_mem, data_file_frame)
|
159
159
|
|
160
160
|
# export data into filename which is used the above command.
|
@@ -183,6 +183,8 @@ graph_opts = { title: "Example", header1: "this graph is just sample"}
|
|
183
183
|
|
184
184
|
- frame
|
185
185
|
|
186
|
+
**Can't get frame rendered if api level of target devices are 21 or 22.(Android 5.x)**
|
187
|
+
|
186
188
|
![](https://raw.githubusercontent.com/KazuCocoa/droid-monitor/master/doc/images/Screen%20Shot%202015-09-12%20at%2009.41.16.png)
|
187
189
|
|
188
190
|
|
@@ -191,6 +193,12 @@ graph_opts = { title: "Example", header1: "this graph is just sample"}
|
|
191
193
|
1. Some browser, like Google Chrome, can't see local file via page. So, you should see report html file via FireFox as example.
|
192
194
|
|
193
195
|
|
196
|
+
## Battery
|
197
|
+
|
198
|
+
For battery
|
199
|
+
|
200
|
+
- https://github.com/google/battery-historian
|
201
|
+
|
194
202
|
## License
|
195
203
|
MIT license.
|
196
204
|
Please see [here](https://github.com/KazuCocoa/droid-monitor/blob/master/LICENSE.txt).
|
data/droid-monitor.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
|
-
spec.required_ruby_version = ">= 2.
|
20
|
+
spec.required_ruby_version = ">= 2.1.0"
|
21
21
|
|
22
22
|
spec.add_dependency "faml"
|
23
23
|
spec.add_dependency "haml" # for using faml to tilt
|
data/lib/droid/monitor.rb
CHANGED
@@ -13,6 +13,7 @@ module Droid
|
|
13
13
|
@package = opts[:package]
|
14
14
|
@device_serial = opts[:device_serial] || ""
|
15
15
|
@api_level = device_sdk_version
|
16
|
+
@debug = opts[:debug]
|
16
17
|
end
|
17
18
|
|
18
19
|
# @return [Integer] message from adb command
|
@@ -34,12 +35,14 @@ module Droid
|
|
34
35
|
def dump_tcp_rec
|
35
36
|
pid = get_pid
|
36
37
|
return 0 if pid == -1
|
38
|
+
puts "pid is #{pid}" if @debug
|
37
39
|
run_adb("#{adb_shell} cat proc/uid_stat/#{pid}/tcp_rcv").to_i
|
38
40
|
end
|
39
41
|
|
40
42
|
def dump_tcp_snd
|
41
43
|
pid = get_pid
|
42
44
|
return 0 if pid == -1
|
45
|
+
puts "pid is #{pid}" if @debug
|
43
46
|
run_adb("#{adb_shell} cat proc/uid_stat/#{pid}/tcp_snd").to_i
|
44
47
|
end
|
45
48
|
|
@@ -29,7 +29,19 @@ module Droid
|
|
29
29
|
v_dump = view_dump.split(/\s/).reject(&:empty?)
|
30
30
|
v_mem_dump = view_memory_dump2.split(/\s/).reject(&:empty?)
|
31
31
|
|
32
|
-
v_mem_dump + v_dump
|
32
|
+
gfxs = v_mem_dump + v_dump
|
33
|
+
|
34
|
+
if @api_level >= 23
|
35
|
+
view_total_frames_rendered = dump_data.scan(/^.*Total frames rendered:.*$/).map(&:strip).first
|
36
|
+
view_janky_frames = dump_data.scan(/^.*Janky frames:.*$/).map(&:strip).first
|
37
|
+
|
38
|
+
v_frames_rendered_dump = view_total_frames_rendered.split(/\s/).reject(&:empty?)
|
39
|
+
v_janky_frames = view_janky_frames.split(/\s/).reject(&:empty?)
|
40
|
+
|
41
|
+
gfxs = v_mem_dump + v_dump + v_frames_rendered_dump + v_janky_frames
|
42
|
+
end
|
43
|
+
|
44
|
+
gfxs
|
33
45
|
rescue StandardError => e
|
34
46
|
puts e
|
35
47
|
[]
|
@@ -122,6 +134,10 @@ module Droid
|
|
122
134
|
JSON.generate google_api_data_format
|
123
135
|
end
|
124
136
|
|
137
|
+
def export_as_google_api_format_frame_and_janky(from_gfxinfo_usage)
|
138
|
+
# TODO: save total frame rendered and janky frames from `Total frames rendered: 3 Janky frames: 2 (66.67%)`
|
139
|
+
end
|
140
|
+
|
125
141
|
def create_graph(data_file_path, graph_opts = {}, output_file_path)
|
126
142
|
self.save(Droid::Monitor::GoogleApiTemplate.create_graph(data_file_path, graph_opts),
|
127
143
|
output_file_path)
|
data/test/gfxinfo_test.rb
CHANGED
@@ -91,6 +91,97 @@ Total Views: 41
|
|
91
91
|
Total DisplayList: 1.36 kB
|
92
92
|
EOS
|
93
93
|
|
94
|
+
SAMPLE_GFXINFO_5 = <<-EOS
|
95
|
+
Applications Graphics Acceleration Info:
|
96
|
+
Uptime: 6019250 Realtime: 13901895
|
97
|
+
|
98
|
+
** Graphics info for pid 26834 [com.android.chrome] **
|
99
|
+
|
100
|
+
Recent DisplayList operations
|
101
|
+
ConcatMatrix
|
102
|
+
Save
|
103
|
+
DrawBitmap
|
104
|
+
RestoreToCount
|
105
|
+
DrawRenderNode
|
106
|
+
DrawRenderNode
|
107
|
+
Save
|
108
|
+
ClipRect
|
109
|
+
Translate
|
110
|
+
DrawRenderNode
|
111
|
+
DrawText
|
112
|
+
DrawText
|
113
|
+
RestoreToCount
|
114
|
+
DrawRenderNode
|
115
|
+
Save
|
116
|
+
ConcatMatrix
|
117
|
+
Save
|
118
|
+
DrawBitmap
|
119
|
+
RestoreToCount
|
120
|
+
DrawRenderNode
|
121
|
+
Save
|
122
|
+
ConcatMatrix
|
123
|
+
Save
|
124
|
+
DrawBitmap
|
125
|
+
RestoreToCount
|
126
|
+
RestoreToCount
|
127
|
+
DrawRenderNode
|
128
|
+
DrawRenderNode
|
129
|
+
DrawRenderNode
|
130
|
+
Save
|
131
|
+
ConcatMatrix
|
132
|
+
Save
|
133
|
+
DrawBitmap
|
134
|
+
RestoreToCount
|
135
|
+
RestoreToCount
|
136
|
+
DrawRenderNode
|
137
|
+
RestoreToCount
|
138
|
+
RestoreToCount
|
139
|
+
DrawRect
|
140
|
+
DrawBitmap
|
141
|
+
DrawBitmap
|
142
|
+
DrawBitmap
|
143
|
+
DrawBitmap
|
144
|
+
DrawPatch
|
145
|
+
DrawBitmap
|
146
|
+
DrawBitmap
|
147
|
+
DrawBitmap
|
148
|
+
DrawBitmap
|
149
|
+
DrawText
|
150
|
+
DrawText
|
151
|
+
|
152
|
+
Caches:
|
153
|
+
Current memory usage / total memory usage (bytes):
|
154
|
+
TextureCache 669300 / 50331648
|
155
|
+
LayerCache 0 / 33554432 (numLayers = 0)
|
156
|
+
Layers total 0 (numLayers = 0)
|
157
|
+
RenderBufferCache 0 / 4194304
|
158
|
+
GradientCache 0 / 1048576
|
159
|
+
PathCache 0 / 25165824
|
160
|
+
TessellationCache 0 / 1048576
|
161
|
+
TextDropShadowCache 0 / 5242880
|
162
|
+
PatchCache 960 / 131072
|
163
|
+
FontRenderer 0 A8 524288 / 524288
|
164
|
+
FontRenderer 0 RGBA 0 / 0
|
165
|
+
FontRenderer 0 total 524288 / 524288
|
166
|
+
Other:
|
167
|
+
FboCache 0 / 0
|
168
|
+
Total memory usage:
|
169
|
+
1194548 bytes, 1.14 MB
|
170
|
+
|
171
|
+
Profile data in ms:
|
172
|
+
|
173
|
+
com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity/android.view.ViewRootImpl@27de7df5 (visibility=0)
|
174
|
+
View hierarchy:
|
175
|
+
|
176
|
+
com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity/android.view.ViewRootImpl@27de7df5
|
177
|
+
55 views, 51,03 kB of display lists
|
178
|
+
|
179
|
+
|
180
|
+
Total ViewRootImpl: 1
|
181
|
+
Total Views: 55
|
182
|
+
Total DisplayList: 51,03 kB
|
183
|
+
EOS
|
184
|
+
|
94
185
|
SAMPLE_GFXINFO_6 = <<-EOS
|
95
186
|
Applications Graphics Acceleration Info:
|
96
187
|
Uptime: 9658130 Realtime: 9658130
|
@@ -180,8 +271,15 @@ class GfxinfoTest < Test::Unit::TestCase
|
|
180
271
|
assert_equal(expected, @gfx.dump_gfxinfo_usage(SAMPLE_GFXINFO))
|
181
272
|
end
|
182
273
|
|
274
|
+
def test_dump_gfxinfo_usage_for_API21
|
275
|
+
expected = %w(1194548 bytes, 1.14 MB 55 views, 51,03 kB of display lists)
|
276
|
+
|
277
|
+
assert_equal(expected, @gfx.dump_gfxinfo_usage(SAMPLE_GFXINFO_5))
|
278
|
+
end
|
279
|
+
|
183
280
|
def test_dump_gfxinfo_usage_for_API23
|
184
|
-
expected = %w(1926852 bytes, 1.84 MB 21 views, 31.36 kB of display lists)
|
281
|
+
expected = %w(1926852 bytes, 1.84 MB 21 views, 31.36 kB of display lists Total frames rendered: 3 Janky frames: 2 (66.67%))
|
282
|
+
@gfx.api_level = 23
|
185
283
|
assert_equal(expected, @gfx.dump_gfxinfo_usage(SAMPLE_GFXINFO_6))
|
186
284
|
end
|
187
285
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droid-monitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faml
|
@@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
138
|
requirements:
|
139
139
|
- - ">="
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version: 2.
|
141
|
+
version: 2.1.0
|
142
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
144
|
- - ">="
|