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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5611592ffc80febfd87890a8d54f77368eea89bb
4
- data.tar.gz: ea52f55d1b8ead6c96f160952216a13f0cc12410
3
+ metadata.gz: 45a49115b92c702493e1907b4f4801ba7fff00ed
4
+ data.tar.gz: 0d7db7cae3e1c45e008cf8ecce4f187090b30796
5
5
  SHA512:
6
- metadata.gz: 6daaeb84ee4c4d29a6d549ad9b07a3bd92d0eac0480d741df496666f6e99c4b644f7e2d662da11559820c5c003fe937b3fb08d23273afa3d7d71bc530f431821
7
- data.tar.gz: 022a281a8914f39f7d471c45b3b5323defe78e7d84afab1f555dfcef338616abbe1dfcf28f70c1ae626425bd51602d6e30fcc138e9235039d98d4dedd922d612
6
+ metadata.gz: cef79c066d26ba6c980f92c2f8ecad6744eaaf5cf37548b14fb6b8e936f3208f5d336233abbe41515e6c9ab5083b68d166f53c5da75e7640432999d231088542
7
+ data.tar.gz: 8f5b778d0e44e41964ce61d80026e3ebfcc6b76760cadbdcdad9d9ff74de1c2c056f48655e514449001a20d9a5d3dd5313a13d325f492295e54058dfe8973ee8
data/.travis.yml CHANGED
@@ -1,6 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
4
3
  - 2.1.4
5
4
  - 2.2.0
6
5
  - 2.3.0
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).
@@ -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.0.0"
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)
@@ -1,5 +1,5 @@
1
1
  module Droid
2
2
  module Monitor
3
- VERSION = "0.3.4"
3
+ VERSION = "0.3.5"
4
4
  end
5
5
  end
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
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-01-10 00:00:00.000000000 Z
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.0.0
141
+ version: 2.1.0
142
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="