kernel-shark-qt: Fix formatting of fixed-point numbers to not skip zeros
When a timestamp that represents 1.00001 is converted to (for example)
seconds and microseconds this results in seconds=1 and useconds=10. To
format that into a string requires the format %lu.%06lu to yield
"1.000010". Some code parts used %lu.%lu however which results in "1.10"
which is wrong.
This was noticed because I failed to find a significant location in a trace
provided by a colleague as the reported timestamp was wrong :-|
This change fixes all occurrences of this problem found by
$(grep -E '\.%[^0s]').
Reviewed-by: Yordan Karadzhov <ykaradzhov@vmware.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
diff --git a/kernel-shark-qt/src/KsTraceGraph.cpp b/kernel-shark-qt/src/KsTraceGraph.cpp
index 462918f..844c794 100644
--- a/kernel-shark-qt/src/KsTraceGraph.cpp
+++ b/kernel-shark-qt/src/KsTraceGraph.cpp
@@ -279,7 +279,7 @@
QString pointer;
kshark_convert_nano(ts, &sec, &usec);
- pointer.sprintf("%lu.%lu", sec, usec);
+ pointer.sprintf("%lu.%06lu", sec, usec);
_labelP2.setText(pointer);
if (pid > 0 && cpu >= 0) {
@@ -315,7 +315,7 @@
uint64_t sec, usec;
kshark_convert_nano(e->ts, &sec, &usec);
- pointer.sprintf("%lu.%lu", sec, usec);
+ pointer.sprintf("%lu.%06lu", sec, usec);
_labelP2.setText(pointer);
comm.append("-");
@@ -601,17 +601,17 @@
QString tMin, tMid, tMax;
kshark_convert_nano(_glWindow.model()->histo()->min, &sec, &usec);
- tMin.sprintf("%lu.%lu", sec, usec);
+ tMin.sprintf("%lu.%06lu", sec, usec);
_labelXMin.setText(tMin);
tsMid = (_glWindow.model()->histo()->min +
_glWindow.model()->histo()->max) / 2;
kshark_convert_nano(tsMid, &sec, &usec);
- tMid.sprintf("%lu.%lu", sec, usec);
+ tMid.sprintf("%lu.%06lu", sec, usec);
_labelXMid.setText(tMid);
kshark_convert_nano(_glWindow.model()->histo()->max, &sec, &usec);
- tMax.sprintf("%lu.%lu", sec, usec);
+ tMax.sprintf("%lu.%06lu", sec, usec);
_labelXMax.setText(tMax);
}
diff --git a/python/event-viewer.py b/python/event-viewer.py
index 651761a..3a082b8 100755
--- a/python/event-viewer.py
+++ b/python/event-viewer.py
@@ -203,8 +203,8 @@
return False
if data == "ts":
- cell.set_property("markup", "%d.%d" % (ev.ts/1000000000,
- ev.ts%1000000000))
+ cell.set_property("markup", "%d.%09d" % (ev.ts/1000000000,
+ ev.ts%1000000000))
data_func_cnt = data_func_cnt + 1
if app:
app.inc_data_func()
diff --git a/python/tracecmd.py b/python/tracecmd.py
index 1267941..f551a14 100644
--- a/python/tracecmd.py
+++ b/python/tracecmd.py
@@ -62,7 +62,7 @@
self._format = format
def __str__(self):
- return "%d.%d CPU%d %s: pid=%d comm=%s type=%d" % \
+ return "%d.%09d CPU%d %s: pid=%d comm=%s type=%d" % \
(self.ts/1000000000, self.ts%1000000000, self.cpu, self.name,
self.num_field("common_pid"), self.comm, self.type)