mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-03-07 00:47:39 +00:00
* 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".
This commit is contained in:
parent
a1d705ee1b
commit
0a1c4d10f1
@ -1,3 +1,11 @@
|
||||
2011-11-04 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.
|
||||
|
||||
2011-11-04 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* cp-namespace.c (cp_lookup_symbol_imports): Reindent.
|
||||
|
@ -1,3 +1,7 @@
|
||||
2011-11-04 Doug Evans <dje@google.com>
|
||||
|
||||
* gdb.texinfo (Maintenance Commands): Update docs of "maint time".
|
||||
|
||||
2011-11-03 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* gdb.texinfo (Stopping): Add menu entry.
|
||||
|
@ -32991,13 +32991,16 @@ 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.
|
||||
Printing both is useful when trying to determine whether the cost is
|
||||
CPU or, e.g., disk/network, latency.
|
||||
Note that the CPU time printed is for @value{GDBN} only, it does not include
|
||||
the execution time of the inferior because there's no mechanism currently
|
||||
to compute how much time was spent by @value{GDBN} and how much time was
|
||||
spent by the program been debugged.
|
||||
This can also be requested by invoking @value{GDBN} with the
|
||||
@option{--statistics} command-line switch (@pxref{Mode Options}).
|
||||
|
||||
|
21
gdb/utils.c
21
gdb/utils.c
@ -45,6 +45,7 @@
|
||||
#endif
|
||||
|
||||
#include <signal.h>
|
||||
#include "timeval-utils.h"
|
||||
#include "gdbcmd.h"
|
||||
#include "serial.h"
|
||||
#include "bfd.h"
|
||||
@ -691,7 +692,8 @@ static int display_space;
|
||||
struct cmd_stats
|
||||
{
|
||||
int msg_type;
|
||||
long start_time;
|
||||
long start_cpu_time;
|
||||
struct timeval start_wall_time;
|
||||
long start_space;
|
||||
};
|
||||
|
||||
@ -723,12 +725,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)
|
||||
@ -764,7 +772,8 @@ make_command_stats_cleanup (int msg_type)
|
||||
#endif
|
||||
|
||||
new_stat->msg_type = msg_type;
|
||||
new_stat->start_time = get_run_time ();
|
||||
new_stat->start_cpu_time = get_run_time ();
|
||||
gettimeofday (&new_stat->start_wall_time, NULL);
|
||||
|
||||
return make_cleanup_dtor (report_command_stats, new_stat, xfree);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user