Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / importer / linux_perf / mali_parser_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/test_utils.html">
9 <link rel="import" href="/tracing/importer/linux_perf_importer.html">
10
11 <script>
12 'use strict';
13
14 tvcm.unittest.testSuite(function() { // @suppress longLineCheck
15   test('maliDDKImport', function() {
16     var linesNoThread = [
17       // Row 1 open
18       '           chrome-1780  [001] ...1   28.562633: tracing_mark_write: ' +
19           'mali_driver: cros_trace_print_enter: ' +
20           'gles/src/dispatch/mali_gles_dispatch_entrypoints.c992: ' +
21           'glTexSubImage2D',
22       // Row 2 open
23       '           chrome-1780  [001] ...1   28.562655: tracing_mark_write: ' +
24           'mali_driver: cros_trace_print_enter: ' +
25           'gles/src/texture/mali_gles_texture_api.c996: ' +
26           'gles_texture_tex_sub_image_2d',
27       // Row 3 open
28       '            chrome-1780  [001] ...1   28.562671: tracing_mark_write: ' +
29           'mali_driver: cros_trace_print_enter: ' +
30           'gles/src/texture/mali_gles_texture_slave.c295: ' +
31           'gles_texturep_slave_map_master',
32       // Row 3 close
33       '           chrome-1780  [001] ...1   28.562684: tracing_mark_write: ' +
34           'mali_driver: cros_trace_print_exit: ' +
35           'gles/src/texture/mali_gles_texture_slave.c295: ',
36       // Row 3 open
37       '           chrome-1780  [001] ...1   28.562700: tracing_mark_write: ' +
38           'mali_driver: cros_trace_print_enter: ' +
39           'gles/src/texture/mali_gles_texture_slave.c1505: ' +
40           'gles2_texturep_upload_2d',
41       // Row 4 open
42       '           chrome-1780  [001] ...1   28.562726: tracing_mark_write: ' +
43           'mali_driver: cros_trace_print_enter: ' +
44           'gles/src/texture/mali_gles_texture_slave.c1612: ' +
45           'gles2_texturep_upload_2d: pixel array: wait for dependencies',
46       // Row 5 open
47       '           chrome-1780  [001] ...1   28.562742: tracing_mark_write: ' +
48           'mali_driver: cros_trace_print_enter: ' +
49           'cobj/src/mali_cobj_surface_operations.c1693: ' +
50           'cobj_convert_pixels_to_surface',
51       // Row 6 open
52       '           chrome-1780  [001] ...1   28.562776: tracing_mark_write: ' +
53           'mali_driver: cros_trace_print_enter: ' +
54           'cobj/src/mali_cobj_surface_operations.c1461: ' +
55           'cobj_convert_pixels',
56       // Row 7 open
57       '           chrome-1780  [001] ...1   28.562791: tracing_mark_write: ' +
58           'mali_driver: cros_trace_print_enter: ' +
59           'cobj/src/mali_cobj_surface_operations.c1505: ' +
60           'cobj_convert_pixels: fast-path linear copy',
61       // Row 8 open
62       '           chrome-1780  [001] ...1   28.562808: tracing_mark_write: ' +
63           'mali_driver: cros_trace_print_enter: ' +
64           'cobj/src/mali_cobj_surface_operations.c1511: ' +
65           'cobj_convert_pixels: reorder-only',
66       // Row 8 close
67       '           chrome-1780  [001] ...1   28.563383: tracing_mark_write: ' +
68           'mali_driver: cros_trace_print_exit: ' +
69           'cobj/src/mali_cobj_surface_operations.c1511',
70       // Row 7 close
71       '           chrome-1780  [001] ...1   28.563397: tracing_mark_write: ' +
72           'mali_driver: cros_trace_print_exit: ' +
73           'cobj/src/mali_cobj_surface_operations.c1505',
74       // Row 6 close
75       '           chrome-1780  [001] ...1   28.563409: tracing_mark_write: ' +
76           'mali_driver: cros_trace_print_exit: ' +
77           'cobj/src/mali_cobj_surface_operations.c1461',
78       // Row 5 close
79       '           chrome-1780  [001] ...1   28.563438: tracing_mark_write: ' +
80           'mali_driver: cros_trace_print_exit: ' +
81           'cobj/src/mali_cobj_surface_operations.c1693',
82       // Row 4 close
83       '           chrome-1780  [001] ...1   28.563451: tracing_mark_write: ' +
84           'mali_driver: cros_trace_print_exit: ' +
85           'gles/src/texture/mali_gles_texture_slave.c1612',
86       // Row 3 close
87       '           chrome-1780  [001] ...1   28.563462: tracing_mark_write: ' +
88           'mali_driver: cros_trace_print_exit: ' +
89           'gles/src/texture/mali_gles_texture_slave.c1505',
90       // Row 2 close
91       '           chrome-1780  [001] ...1   28.563475: tracing_mark_write: ' +
92           'mali_driver: cros_trace_print_exit: ' +
93           'gles/src/texture/mali_gles_texture_api.c996',
94       // Row 1 close
95       '           chrome-1780  [001] ...1   28.563486: tracing_mark_write: ' +
96           'mali_driver: cros_trace_print_exit: ' +
97           'gles/src/dispatch/mali_gles_dispatch_entrypoints.c992'
98     ];
99
100     var linesWithThread = [
101       // Row 1 open
102       '           chrome-1780  [001] ...1   28.562633: tracing_mark_write: ' +
103           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
104           'gles/src/dispatch/mali_gles_dispatch_entrypoints.c@992: ' +
105           'glTexSubImage2D',
106       // Row 2 open
107       '           chrome-1780  [001] ...1   28.562655: tracing_mark_write: ' +
108           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
109           'gles/src/texture/mali_gles_texture_api.c@996: ' +
110           'gles_texture_tex_sub_image_2d',
111       // Row 3 open
112       '            chrome-1780  [001] ...1   28.562671: tracing_mark_write: ' +
113           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
114           'gles/src/texture/mali_gles_texture_slave.c@295: ' +
115           'gles_texturep_slave_map_master',
116       // Row 3 close
117       '           chrome-1780  [001] ...1   28.562684: tracing_mark_write: ' +
118           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
119           'gles/src/texture/mali_gles_texture_slave.c@295: ',
120       // Row 3 open
121       '           chrome-1780  [001] ...1   28.562700: tracing_mark_write: ' +
122           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
123           'gles/src/texture/mali_gles_texture_slave.c@1505: ' +
124           'gles2_texturep_upload_2d',
125       // Row 4 open
126       '           chrome-1780  [001] ...1   28.562726: tracing_mark_write: ' +
127           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
128           'gles/src/texture/mali_gles_texture_slave.c@1612: ' +
129           'gles2_texturep_upload_2d: pixel array: wait for dependencies',
130       // Row 5 open
131       '           chrome-1780  [001] ...1   28.562742: tracing_mark_write: ' +
132           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
133           'cobj/src/mali_cobj_surface_operations.c@1693: ' +
134           'cobj_convert_pixels_to_surface',
135       // Row 6 open
136       '           chrome-1780  [001] ...1   28.562776: tracing_mark_write: ' +
137           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
138           'cobj/src/mali_cobj_surface_operations.c@1461: ' +
139           'cobj_convert_pixels',
140       // Row 7 open
141       '           chrome-1780  [001] ...1   28.562791: tracing_mark_write: ' +
142           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
143           'cobj/src/mali_cobj_surface_operations.c@1505: ' +
144           'cobj_convert_pixels: fast-path linear copy',
145       // Row 8 open
146       '           chrome-1780  [001] ...1   28.562808: tracing_mark_write: ' +
147           'mali_driver: (mali-1878934320) cros_trace_print_enter: ' +
148           'cobj/src/mali_cobj_surface_operations.c@1511: ' +
149           'cobj_convert_pixels: reorder-only',
150       // Row 8 close
151       '           chrome-1780  [001] ...1   28.563383: tracing_mark_write: ' +
152           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
153           'cobj/src/mali_cobj_surface_operations.c@1511',
154       // Row 7 close
155       '           chrome-1780  [001] ...1   28.563397: tracing_mark_write: ' +
156           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
157           'cobj/src/mali_cobj_surface_operations.c@1505',
158       // Row 6 close
159       '           chrome-1780  [001] ...1   28.563409: tracing_mark_write: ' +
160           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
161           'cobj/src/mali_cobj_surface_operations.c@1461',
162       // Row 5 close
163       '           chrome-1780  [001] ...1   28.563438: tracing_mark_write: ' +
164           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
165           'cobj/src/mali_cobj_surface_operations.c@1693',
166       // Row 4 close
167       '           chrome-1780  [001] ...1   28.563451: tracing_mark_write: ' +
168           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
169           'gles/src/texture/mali_gles_texture_slave.c@1612',
170       // Row 3 close
171       '           chrome-1780  [001] ...1   28.563462: tracing_mark_write: ' +
172           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
173           'gles/src/texture/mali_gles_texture_slave.c@1505',
174       // Row 2 close
175       '           chrome-1780  [001] ...1   28.563475: tracing_mark_write: ' +
176           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
177           'gles/src/texture/mali_gles_texture_api.c@996',
178       // Row 1 close
179       '           chrome-1780  [001] ...1   28.563486: tracing_mark_write: ' +
180           'mali_driver: (mali-1878934320) cros_trace_print_exit: ' +
181           'gles/src/dispatch/mali_gles_dispatch_entrypoints.c@992'
182     ];
183     var traceNoThread =
184         new tracing.TraceModel(linesNoThread.join('\n'), false);
185     var traceWithThread =
186         new tracing.TraceModel(linesWithThread.join('\n'), false);
187     assertFalse(traceNoThread.hasImportWarnings);
188     assertFalse(traceWithThread.hasImportWarnings);
189
190     var threadsNoThread = traceNoThread.getAllThreads();
191     var threadsWithThread = traceWithThread.getAllThreads();
192     assertEquals(1, threadsNoThread.length);
193     assertEquals(1, threadsWithThread.length);
194
195     var maliThreadNoThread = threadsNoThread[0];
196     var maliThreadWithThread = threadsWithThread[0];
197     assertEquals('mali', maliThreadNoThread.tid);
198     assertEquals('mali-1878934320', maliThreadWithThread.tid);
199     assertEquals(9, maliThreadNoThread.sliceGroup.length);
200     assertEquals(9, maliThreadWithThread.sliceGroup.length);
201   });
202
203   test('DVFSFrequencyImport', function() {
204     var lines = [
205       '     kworker/u:0-5     [001] ....  1174.839552: mali_dvfs_set_clock: ' +
206                      'frequency=266',
207       '     kworker/u:0-5     [000] ....  1183.840486: mali_dvfs_set_clock: ' +
208                      'frequency=400'
209     ];
210     var m = new tracing.TraceModel(lines.join('\n'), false);
211     assertFalse(m.hasImportWarnings);
212
213     var counters = m.getAllCounters();
214     assertEquals(1, counters.length);
215
216     var c0 = counters[0];
217     assertEquals(c0.name, 'DVFS Frequency');
218     assertEquals(2, c0.series[0].samples.length);
219   });
220
221   test('DVFSVoltageImport', function() {
222     var lines = [
223       '    kworker/u:0-5     [001] ....  1174.839562: mali_dvfs_set_voltage: ' +
224                      'voltage=937500',
225       '    kworker/u:0-5     [000] ....  1183.840009: mali_dvfs_set_voltage: ' +
226                      'voltage=1100000'
227     ];
228     var m = new tracing.TraceModel(lines.join('\n'), false);
229     assertFalse(m.hasImportWarnings);
230
231     var counters = m.getAllCounters();
232     assertEquals(1, counters.length);
233
234     var c0 = counters[0];
235     assertEquals(c0.name, 'DVFS Voltage');
236     assertEquals(2, c0.series[0].samples.length);
237   });
238
239   test('DVFSUtilizationImport', function() {
240     var lines = [
241       '     kworker/u:0-5     [001] ....  1174.839552: mali_dvfs_event: ' +
242                      'utilization=7',
243       '     kworker/u:0-5     [000] ....  1183.840486: mali_dvfs_event: ' +
244                      'utilization=37'
245     ];
246     var m = new tracing.TraceModel(lines.join('\n'), false);
247     assertFalse(m.hasImportWarnings);
248
249     var counters = m.getAllCounters();
250     assertEquals(1, counters.length);
251
252     var c0 = counters[0];
253     assertEquals(c0.name, 'DVFS Utilization');
254     assertEquals(2, c0.series[0].samples.length);
255   });
256
257   test('maliHWCImport', function() {
258     var lines = [
259       '     kworker/u:0-5     [000] ....    78.896588: ' +
260                      'mali_hwc_ACTIVE: val=238',
261       '     kworker/u:0-5     [000] ....    79.046889: ' +
262                      'mali_hwc_ARITH_CYCLES_L0: val=1967',
263       '     kworker/u:0-5     [000] ....    79.046888: ' +
264                      'mali_hwc_ARITH_CYCLES_REG: val=136',
265       '     kworker/u:0-5     [000] ....    79.046890: ' +
266                      'mali_hwc_ARITH_FRAG_DEPEND: val=19676',
267       '     kworker/u:0-5     [000] ....    79.046886: ' +
268                      'mali_hwc_ARITH_WORDS: val=255543',
269       '     kworker/u:0-5     [000] ....    79.046920: ' +
270                      'mali_hwc_AXI_BEATS_READ: val=257053',
271       '     kworker/u:0-5     [000] ....    78.896594: ' +
272                      'mali_hwc_AXI_TLB_STALL: val=1',
273       '     kworker/u:0-5     [000] ....    78.946646: ' +
274                      'mali_hwc_AXI_TLB_TRANSACTION: val=4',
275       '     kworker/u:0-5     [000] ....    79.046853: ' +
276                      'mali_hwc_BACK_FACING: val=104',
277       '     kworker/u:0-5     [000] ....    79.046880: ' +
278                      'mali_hwc_COMPUTE_ACTIVE: val=17462',
279       '     kworker/u:0-5     [000] ....    79.046884: ' +
280                      'mali_hwc_COMPUTE_CYCLES_DESC: val=3933',
281       '     kworker/u:0-5     [000] ....    79.046881: ' +
282                      'mali_hwc_COMPUTE_TASKS: val=15',
283       '     kworker/u:0-5     [000] ....    79.046883: ' +
284                      'mali_hwc_COMPUTE_THREADS: val=60',
285       '     kworker/u:0-5     [000] ....    79.046860: ' +
286                      'mali_hwc_FRAG_ACTIVE: val=690986',
287       '     kworker/u:0-5     [000] ....    79.046864: ' +
288                      'mali_hwc_FRAG_CYCLE_DESC: val=13980',
289       '     kworker/u:0-5     [000] ....    79.046876: ' +
290                      'mali_hwc_FRAG_CYCLE_NO_TILE: val=3539',
291       '     kworker/u:0-5     [000] ....    79.046865: ' +
292                      'mali_hwc_FRAG_CYCLES_PLR: val=1499',
293       '     kworker/u:0-5     [000] ....    79.046869: ' +
294                      'mali_hwc_FRAG_CYCLES_RAST: val=1999',
295       '     kworker/u:0-5     [000] ....    79.046868: ' +
296                      'mali_hwc_FRAG_CYCLES_TRISETUP: val=22353',
297       '     kworker/u:0-5     [000] ....    79.046867: ' +
298                      'mali_hwc_FRAG_CYCLES_VERT: val=20763',
299       '     kworker/u:0-5     [000] ....    79.046872: ' +
300                      'mali_hwc_FRAG_DUMMY_THREADS: val=1968',
301       '     kworker/u:0-5     [000] ....    79.046877: ' +
302                      'mali_hwc_FRAG_NUM_TILES: val=1840',
303       '     kworker/u:0-5     [000] ....    79.046862: ' +
304                      'mali_hwc_FRAG_PRIMATIVES: val=3752',
305       '     kworker/u:0-5     [000] ....    79.046863: ' +
306                      'mali_hwc_FRAG_PRIMATIVES_DROPPED: val=18',
307       '     kworker/u:0-5     [000] ....    79.046874: ' +
308                      'mali_hwc_FRAG_QUADS_EZS_TEST: val=117925',
309       '     kworker/u:0-5     [000] ....    79.046873: ' +
310                      'mali_hwc_FRAG_QUADS_RAST: val=117889',
311       '     kworker/u:0-5     [000] ....    79.046870: ' +
312                      'mali_hwc_FRAG_THREADS: val=471507',
313       '     kworker/u:0-5     [000] ....    79.046879: ' +
314                      'mali_hwc_FRAG_TRANS_ELIM: val=687',
315       '     kworker/u:0-5     [000] ....    80.315162: ' +
316                      'mali_hwc_FRONT_FACING: val=56',
317       '     kworker/u:0-5     [000] ....    78.896582: ' +
318                      'mali_hwc_GPU_ACTIVE: val=1316',
319       '     kworker/u:0-5     [000] ....    78.896584: ' +
320                      'mali_hwc_IRQ_ACTIVE: val=17',
321       '     kworker/u:0-5     [000] ....    79.046834: ' +
322                      'mali_hwc_JS0_ACTIVE: val=709444',
323       '     kworker/u:0-5     [000] ....    79.046831: ' +
324                      'mali_hwc_JS0_JOBS: val=2',
325       '     kworker/u:0-5     [000] ....    79.046832: ' +
326                      'mali_hwc_JS0_TASKS: val=7263',
327       '     kworker/u:0-5     [000] ....    79.046836: ' +
328                      'mali_hwc_JS0_WAIT_DEPEND: val=665876',
329       '     kworker/u:0-5     [000] ....    79.046835: ' +
330                      'mali_hwc_JS0_WAIT_ISSUE: val=910',
331       '     kworker/u:0-5     [000] ....    79.046840: ' +
332                      'mali_hwc_JS1_ACTIVE: val=153980',
333       '     kworker/u:0-5     [000] ....    79.046838: ' +
334                      'mali_hwc_JS1_JOBS: val=133',
335       '     kworker/u:0-5     [000] ....    79.046839: ' +
336                      'mali_hwc_JS1_TASKS: val=128',
337       '     kworker/u:0-5     [000] ....    79.046843: ' +
338                      'mali_hwc_JS1_WAIT_FINISH: val=74404',
339       '     kworker/u:0-5     [000] ....    79.046842: ' +
340                      'mali_hwc_JS1_WAIT_ISSUE: val=10146',
341       '     kworker/u:0-5     [000] ....    78.896603: ' +
342                      'mali_hwc_L2_ANY_LOOKUP: val=22',
343       '     kworker/u:0-5     [000] ....    79.046942: ' +
344                      'mali_hwc_L2_CLEAN_MISS: val=116',
345       '     kworker/u:0-5     [000] ....    79.063515: ' +
346                      'mali_hwc_L2_EXT_AR_STALL: val=9',
347       '     kworker/u:0-5     [000] ....    78.963384: ' +
348                      'mali_hwc_L2_EXT_BARRIER: val=1',
349       '     kworker/u:0-5     [000] ....    79.063516: ' +
350                      'mali_hwc_L2_EXT_R_BUF_FULL: val=43',
351       '     kworker/u:0-5     [000] ....    78.896611: ' +
352                      'mali_hwc_L2_EXT_READ: val=4',
353       '     kworker/u:0-5     [000] ....    78.896612: ' +
354                      'mali_hwc_L2_EXT_READ_LINE: val=4',
355       '     kworker/u:0-5     [000] ....    79.046956: ' +
356                      'mali_hwc_L2_EXT_R_RAW: val=1',
357       '     kworker/u:0-5     [000] ....    79.063518: ' +
358                      'mali_hwc_L2_EXT_R_W_HAZARD: val=15',
359       '     kworker/u:0-5     [000] ....    78.963381: ' +
360                      'mali_hwc_L2_EXT_WRITE: val=25',
361       '     kworker/u:0-5     [000] ....    79.046952: ' +
362                      'mali_hwc_L2_EXT_WRITE_LINE: val=63278',
363       '     kworker/u:0-5     [000] ....    78.963382: ' +
364                      'mali_hwc_L2_EXT_WRITE_SMALL: val=1',
365       '     kworker/u:0-5     [000] ....    79.814532: ' +
366                      'mali_hwc_L2_EXT_W_STALL: val=9',
367       '     kworker/u:0-5     [000] ....    78.896602: ' +
368                      'mali_hwc_L2_READ_BEATS: val=16',
369       '     kworker/u:0-5     [000] ....    78.896607: ' +
370                      'mali_hwc_L2_READ_HIT: val=11',
371       '     kworker/u:0-5     [000] ....    78.896604: ' +
372                      'mali_hwc_L2_READ_LOOKUP: val=19',
373       '     kworker/u:0-5     [000] ....    78.896606: ' +
374                      'mali_hwc_L2_READ_REPLAY: val=2',
375       '     kworker/u:0-5     [000] ....    79.046940: ' +
376                      'mali_hwc_L2_READ_SNOOP: val=24',
377       '     kworker/u:0-5     [000] ....    79.046959: ' +
378                      'mali_hwc_L2_REPLAY_FULL: val=6629',
379       '     kworker/u:0-5     [000] .N..    80.565684: ' +
380                      'mali_hwc_L2_SNOOP_FULL: val=5',
381       '     kworker/u:0-5     [000] ....    79.046937: ' +
382                      'mali_hwc_L2_SREAD_LOOKUP: val=241',
383       '     kworker/u:0-5     [000] ....    79.046944: ' +
384                      'mali_hwc_L2_SWRITE_LOOKUP: val=133',
385       '     kworker/u:0-5     [000] ....    78.896614: ' +
386                      'mali_hwc_L2_TAG_HAZARD: val=4',
387       '     kworker/u:0-5     [000] ....    78.963368: ' +
388                      'mali_hwc_L2_WRITE_BEATS: val=96',
389       '     kworker/u:0-5     [000] ....    79.046947: ' +
390                      'mali_hwc_L2_WRITE_HIT: val=78265',
391       '     kworker/u:0-5     [000] ....    78.896608: ' +
392                      'mali_hwc_L2_WRITE_LOOKUP: val=3',
393       '     kworker/u:0-5     [000] ....    79.046946: ' +
394                      'mali_hwc_L2_WRITE_REPLAY: val=15879',
395       '     kworker/u:0-5     [000] ....    79.046912: ' +
396                      'mali_hwc_LSC_LINE_FETCHES: val=15',
397       '     kworker/u:0-5     [000] ....    79.046909: ' +
398                      'mali_hwc_LSC_READ_HITS: val=2961',
399       '     kworker/u:0-5     [000] ....    79.046911: ' +
400                      'mali_hwc_LSC_READ_MISSES: val=22',
401       '     kworker/u:0-5     [000] ....    79.046914: ' +
402                      'mali_hwc_LSC_SNOOPS: val=10',
403       '     kworker/u:0-5     [000] ....    79.046893: ' +
404                      'mali_hwc_LS_ISSUES: val=524219',
405       '     kworker/u:0-5     [000] ....    79.046894: ' +
406                      'mali_hwc_LS_REISSUES_MISS: val=439',
407       '     kworker/u:0-5     [000] ....    79.046895: ' +
408                      'mali_hwc_LS_REISSUES_VD: val=52007',
409       '     kworker/u:0-5     [000] ....    79.046919: ' +
410                      'mali_hwc_LS_TLB_HIT: val=3043',
411       '     kworker/u:0-5     [000] ....    79.046918: ' +
412                      'mali_hwc_LS_TLB_MISS: val=5',
413       '     kworker/u:0-5     [000] ....    79.046891: ' +
414                      'mali_hwc_LS_WORDS: val=471514',
415       '     kworker/u:0-5     [000] ....    79.046925: ' +
416                      'mali_hwc_MMU_HIT: val=771',
417       '     kworker/u:0-5     [000] ....    79.046924: ' +
418                      'mali_hwc_MMU_NEW_MISS: val=494',
419       '     kworker/u:0-5     [000] ....    79.046922: ' +
420                      'mali_hwc_MMU_REPLAY_MISS: val=841',
421       '     kworker/u:0-5     [000] ....    79.046921: ' +
422                      'mali_hwc_MMU_TABLE_WALK: val=3119',
423       '     kworker/u:0-5     [000] ....    79.046848: ' +
424                      'mali_hwc_POINTS: val=5',
425       '     kworker/u:0-5     [000] ....    79.046856: ' +
426                      'mali_hwc_PRIM_CLIPPED: val=70',
427       '     kworker/u:0-5     [000] ....    79.046855: ' +
428                      'mali_hwc_PRIM_CULLED: val=26',
429       '     kworker/u:0-5     [000] ....    79.046854: ' +
430                      'mali_hwc_PRIM_VISIBLE: val=109',
431       '     kworker/u:0-5     [000] ....    79.046898: ' +
432                      'mali_hwc_TEX_BUBBLES: val=24874',
433       '     kworker/u:0-5     [000] ....    79.046905: ' +
434                      'mali_hwc_TEX_RECIRC_DESC: val=5937',
435       '     kworker/u:0-5     [000] ....    79.046904: ' +
436                      'mali_hwc_TEX_RECIRC_FMISS: val=209450',
437       '     kworker/u:0-5     [000] ....    78.896592: ' +
438                      'mali_hwc_TEX_RECIRC_MULTI: val=238',
439       '     kworker/u:0-5     [000] ....    79.046908: ' +
440                      'mali_hwc_TEX_RECIRC_PMISS: val=9672',
441       '     kworker/u:0-5     [000] ....    79.046903: ' +
442                      'mali_hwc_TEX_THREADS: val=660900',
443       '     kworker/u:0-5     [000] ....    79.046897: ' +
444                      'mali_hwc_TEX_WORDS: val=471193',
445       '     kworker/u:0-5     [000] ....    79.046901: ' +
446                      'mali_hwc_TEX_WORDS_DESC: val=707',
447       '     kworker/u:0-5     [000] ....    79.046900: ' +
448                      'mali_hwc_TEX_WORDS_L0: val=32',
449       '     kworker/u:0-5     [000] ....    79.046846: ' +
450                      'mali_hwc_TRIANGLES: val=130',
451       '     kworker/u:0-5     [000] ....    79.046885: ' +
452                      'mali_hwc_TRIPIPE_ACTIVE: val=691001',
453       '     kworker/u:0-5     [000] ....    78.896600: ' +
454                      'mali_hwc_UTLB_NEW_MISS: val=6',
455       '     kworker/u:0-5     [000] ....    78.896599: ' +
456                      'mali_hwc_UTLB_REPLAY_FULL: val=248',
457       '     kworker/u:0-5     [000] ....    78.896597: ' +
458                      'mali_hwc_UTLB_REPLAY_MISS: val=1',
459       '     kworker/u:0-5     [000] ....    78.896596: ' +
460                      'mali_hwc_UTLB_STALL: val=1',
461       '     kworker/u:0-5     [000] ....    79.046850: ' +
462                      'mali_hwc_VCACHE_HIT: val=311',
463       '     kworker/u:0-5     [000] ....    79.046851: ' +
464                      'mali_hwc_VCACHE_MISS: val=70'
465     ];
466     var m = new tracing.TraceModel(lines.join('\n'), false);
467     assertFalse(m.hasImportWarnings);
468
469     var counters = m.getAllCounters();
470     assertEquals(103, counters.length);
471
472     // all counters should have 1 sample
473     for (var tI = 0; tI < counters.length; tI++) {
474       var counter = counters[tI];
475       assertEquals(1, counter.series[0].samples.length);
476     }
477     // TODO(sleffler) verify counter names? (not sure if it's worth the effort)
478   });
479 });
480 </script>
481