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