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