Re: [igt-dev] [PATCH i-g-t 1/9] trace.pl: Improve time axis labels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/07/2018 11:59, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

It is possible to customize the axis display so change it to display
timestamps in seconds on the major axis (with six decimal spaces) and
relative millisecond offsets on the minor axis.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: John Harrison <John.C.Harrison@xxxxxxxxx>
---
  scripts/trace.pl | 32 ++++++++++++++++++++++++++++++++
  1 file changed, 32 insertions(+)

diff --git a/scripts/trace.pl b/scripts/trace.pl
index fc1713e4f9a7..89491125490d 100755
--- a/scripts/trace.pl
+++ b/scripts/trace.pl
@@ -1000,6 +1000,37 @@ $first_ts = ts($first_ts);
  print <<ENDHTML;
    ]);
+ var last_major_ms;
+
+  function majorAxis(date, scale, step) {
+	var s = date / 1000;
+
+	last_major_ms = date;
+
+	if (scale == 'millisecond')
+		return s.toFixed(6) + "s";
+	else if (scale == 'second')
+		return s.toFixed(3) + "s";
+	else
+		return s.toFixed(0) + "s";
+  }
+
+  function minorAxis(date, scale, step) {
+	var ms = date;
+
+	ms -= last_major_ms;

This logic is unfortunately a bit dodgy. It looked like major label is getting called before the minor ones, so I thought I could calculate the relative offset for the minor for a more readable display. But after scrolling and zooming around timelines some more I can see cases where that doesn't seem to be the case.

Please have a play and if you think it is bad they only option will be to absolute time for minor labels as well.

Regards,

Tvrtko

+
+	if (ms < 0)
+		return '';
+
+	if (scale == 'millisecond')
+		return "+" + ms.toFixed(3) + "ms";
+	else if (scale == 'second')
+		return ms.toFixed(3) + "s";
+	else
+		return ms.toFixed(0) + "s";
+  }
+
    // Configuration for the Timeline
    var options = { groupOrder: 'content',
  		  horizontalScroll: true,
@@ -1007,6 +1038,7 @@ print <<ENDHTML;
  		  stackSubgroups: false,
  		  zoomKey: 'ctrlKey',
  		  orientation: 'top',
+		  format: { majorLabels: majorAxis, minorLabels: minorAxis },
  		  start: '$first_ts',
  		  end: '$end_ts'};
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux