Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [RFA, doc RFA] Include wallclock time in "maint time" output.
@ 2011-09-20  5:32 Doug Evans
  2011-09-20  5:42 ` Eli Zaretskii
  2011-10-03 19:11 ` Tom Tromey
  0 siblings, 2 replies; 9+ messages in thread
From: Doug Evans @ 2011-09-20  5:32 UTC (permalink / raw)
  To: gdb-patches

Hi.

It is often useful to see the wallclock time of commands.
This patch adds wallclock time to the output from "maint time 1".

This patch depends on a patch for libiberty, pending approval.
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01118.html
I'll revise this as appropriate, but can I get an RFA on the
addition of wallclock time to the output?

[Other bits of gdb can make use of timeval-utils.h,
that's another patch.]

2011-09-19  Doug Evans  <dje@google.com>

	* utils.c: #include "timeval-utils.h".
	(cmd_stats): Rename start_time to start_cpu_time.
	New member start_wall_time.
	(report_command_stats): Report wall time.
	(make_command_stats_cleanup): Record start wall time.

	doc/
	* gdb.texinfo (Maintenance Commands): Update docs of "maint time".

Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/utils.c,v
retrieving revision 1.261
diff -u -p -r1.261 utils.c
--- utils.c	9 Sep 2011 19:41:14 -0000	1.261
+++ utils.c	20 Sep 2011 03:42:22 -0000
@@ -44,6 +44,7 @@
 #endif
 
 #include <signal.h>
+#include "timeval-utils.h"
 #include "gdbcmd.h"
 #include "serial.h"
 #include "bfd.h"
@@ -641,7 +642,8 @@ static int display_space;
 struct cmd_stats 
 {
   int msg_type;
-  long start_time;
+  struct timeval start_wall_time;
+  long start_cpu_time;
   long start_space;
 };
 
@@ -673,12 +675,18 @@ report_command_stats (void *arg)
 
   if (display_time)
     {
-      long cmd_time = get_run_time () - start_stats->start_time;
+      long cmd_time = get_run_time () - start_stats->start_cpu_time;
+      struct timeval now_wall_time, delta_wall_time;
+
+      gettimeofday (&now_wall_time, NULL);
+      timeval_sub (&delta_wall_time,
+		   &now_wall_time, &start_stats->start_wall_time);
 
       printf_unfiltered (msg_type == 0
-			 ? _("Startup time: %ld.%06ld\n")
-			 : _("Command execution time: %ld.%06ld\n"),
-			 cmd_time / 1000000, cmd_time % 1000000);
+			 ? _("Startup time: %ld.%06ld (cpu), %ld.%06ld (wall)\n")
+			 : _("Command execution time: %ld.%06ld (cpu), %ld.%06ld (wall)\n"),
+			 cmd_time / 1000000, cmd_time % 1000000,
+			 delta_wall_time.tv_sec, delta_wall_time.tv_usec);
     }
 
   if (display_space)
@@ -714,7 +722,8 @@ make_command_stats_cleanup (int msg_type
 #endif
 
   new_stat->msg_type = msg_type;
-  new_stat->start_time = get_run_time ();
+  gettimeofday (&new_stat->start_wall_time, NULL);
+  new_stat->start_cpu_time = get_run_time ();
 
   return make_cleanup_dtor (report_command_stats, new_stat, xfree);
 }
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.862
diff -u -p -r1.862 gdb.texinfo
--- doc/gdb.texinfo	16 Sep 2011 09:07:01 -0000	1.862
+++ doc/gdb.texinfo	20 Sep 2011 04:02:07 -0000
@@ -32240,13 +32240,12 @@ switch (@pxref{Mode Options}).
 @kindex maint time
 @cindex time of command execution
 @item maint time
-Control whether to display the execution time for each command.  If
-set to a nonzero value, @value{GDBN} will display how much time it
+Control whether to display the execution time of @value{GDBN} for each command.
+If set to a nonzero value, @value{GDBN} will display how much time it
 took to execute each command, following the command's own output.
-The time is not printed for the commands that run the target, since
-there's no mechanism currently to compute how much time was spend
-by @value{GDBN} and how much time was spend by the program been debugged.
-it's not possibly currently 
+Both cpu time and wallclock time are printed.
+Note that the cpu time printed is for @value{GDBN} only, it does not include
+the execution time of the inferior.
 This can also be requested by invoking @value{GDBN} with the
 @option{--statistics} command-line switch (@pxref{Mode Options}).
 


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

end of thread, other threads:[~2011-11-04 16:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-20  5:32 [RFA, doc RFA] Include wallclock time in "maint time" output Doug Evans
2011-09-20  5:42 ` Eli Zaretskii
2011-09-20  7:09   ` Doug Evans
2011-09-20  7:19     ` Eli Zaretskii
2011-09-20 15:20       ` Eli Zaretskii
2011-11-03 23:18       ` Doug Evans
2011-11-04  9:01         ` Eli Zaretskii
2011-11-04 16:46           ` Doug Evans
2011-10-03 19:11 ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox