Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Harrison <John.C.Harrison@Intel.com>
To: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 2/9] trace.pl: Improve readability of graphical timeline representation
Date: Fri, 18 May 2018 11:14:20 -0700	[thread overview]
Message-ID: <c4375bbb-a4bb-b3c9-66ac-acade681ded9@Intel.com> (raw)
In-Reply-To: <20180510101924.20814-2-tvrtko.ursulin@linux.intel.com>

On 5/10/2018 3:19 AM, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> We add stripes for different stages of request execution so it is easier
> to follow one context in the multi-colour mode.
>
> Vertical stripe pattern indicates pipeline "blockages" - requests waiting
> for dependencies before they are runnable.
>
> Diagonal stripes indicate runnable requests waiting for GPU time.
>
> Horizontal strips are requests executing on the GPU.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>   scripts/media-bench.pl |  2 +-
>   scripts/trace.pl       | 29 +++++++++++++++++++----------
>   2 files changed, 20 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/media-bench.pl b/scripts/media-bench.pl
> index 78f45199e95d..c07555b0dc74 100755
> --- a/scripts/media-bench.pl
> +++ b/scripts/media-bench.pl
> @@ -207,7 +207,7 @@ sub trace_workload
>   	show_cmd($cmd);
>   	system($cmd);
>   
> -	$cmd = "perf script | $tracepl --html -x ctxsave -s --squash-ctx-id ";
> +	$cmd = "perf script | $tracepl --html -x ctxsave -s -c --squash-ctx-id ";

Should this be a separate patch? It should at least be mentioned in the 
description.


>   	$cmd .= join ' ', map("-i $_", @skip_engine);
>   	$cmd .= " > ${file}.html";
>   	show_cmd($cmd);
> diff --git a/scripts/trace.pl b/scripts/trace.pl
> index c8182a8ea86d..7f181a3fa2f5 100755
> --- a/scripts/trace.pl
> +++ b/scripts/trace.pl
> @@ -743,9 +743,9 @@ foreach my $key (keys %reqwait) {
>   say sprintf('GPU: %.2f%% idle, %.2f%% busy',
>   	     $flat_busy{'gpu-idle'}, $flat_busy{'gpu-busy'}) unless $html;
>   
> -my $queued_colour = $colour_contexts ? 'multi-colour light' : 'blue';
> -my $runnable_colour = $colour_contexts ? 'multi-colour dark' : 'grey';
> -my $execute_colour = $colour_contexts ? 'multi-colour' : 'pink';
> +my $queued_colour = $colour_contexts ? 'multi-colour light, vertical stripes' : 'blue';
> +my $runnable_colour = $colour_contexts ? 'multi-colour dark, angled stripes' : 'grey';
> +my $execute_colour = $colour_contexts ? 'multi-colour, horizontal stripes' : 'pink';
>   
>   print <<ENDHTML if $html;
>   <!DOCTYPE HTML>
> @@ -896,7 +896,19 @@ sub ctx_colour
The line above here also needs updating to remove the now invalid 
semi-colon. Otherwise non-colour-context mode fails to render anything. 
It just produces errors in the javascript console. Note that I also get 
a complaint in the console about there not being a character encoding 
declaration.
-       return 'Pink;' unless $colour_contexts;
+       return 'Pink' unless $colour_contexts;



>   
>   	$val = int(360 / ($max_ctx - $min_ctx + 1)) * ($ctx - $min_ctx);
>   
> -	return "hsl($val, $s%, $l%);";
> +	return "hsl($val, $s%, $l%)";
> +}
> +
> +sub box_style
> +{
> +	my ($ctx, $deg, $s, $l) = @_;
> +
> +	return 'color: black; background: repeating-linear-gradient(' .
> +		$deg . 'deg, ' .
> +		ctx_colour($ctx, $s, $l) . ', ' .
> +		ctx_colour($ctx, $s, $l) . ' 10px, ' .
> +		ctx_colour($ctx, $s, int($l * 0.90)) . ' 10px, ' .
> +		ctx_colour($ctx, $s, int($l * 0.90)) . ' 20px);';
>   }
>   
>   my $i = 0;
> @@ -913,8 +925,7 @@ foreach my $key (sort sortQueue keys %db) {
>   	# submit to execute
>   	unless (exists $skip_box{'queue'}) {
>   		$skey = 2 * $max_seqno * $ctx + 2 * $seqno;
> -		$style = 'color: black; background-color: ' .
> -			 ctx_colour($ctx, 35, 85);
> +		$style = box_style($ctx, 90, 35, 85);
>   		$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";
> @@ -924,8 +935,7 @@ foreach my $key (sort sortQueue keys %db) {
>   	# execute to start
>   	unless (exists $skip_box{'ready'}) {
>   		$skey = 2 * $max_seqno * $ctx + 2 * $seqno + 1;
> -		$style = 'color: black; background-color: ' .
> -			 ctx_colour($ctx, 35, 45);
> +		$style = box_style($ctx, 45, 35, 45);
>   		$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";
> @@ -938,8 +948,7 @@ foreach my $key (sort sortQueue keys %db) {
>   		if (exists $db{$key}->{'incomplete'}) {
>   			$style = 'color: white; background-color: red;';
>   		} else {
> -			$style = 'color: black; background-color: ' .
> -				  ctx_colour($ctx, 80, 65);
> +			$style = box_style($ctx, 0, 80, 65);
>   		}
>   		$content = "$name <small>$db{$key}->{'port'}</small>";
>   		$content .= ' <small><i>???</i></small> ' if exists $db{$key}->{'incomplete'};

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2018-05-18 18:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-10 10:19 [igt-dev] [PATCH i-g-t 1/9] trace.pl: Add support for colouring context execution Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 2/9] trace.pl: Improve readability of graphical timeline representation Tvrtko Ursulin
2018-05-18 18:14   ` John Harrison [this message]
2018-05-22 11:14     ` [Intel-gfx] [PATCH i-g-t v2 " Tvrtko Ursulin
2018-05-10 10:19 ` [Intel-gfx] [PATCH i-g-t 3/9] trace.pl: Remove context squashing option Tvrtko Ursulin
2018-05-18 18:41   ` [igt-dev] " John Harrison
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 4/9] trace.pl: Fix engine busy accounting in split mode Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 5/9] trace.pl: Skip drawing very short boxes Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 6/9] trace.pl: Context save only applies to last request of a bunch Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 7/9] trace.pl: Fix incomplete request handling Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 8/9] trace.pl: Basic preemption support Tvrtko Ursulin
2018-05-10 10:19 ` [igt-dev] [PATCH i-g-t 9/9] trace.pl: Fix request split mode Tvrtko Ursulin
2018-05-10 10:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] trace.pl: Add support for colouring context execution Patchwork
2018-05-10 11:35 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-05-18 18:22 ` [igt-dev] [PATCH i-g-t 1/9] " John Harrison
2018-05-22 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] trace.pl: Add support for colouring context execution (rev2) Patchwork
2018-05-22 21:11 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c4375bbb-a4bb-b3c9-66ac-acade681ded9@Intel.com \
    --to=john.c.harrison@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox