summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-07-09 13:06:11 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-07-12 10:21:06 +0100
commit3d1c6b1a62024450c7aff7908cc62efaed6f1e29 (patch)
treede8f365c0e1baed71e90cf801f949ceed7f2f075
parentfae19c94920cff2a7132ed6721f813b923ddbf60 (diff)
trace.pl: Put single context at single vertical slot
Turn off timeline stacking in favour of putting all the boxes belonging to a single context at the same vertical slot. Also remove the custom sorting function in favour of correctly assigning the subgroup id's and order which greatly speeds up the library operations. And finally remove the 'Toggle stacking' button which never worked. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
-rwxr-xr-xscripts/trace.pl25
1 files changed, 6 insertions, 19 deletions
diff --git a/scripts/trace.pl b/scripts/trace.pl
index fa38e041..c9d01896 100755
--- a/scripts/trace.pl
+++ b/scripts/trace.pl
@@ -740,9 +740,6 @@ print <<ENDHTML if $html;
<link href="node_modules/vis//dist/vis.css" rel="stylesheet" type="text/css" />
</head>
<body>
-
-<button onclick="toggleStackSubgroups()">Toggle stacking</button>
-
<p>
$execute_colour = requests executing on the GPU<br>
$runnable_colour = runnable requests waiting for a slot on GPU<br>
@@ -903,6 +900,7 @@ foreach my $key (sort sortQueue keys %db) {
my $submit = $queue + $db{$key}->{'submit-delay'};
my ($content, $style);
my $group = $engine_start_id + $rings{$db{$key}->{'ring'}};
+ my $subgroup = $ctx - $min_ctx;
my $type = ' type: \'range\',';
my $startend;
my $skey;
@@ -914,7 +912,7 @@ foreach my $key (sort sortQueue keys %db) {
ctx_colour($ctx, 'queue');
$content = "$name<br>$db{$key}->{'submit-delay'}us <small>($db{$key}->{'execute-delay'}us)</small>";
$startend = 'start: \'' . ts($queue) . '\', end: \'' . ts($submit) . '\'';
- print "\t{id: $i, key: $skey, $type group: $group, subgroup: 1, subgroupOrder: 1, content: '$content', $startend, style: \'$style\'},\n";
+ print "\t{id: $i, key: $skey, $type group: $group, subgroup: $subgroup, subgroupOrder: $subgroup, content: '$content', $startend, style: \'$style\'},\n";
$i++;
}
@@ -925,7 +923,7 @@ foreach my $key (sort sortQueue keys %db) {
ctx_colour($ctx, 'ready');
$content = "<small>$name<br>$db{$key}->{'execute-delay'}us</small>";
$startend = 'start: \'' . ts($submit) . '\', end: \'' . ts($start) . '\'';
- print "\t{id: $i, key: $skey, $type group: $group, subgroup: 1, subgroupOrder: 2, content: '$content', $startend, style: \'$style\'},\n";
+ print "\t{id: $i, key: $skey, $type group: $group, subgroup: $subgroup, subgroupOrder: $subgroup, content: '$content', $startend, style: \'$style\'},\n";
$i++;
}
@@ -944,7 +942,7 @@ foreach my $key (sort sortQueue keys %db) {
$content .= ' <small><i>+</i></small> ' if exists $db{$key}->{'no-notify'};
$content .= "<br>$db{$key}->{'duration'}us <small>($db{$key}->{'context-complete-delay'}us)</small>";
$startend = 'start: \'' . ts($start) . '\', end: \'' . ts($notify) . '\'';
- print "\t{id: $i, key: $skey, $type group: $group, subgroup: 2, subgroupOrder: 3, content: '$content', $startend, style: \'$style\'},\n";
+ print "\t{id: $i, key: $skey, $type group: $group, subgroup: $subgroup, subgroupOrder: $subgroup, content: '$content', $startend, style: \'$style\'},\n";
$i++;
}
@@ -958,7 +956,7 @@ foreach my $key (sort sortQueue keys %db) {
$content .= ' <small><i>++</i></small> ' if exists $db{$key}->{'no-end'};
$content .= ' <small><i>+</i></small> ' if exists $db{$key}->{'no-notify'};
$startend = 'start: \'' . ts($notify) . '\', end: \'' . ts($end) . '\'';
- print "\t{id: $i, key: $skey, $type group: $group, subgroup: 2, subgroupOrder: 4, content: '$content', $startend, style: \'$style\'},\n";
+ print "\t{id: $i, key: $skey, $type group: $group, subgroup: $subgroup, subgroupOrder: $subgroup, content: '$content', $startend, style: \'$style\'},\n";
$i++;
}
@@ -1001,29 +999,18 @@ $first_ts = ts($first_ts);
print <<ENDHTML;
]);
- function customOrder (a, b) {
- // order by id
- return a.subgroupOrder - b.subgroupOrder;
- }
-
// Configuration for the Timeline
var options = { groupOrder: 'content',
horizontalScroll: true,
- stack: true,
+ stack: false,
stackSubgroups: false,
zoomKey: 'ctrlKey',
orientation: 'top',
- order: customOrder,
start: '$first_ts',
end: '$end_ts'};
// Create a Timeline
var timeline = new vis.Timeline(container, items, groups, options);
-
- function toggleStackSubgroups() {
- options.stackSubgroups = !options.stackSubgroups;
- timeline.setOptions(options);
- }
ENDHTML
print <<ENDHTML;