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