From patchwork Fri Jan 11 15:05:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 10758211 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 988741515 for ; Fri, 11 Jan 2019 15:05:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8600C29C71 for ; Fri, 11 Jan 2019 15:05:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7990F2A02D; Fri, 11 Jan 2019 15:05:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D11229C79 for ; Fri, 11 Jan 2019 15:05:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389841AbfAKPFp (ORCPT ); Fri, 11 Jan 2019 10:05:45 -0500 Received: from metis.ext.pengutronix.de ([85.220.165.71]:39861 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730940AbfAKPFo (ORCPT ); Fri, 11 Jan 2019 10:05:44 -0500 Received: from pty.hi.pengutronix.de ([2001:67c:670:100:1d::c5]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1ghyNT-00042b-I8; Fri, 11 Jan 2019 16:05:43 +0100 Received: from ukl by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1ghyNR-0003XB-9w; Fri, 11 Jan 2019 16:05:41 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: linux-trace-devel@vger.kernel.org Cc: kernel@pengutronix.de, Yordan Karadzhov , Steven Rostedt Subject: [PATCH v2] Fix formatting of fixed-point numbers to not skip zeros Date: Fri, 11 Jan 2019 16:05:36 +0100 Message-Id: <20190111150536.28204-1-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190111092954.05966ae8@gandalf.local.home> References: <20190111092954.05966ae8@gandalf.local.home> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c5 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-trace-devel@vger.kernel.org Sender: linux-trace-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-trace-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Signed-off-by: Uwe Kleine-König --- 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)