All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] trace-cmd: Some minor updates and a timestamp checker
@ 2020-12-01 18:36 Steven Rostedt
  2020-12-01 18:36 ` [PATCH 1/3] trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff Steven Rostedt
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Steven Rostedt @ 2020-12-01 18:36 UTC (permalink / raw)
  To: linux-trace-devel

Steven Rostedt (VMware) (3):
      trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff
      trace-cmd: Add reference to trace-cmd.org in README
      trace-cmd: Add --ts-check option to report

----
 Documentation/trace-cmd-report.1.txt |  4 ++++
 README                               |  3 +++
 tracecmd/trace-read.c                | 27 ++++++++++++++++++++++++++-
 tracecmd/trace-usage.c               |  3 ++-
 4 files changed, 35 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff
  2020-12-01 18:36 [PATCH 0/3] trace-cmd: Some minor updates and a timestamp checker Steven Rostedt
@ 2020-12-01 18:36 ` Steven Rostedt
  2020-12-01 18:36 ` [PATCH 2/3] trace-cmd: Add reference to trace-cmd.org in README Steven Rostedt
  2020-12-01 18:36 ` [PATCH 3/3] trace-cmd: Add --ts-check option to report Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2020-12-01 18:36 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

The "--ts-diff" description in "trace-cmd report -h" is not lined up with
the other long options. Fix the whitespace so that it is.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 tracecmd/trace-usage.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tracecmd/trace-usage.c b/tracecmd/trace-usage.c
index 79610bd36bb7..5d73c5982984 100644
--- a/tracecmd/trace-usage.c
+++ b/tracecmd/trace-usage.c
@@ -228,7 +228,7 @@ static struct usage_help usage_help[] = {
 		"                     to convert the displayed timestamps to seconds\n"
 		"                     Affects the previous data file, unless there was no\n"
 		"                     previous data file, in which case it becomes default\n"
-		"           --ts-diff Show the delta timestamp between events.\n"
+		"          --ts-diff Show the delta timestamp between events.\n"
 	},
 	{
 		"stream",
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] trace-cmd: Add reference to trace-cmd.org in README
  2020-12-01 18:36 [PATCH 0/3] trace-cmd: Some minor updates and a timestamp checker Steven Rostedt
  2020-12-01 18:36 ` [PATCH 1/3] trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff Steven Rostedt
@ 2020-12-01 18:36 ` Steven Rostedt
  2020-12-01 18:36 ` [PATCH 3/3] trace-cmd: Add --ts-check option to report Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2020-12-01 18:36 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

This repo is mirrored in my personal github account, but that account is not
mirrored, and there's been people submitting issues there. Add to the
README, a reference to trace-cmd.org so that people will hopefully know the
correct way to contribute.

Reported-by: David Runge (on IRC)
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 README | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README b/README
index fb06e754ee76..11531524e3bc 100644
--- a/README
+++ b/README
@@ -1,4 +1,7 @@
 
+
+  For more information on contributing please see: https://www.trace-cmd.org
+
 Note: The official repositiory for trace-cmd and KernelShark is here:
 
  git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] trace-cmd: Add --ts-check option to report
  2020-12-01 18:36 [PATCH 0/3] trace-cmd: Some minor updates and a timestamp checker Steven Rostedt
  2020-12-01 18:36 ` [PATCH 1/3] trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff Steven Rostedt
  2020-12-01 18:36 ` [PATCH 2/3] trace-cmd: Add reference to trace-cmd.org in README Steven Rostedt
@ 2020-12-01 18:36 ` Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2020-12-01 18:36 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Add a --ts-check option to trace-cmd report that will make sure that the
timestamps do not go backwards, and will print out an error message if they
do.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 Documentation/trace-cmd-report.1.txt |  4 ++++
 tracecmd/trace-read.c                | 27 ++++++++++++++++++++++++++-
 tracecmd/trace-usage.c               |  1 +
 3 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/Documentation/trace-cmd-report.1.txt b/Documentation/trace-cmd-report.1.txt
index 864eb2d71f6a..de616cf4b47a 100644
--- a/Documentation/trace-cmd-report.1.txt
+++ b/Documentation/trace-cmd-report.1.txt
@@ -305,6 +305,10 @@ OPTIONS
      Show the time differences between events. The difference will appear in
      parenthesis just after the timestamp.
 
+*--ts-check*::
+     Make sure no timestamp goes backwards, and if it does, print out a warning
+     message of the fact.
+
 EXAMPLES
 --------
 
diff --git a/tracecmd/trace-read.c b/tracecmd/trace-read.c
index e18110745d37..8932c18db25b 100644
--- a/tracecmd/trace-read.c
+++ b/tracecmd/trace-read.c
@@ -99,6 +99,7 @@ static int no_irqs;
 static int no_softirqs;
 
 static int tsdiff;
+static int tscheck;
 
 static int latency_format;
 static bool raw_format;
@@ -1192,6 +1193,7 @@ enum output_type {
 static void read_data_info(struct list_head *handle_list, enum output_type otype,
 			   int global)
 {
+	unsigned long long *last_timestamp;
 	struct handle_list *handles;
 	struct handle_list *last_handle;
 	struct tep_record *record;
@@ -1216,6 +1218,10 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
 		print_handle_file(handles);
 		printf("cpus=%d\n", cpus);
 
+		last_timestamp = calloc(cpus, sizeof(*last_timestamp));
+		if (!last_timestamp)
+			die("allocating timestamps");
+
 		/* Latency trace is just all ASCII */
 		if (ret > 0) {
 			if (multi_inputs)
@@ -1286,6 +1292,8 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
 
 		list_for_each_entry(handles, handle_list, list) {
 			record = get_next_record(handles);
+			if (!record)
+				continue;
 			if (!last_record ||
 			    (record && record->ts < last_record->ts)) {
 				last_record = record;
@@ -1293,12 +1301,24 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
 			}
 		}
 		if (last_record) {
+			int cpu = last_record->cpu;
+			if (cpu >= cpus)
+				die("cpu %d creater than %d\n", cpu, cpus);
+			if (tscheck && last_timestamp[cpu] > last_record->ts)
+				errno = 0;
+				warning("WARNING: Record on cpu %d went backwards: %lld to %lld delta: -%lld\n",
+					cpu, last_timestamp[cpu],
+					last_record->ts,
+					last_timestamp[cpu] - last_record->ts);
+			last_timestamp[cpu] = last_record->ts;
 			print_handle_file(last_handle);
 			trace_show_data(last_handle->handle, last_record);
 			free_handle_record(last_handle);
 		}
 	} while (last_record);
 
+	free(last_timestamp);
+
 	if (profile)
 		do_trace_profile();
 
@@ -1463,7 +1483,8 @@ static void add_hook(const char *arg)
 }
 
 enum {
-	OPT_version	= 238,
+	OPT_version	= 237,
+	OPT_tscheck	= 238,
 	OPT_tsdiff	= 239,
 	OPT_ts2secs	= 240,
 	OPT_tsoffset	= 241,
@@ -1550,6 +1571,7 @@ void trace_report (int argc, char **argv)
 			{"ts-offset", required_argument, NULL, OPT_tsoffset},
 			{"ts2secs", required_argument, NULL, OPT_ts2secs},
 			{"ts-diff", no_argument, NULL, OPT_tsdiff},
+			{"ts-check", no_argument, NULL, OPT_tscheck},
 			{"help", no_argument, NULL, '?'},
 			{NULL, 0, NULL, 0}
 		};
@@ -1719,6 +1741,9 @@ void trace_report (int argc, char **argv)
 		case OPT_tsdiff:
 			tsdiff = 1;
 			break;
+		case OPT_tscheck:
+			tscheck = 1;
+			break;
 		default:
 			usage(argv);
 		}
diff --git a/tracecmd/trace-usage.c b/tracecmd/trace-usage.c
index 5d73c5982984..0a338ed7d19c 100644
--- a/tracecmd/trace-usage.c
+++ b/tracecmd/trace-usage.c
@@ -229,6 +229,7 @@ static struct usage_help usage_help[] = {
 		"                     Affects the previous data file, unless there was no\n"
 		"                     previous data file, in which case it becomes default\n"
 		"          --ts-diff Show the delta timestamp between events.\n"
+		"          --ts-check Check to make sure no time stamp on any CPU goes backwards.\n"
 	},
 	{
 		"stream",
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-12-01 18:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-01 18:36 [PATCH 0/3] trace-cmd: Some minor updates and a timestamp checker Steven Rostedt
2020-12-01 18:36 ` [PATCH 1/3] trace-cmd: Fix whitespace in usage message of trace-cmd report --ts-diff Steven Rostedt
2020-12-01 18:36 ` [PATCH 2/3] trace-cmd: Add reference to trace-cmd.org in README Steven Rostedt
2020-12-01 18:36 ` [PATCH 3/3] trace-cmd: Add --ts-check option to report Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.