droid-monitor 0.3.5 → 0.4.0

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: 45a49115b92c702493e1907b4f4801ba7fff00ed
4
- data.tar.gz: 0d7db7cae3e1c45e008cf8ecce4f187090b30796
3
+ metadata.gz: aef56fedb46e23d522c96993e6483336d1795c90
4
+ data.tar.gz: feaac7d08ac24f78b7966a892e9f92978803c45b
5
5
  SHA512:
6
- metadata.gz: cef79c066d26ba6c980f92c2f8ecad6744eaaf5cf37548b14fb6b8e936f3208f5d336233abbe41515e6c9ab5083b68d166f53c5da75e7640432999d231088542
7
- data.tar.gz: 8f5b778d0e44e41964ce61d80026e3ebfcc6b76760cadbdcdad9d9ff74de1c2c056f48655e514449001a20d9a5d3dd5313a13d325f492295e54058dfe8973ee8
6
+ metadata.gz: ff2c665d11fcbe4f1cd2a91ef498a5db136c39822d6655881792b19509c828862c086a741167cba2060ecd43d9f15c0e0129347160c8e595d12b4e85dace9f7b
7
+ data.tar.gz: 06db6ca23ab91c2a9992eae1b7c33a16b44fe2912c2b206087dc0a3a78e4b14041b279a3c7f5d8943a067ccb575b73a259e558aaa502a76eed0d58b947c3b97d
@@ -74,14 +74,23 @@ module Droid
74
74
  total_memory: 0,
75
75
  time: dump_gfxinfo_array.last,
76
76
  }
77
- else
77
+ elsif @api_level >= 23
78
78
  {
79
79
  view: dump_gfxinfo_array[4].to_i,
80
80
  display_lists_kb: dump_gfxinfo_array[6].to_f.round(2),
81
- frames_rendered: dump_gfxinfo_array[11].to_i || 0,
81
+ frames_rendered: dump_gfxinfo_array[14].to_i || 0,
82
+ janky_frame: dump_gfxinfo_array[17].to_i || 0,
82
83
  total_memory: (dump_gfxinfo_array[0].to_f / 1024).round(2),
83
84
  time: dump_gfxinfo_array.last,
84
85
  }
86
+ else
87
+ {
88
+ view: dump_gfxinfo_array[4].to_i,
89
+ display_lists_kb: dump_gfxinfo_array[6].to_f.round(2),
90
+ frames_rendered: dump_gfxinfo_array[11].to_i || 0,
91
+ total_memory: (dump_gfxinfo_array[0].to_f / 1024).round(2),
92
+ time: dump_gfxinfo_array.last,
93
+ }
85
94
  end
86
95
  end
87
96
 
@@ -121,23 +130,31 @@ module Droid
121
130
  def export_as_google_api_format_frame(from_gfxinfo_usage)
122
131
  google_api_data_format = empty_google_api_format_frame
123
132
 
124
- from_gfxinfo_usage.each do |hash|
125
- a_google_api_data_format = {
126
- c: [
127
- { v: hash[:time] },
128
- { v: hash[:frames_rendered] },
129
- ]
130
- }
131
- google_api_data_format[:rows].push(a_google_api_data_format)
133
+ if @api_level >= 23
134
+ from_gfxinfo_usage.each do |hash|
135
+ a_google_api_data_format = {
136
+ c: [
137
+ { v: hash[:time] },
138
+ { v: hash[:frames_rendered] },
139
+ { v: hash[:janky_frame] },
140
+ ]
141
+ }
142
+ google_api_data_format[:rows].push(a_google_api_data_format)
143
+ end
144
+ else
145
+ from_gfxinfo_usage.each do |hash|
146
+ a_google_api_data_format = {
147
+ c: [
148
+ { v: hash[:time] },
149
+ { v: hash[:frames_rendered] },
150
+ ]
151
+ }
152
+ google_api_data_format[:rows].push(a_google_api_data_format)
153
+ end
132
154
  end
133
-
134
155
  JSON.generate google_api_data_format
135
156
  end
136
157
 
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
-
141
158
  def create_graph(data_file_path, graph_opts = {}, output_file_path)
142
159
  self.save(Droid::Monitor::GoogleApiTemplate.create_graph(data_file_path, graph_opts),
143
160
  output_file_path)
@@ -169,17 +186,27 @@ module Droid
169
186
  end
170
187
 
171
188
  def empty_google_api_format_frame
172
- {
173
- cols: [
174
- { label: 'time', type: 'string' },
175
- { label: 'frames_rendered', type: 'number' },
176
- ],
177
- rows: [
178
- ],
179
- }
189
+ if @api_level >= 23
190
+ {
191
+ cols: [
192
+ { label: 'time', type: 'string' },
193
+ { label: 'frames_rendered', type: 'number' },
194
+ { label: 'janky_frame', type: 'number' },
195
+ ],
196
+ rows: [
197
+ ],
198
+ }
199
+ else
200
+ {
201
+ cols: [
202
+ { label: 'time', type: 'string' },
203
+ { label: 'frames_rendered', type: 'number' },
204
+ ],
205
+ rows: [
206
+ ],
207
+ }
208
+ end
180
209
  end
181
-
182
-
183
210
  end # class Gfxinfo
184
211
  end # module Monitor
185
212
  end # module Droid
@@ -1,5 +1,5 @@
1
1
  module Droid
2
2
  module Monitor
3
- VERSION = "0.3.5"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
@@ -335,6 +335,18 @@ class GfxinfoTest < Test::Unit::TestCase
335
335
  assert_equal(@gfx.export_as_google_api_format_frame(@gfx.gfxinfo_usage), expected_json)
336
336
  end
337
337
 
338
+ def test_convert_to_google_data_api_format_frame_one_api_23
339
+ dummy_array = %w(1926852 bytes, 1.84 MB 21 views, 31.36 kB of display lists Total frames rendered: 3 Janky frames: 2 (66.67%))
340
+ @gfx.api_level = 23
341
+
342
+ @gfx.store_gfxinfo_usage(dummy_array)
343
+ expected_json = "{\"cols\":[{\"label\":\"time\",\"type\":\"string\"}," +
344
+ "{\"label\":\"frames_rendered\",\"type\":\"number\"},{\"label\":\"janky_frame\",\"type\":\"number\"}]," +
345
+ "\"rows\":[{\"c\":[{\"v\":\"#{@gfx.gfxinfo_usage[0][:time]}\"},{\"v\":3},{\"v\":2}]}]}"
346
+ assert_equal(@gfx.export_as_google_api_format_frame(@gfx.gfxinfo_usage), expected_json)
347
+ end
348
+
349
+
338
350
  def test_convert_to_google_data_api_format_gfx_many
339
351
  dummy_array = %w(5781894 bytes, 5.51 MB 465 views, 38.00 kB of display lists, 354 frames rendered 13:43:32.556)
340
352
 
@@ -368,4 +380,19 @@ class GfxinfoTest < Test::Unit::TestCase
368
380
  "{\"v\":354}]},{\"c\":[{\"v\":\"#{@gfx.gfxinfo_usage[1][:time]}\"},{\"v\":354}]}]}"
369
381
  assert_equal(@gfx.export_as_google_api_format_frame(@gfx.gfxinfo_usage), expected_json)
370
382
  end
383
+
384
+ def test_convert_to_google_data_api_format_frame_many_api_23
385
+ dummy_array = %w(1926852 bytes, 1.84 MB 21 views, 31.36 kB of display lists Total frames rendered: 3 Janky frames: 2 (66.67%))
386
+ @gfx.api_level = 23
387
+
388
+ @gfx.store_gfxinfo_usage(dummy_array)
389
+ @gfx.store_gfxinfo_usage(dummy_array)
390
+ expected_json = "{\"cols\":[{\"label\":\"time\",\"type\":\"string\"}," +
391
+ "{\"label\":\"frames_rendered\",\"type\":\"number\"},{\"label\":\"janky_frame\",\"type\":\"number\"}]," +
392
+ "\"rows\":[{\"c\":[{\"v\":\"#{@gfx.gfxinfo_usage[1][:time]}\"}," +
393
+ "{\"v\":3},{\"v\":2}]},{\"c\":[{\"v\":\"#{@gfx.gfxinfo_usage[1][:time]}\"},{\"v\":3},{\"v\":2}]}]}"
394
+ assert_equal(@gfx.export_as_google_api_format_frame(@gfx.gfxinfo_usage), expected_json)
395
+ end
396
+
397
+
371
398
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droid-monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO