Re: [PATCH i-g-t 05/11] trace.pl: Fix HTML timestamp generation

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

 



On 7/9/2018 6:19 AM, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

Now that we scale timestamps to get better timeline granularity, the hacky
hand rolled micro-second time to HTML date conversion does no longer cut
it.

Use perl built-in gmtime to handle things properly.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Cc: John Harrison <John.C.Harrison@xxxxxxxxx>
---
  scripts/trace.pl | 15 ++++-----------
  1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/scripts/trace.pl b/scripts/trace.pl
index e2978e5382c2..aeaf2392162e 100755
--- a/scripts/trace.pl
+++ b/scripts/trace.pl
@@ -346,24 +346,17 @@ sub sanitize_ctx
  sub ts
  {
  	my ($us) = @_;
-	my ($d, $h, $m, $s);
+	my ($y, $mo, $d, $h, $m, $s);
$us *= 1000 unless $no_timeline_scaling; $s = int($us / 1000000);
  	$us = $us % 1000000;
- $m = int($s / 60);
-	$s = $s % 60;
+	($s, $m, $h, $d, $mo, $y) = gmtime($s);
- $h = int($m / 60);
-	$m = $m % 60;
-
-	$d = 1 + int($h / 24);
-	$h = $h % 24;
-
-	return sprintf('2017-01-%02u %02u:%02u:%02u.%06u',
-		       int($d), int($h), int($m), int($s), int($us));
+	return sprintf('%04u-%02u-%02u %02u:%02u:%02u.%06u',
+		        1970 + $y, 1 + $mo, $d, $h, $m, $s, int($us));

Maybe not bother with the +1970 in the scaling case given that the whole date thing is meaningless when microseconds become milliseconds? Actually, even in the non-scaling case the epoch is actually whenever the traced system was last booted and not some specific calendar date. So maybe leaving out the offset regardless would make sense?

Again, a minor point so...

Reviewed-by: John Harrison <John.C.Harrison@xxxxxxxxx>


  }
# Main input loop - parse lines and build the internal representation of the

_______________________________________________
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