print ms in debug_level 3 logs. Seconds is not enough.

git-svn-id: svn://svn.berlios.de/openocd/trunk@510 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2008-03-13 08:17:01 +00:00
parent b8dab6d056
commit a3dbb9cee6
3 changed files with 20 additions and 3 deletions

View File

@ -35,7 +35,7 @@ int debug_level = -1;
static FILE* log_output;
static log_callback_t *log_callbacks = NULL;
static time_t start;
static long long start;
static char *log_strings[5] =
{
@ -77,7 +77,7 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
if (debug_level >= LOG_DEBUG)
{
/* print with count and time information */
int t=(int)(time(NULL)-start);
int t=(int)(timeval_ms()-start);
fprintf(log_output, "%s %d %d %s:%d %s(): %s", log_strings[level+1], count, t, file, line, function, string);
}
else
@ -191,7 +191,7 @@ int handle_log_output_command(struct command_context_s *cmd_ctx, char *cmd, char
int log_register_commands(struct command_context_s *cmd_ctx)
{
start = time(NULL);
start = timeval_ms();
register_command(cmd_ctx, NULL, "log_output", handle_log_output_command,
COMMAND_ANY, "redirect logging to <file> (default: stderr)");
register_command(cmd_ctx, NULL, "debug_level", handle_debug_level_command,

View File

@ -111,3 +111,18 @@ int duration_stop_measure(duration_t *duration, char **text)
return ERROR_OK;
}
long long timeval_ms()
{
struct timeval now;
long long t=0;
gettimeofday(&now, NULL);
t+=now.tv_usec/1000;
t+=now.tv_sec*1000;
return t;
}

View File

@ -26,6 +26,8 @@
extern int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y);
extern int timeval_add(struct timeval *result, struct timeval *x, struct timeval *y);
extern int timeval_add_time(struct timeval *result, int sec, int usec);
/* gettimeofday() timeval in 64 bit ms */
extern long long timeval_ms();
typedef struct duration_s
{