droid-monitor 0.3.4 → 0.3.5
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/.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
|

|
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
|
- - ">="
|