Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / importer / trace_event_importer_test.js
index 34bbd25..451d250 100644 (file)
@@ -48,7 +48,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals(0, slice.subSlices.length);
   });
 
-  test('basicSingleThreadNonnestedParsingWiththreadDuration', function() {
+  test('basicSingleThreadNonnestedParsingWithCpuDuration', function() {
     var events = [
       {name: 'a', args: {}, pid: 52, ts: 520, cat: 'foo', tid: 53, ph: 'B', tts: 221}, // @suppress longLineCheck
       {name: 'a', args: {}, pid: 52, ts: 560, cat: 'foo', tid: 53, ph: 'E', tts: 259}, // @suppress longLineCheck
@@ -71,7 +71,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals('foo', slice.category);
     assertEquals(0, slice.start);
     assertAlmostEquals((560 - 520) / 1000, slice.duration);
-    assertAlmostEquals((259 - 221) / 1000, slice.threadDuration);
+    assertAlmostEquals((259 - 221) / 1000, slice.cpuDuration);
     assertEquals(0, slice.subSlices.length);
 
     slice = t.sliceGroup.slices[1];
@@ -79,7 +79,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals('bar', slice.category);
     assertAlmostEquals((629 - 520) / 1000, slice.start);
     assertAlmostEquals((631 - 629) / 1000, slice.duration);
-    assertAlmostEquals((331 - 329) / 1000, slice.threadDuration);
+    assertAlmostEquals((331 - 329) / 1000, slice.cpuDuration);
     assertEquals(0, slice.subSlices.length);
   });
 
@@ -171,7 +171,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals(0.001, sA.start);
     assertEquals(0.003, sA.duration);
     assertEquals(0.002, sA.selfTime);
-    assertEquals(0.001, sA.threadSelfTime);
+    assertEquals(0.001, sA.cpuSelfTime);
 
     assertEquals('b', sB.title);
     assertEquals('bar', sB.category);
@@ -204,7 +204,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals(0.001, sA.start);
     assertEquals(0.007, sA.duration);
     assertEquals(0.004, sA.selfTime);
-    assertEquals(0.005, sA.threadSelfTime);
+    assertEquals(0.005, sA.cpuSelfTime);
 
     assertEquals('b', sB.title);
     assertEquals('bar', sB.category);
@@ -726,23 +726,23 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     ctr.addSeries(value1Series);
     ctr.addSeries(value2Series);
 
-    value1Series.addSample(0, 0);
-    value1Series.addSample(1, 1);
-    value1Series.addSample(2, 1);
-    value1Series.addSample(3, 2);
-    value1Series.addSample(4, 3);
-    value1Series.addSample(5, 1);
-    value1Series.addSample(6, 3);
-    value1Series.addSample(7, 3.1);
-
-    value2Series.addSample(0, 0);
-    value2Series.addSample(1, 0);
-    value2Series.addSample(2, 1);
-    value2Series.addSample(3, 1.1);
-    value2Series.addSample(4, 0);
-    value2Series.addSample(5, 7);
-    value2Series.addSample(6, 0);
-    value2Series.addSample(7, 0.5);
+    value1Series.addCounterSample(0, 0);
+    value1Series.addCounterSample(1, 1);
+    value1Series.addCounterSample(2, 1);
+    value1Series.addCounterSample(3, 2);
+    value1Series.addCounterSample(4, 3);
+    value1Series.addCounterSample(5, 1);
+    value1Series.addCounterSample(6, 3);
+    value1Series.addCounterSample(7, 3.1);
+
+    value2Series.addCounterSample(0, 0);
+    value2Series.addCounterSample(1, 0);
+    value2Series.addCounterSample(2, 1);
+    value2Series.addCounterSample(3, 1.1);
+    value2Series.addCounterSample(4, 0);
+    value2Series.addCounterSample(5, 7);
+    value2Series.addCounterSample(6, 0);
+    value2Series.addCounterSample(7, 0.5);
 
     ctr.updateBounds();
 
@@ -1151,9 +1151,9 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals(0.0, t.samples_[0].start);
     assertEquals(0.0, t.samples_[1].start);
     assertApproxEquals(0.01, t.samples_[2].start);
-    assertEquals('a', t.samples_[0].title);
-    assertEquals('b', t.samples_[1].title);
-    assertEquals('c', t.samples_[2].title);
+    assertEquals('a', t.samples_[0].leafStackFrame.title);
+    assertEquals('b', t.samples_[1].leafStackFrame.title);
+    assertEquals('c', t.samples_[2].leafStackFrame.title);
     assertFalse(m.hasImportWarnings);
   });
 
@@ -1510,7 +1510,7 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertAlmostEquals(10 / 1000, slice.duration);
   });
 
-  test('importCompleteEventWithThreadDuration', function() {
+  test('importCompleteEventWithCpuDuration', function() {
     var events = [
       { name: 'a', args: {}, pid: 52, ts: 629, dur: 1, cat: 'baz', tid: 53, ph: 'X', tts: 12, tdur: 1 },  // @suppress longLineCheck
       { name: 'b', args: {}, pid: 52, ts: 730, dur: 20, cat: 'foo', tid: 53, ph: 'X', tts: 110, tdur: 16 },  // @suppress longLineCheck
@@ -1533,8 +1533,8 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals('baz', slice.category);
     assertAlmostEquals(0, slice.start);
     assertAlmostEquals(1 / 1000, slice.duration);
-    assertAlmostEquals(12 / 1000, slice.threadStart);
-    assertAlmostEquals(1 / 1000, slice.threadDuration);
+    assertAlmostEquals(12 / 1000, slice.cpuStart);
+    assertAlmostEquals(1 / 1000, slice.cpuDuration);
     assertEquals(0, slice.subSlices.length);
 
     slice = t.sliceGroup.slices[1];
@@ -1542,8 +1542,8 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
     assertEquals('foo', slice.category);
     assertAlmostEquals((730 - 629) / 1000, slice.start);
     assertAlmostEquals(20 / 1000, slice.duration);
-    assertAlmostEquals(110 / 1000, slice.threadStart);
-    assertAlmostEquals(16 / 1000, slice.threadDuration);
+    assertAlmostEquals(110 / 1000, slice.cpuStart);
+    assertAlmostEquals(16 / 1000, slice.cpuDuration);
     assertEquals(1, slice.subSlices.length);
 
     slice = t.sliceGroup.slices[2];
@@ -1608,6 +1608,70 @@ tvcm.unittest.testSuite('tracing.importer.trace_event_importer_test', function()
       assertEquals(subSlices[i].args['seq'], i);
   });
 
+  test('sampleDataSimple', function() {
+    var events = {
+      'traceEvents': [],
+      'stackFrames': {
+        '1': {
+          'category': 'mod',
+          'name': 'main'
+        },
+        '2': {
+          'category': 'mod',
+          'name': 'a',
+          'parent': 1
+        },
+        '3': {
+          'category': 'mod',
+          'name': 'a_sub',
+          'parent': 2
+        },
+        '4': {
+          'category': 'mod',
+          'name': 'b',
+          'parent': 1
+        }
+      },
+      'samples': [
+        {
+          'cpu': 0, 'tid': 1, 'ts': 1000.0,
+          'name': 'cycles:HG', 'sf': 3, 'weight': 1
+        },
+        {
+          'cpu': 0, 'tid': 1, 'ts': 2000.0,
+          'name': 'cycles:HG', 'sf': 2, 'weight': 1
+        },
+        {
+          'cpu': 1, 'tid': 1, 'ts': 3000.0,
+          'name': 'cycles:HG', 'sf': 3, 'weight': 1
+        }
+      ]
+    };
+    var m = new tracing.TraceModel(events, false);
+    assertNotUndefined(m.kernel.cpus[0]);
+    assertEquals(1, m.getAllThreads().length);
+
+    assertEquals(4, tvcm.dictionaryKeys(m.stackFrames).length);
+    assertEquals(3, m.samples.length);
+
+    var t1 = m.processes[1].threads[1];
+    assertEquals(3, t1.samples.length);
+
+    var c0 = m.kernel.cpus[0];
+    var c1 = m.kernel.cpus[1];
+    assertEquals(2, c0.samples.length);
+    assertEquals(1, c1.samples.length);
+
+    assertEquals(c0, m.samples[0].cpu);
+    assertEquals(t1, m.samples[0].thread);
+    assertEquals('cycles:HG', m.samples[0].title);
+    assertEquals(1, m.samples[0].start);
+    assertArrayEquals(
+        ['main', 'a', 'a_sub'],
+        m.samples[0].stackTrace.map(function(x) { return x.title; }));
+    assertEquals(1, m.samples[0].weight);
+  });
+
   // TODO(nduca): one slice, two threads
   // TODO(nduca): one slice, two pids