From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: linux-trace-devel@vger.kernel.org
Cc: Yordan Karadzhov <ykaradzhov@vmware.com>,
Steven Rostedt <rostedt@goodmis.org>,
kernel@pengutronix.de
Subject: [PATCH] Fix formatting of fixed-point numbers to not skip zeros
Date: Thu, 10 Jan 2019 22:43:46 +0100 [thread overview]
Message-ID: <20190110214346.8054-1-u.kleine-koenig@pengutronix.de> (raw)
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]').
---
kernel-shark-qt/src/KsTraceGraph.cpp | 10 +++++-----
python/event-viewer.py | 4 ++--
python/tracecmd.py | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/kernel-shark-qt/src/KsTraceGraph.cpp b/kernel-shark-qt/src/KsTraceGraph.cpp
index 462918f8a37a..844c79494e9b 100644
--- a/kernel-shark-qt/src/KsTraceGraph.cpp
+++ b/kernel-shark-qt/src/KsTraceGraph.cpp
@@ -279,7 +279,7 @@ void KsTraceGraph::_resetPointer(uint64_t ts, int cpu, int pid)
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 @@ void KsTraceGraph::_setPointerInfo(size_t i)
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 @@ void KsTraceGraph::_updateTimeLegends()
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 651761a083c9..3a082b81fc3d 100755
--- a/python/event-viewer.py
+++ b/python/event-viewer.py
@@ -203,8 +203,8 @@ class EventView(gtk.TreeView):
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 1267941aa388..f551a1489e25 100644
--- a/python/tracecmd.py
+++ b/python/tracecmd.py
@@ -62,7 +62,7 @@ class Event(object, DictMixin):
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)
--
2.20.1
next reply other threads:[~2019-01-10 21:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-10 21:43 Uwe Kleine-König [this message]
2019-01-10 21:48 ` [PATCH] Fix formatting of fixed-point numbers to not skip zeros Steven Rostedt
2019-01-11 9:09 ` Yordan Karadzhov
2019-01-11 9:24 ` Uwe Kleine-König
2019-01-11 14:29 ` Steven Rostedt
2019-01-11 15:05 ` [PATCH v2] " Uwe Kleine-König
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=20190110214346.8054-1-u.kleine-koenig@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=kernel@pengutronix.de \
--cc=linux-trace-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=ykaradzhov@vmware.com \
/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;
as well as URLs for NNTP newsgroup(s).