lib/log: add timestamps for spdk_log messages

rocksdb test file changed because
it relied on logs format by doing grep/cut,
so failed after format was changed by this patch.

Change-Id: I81b8747560d7c803faec1650a3ead042bee2508b
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2023
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Vitaliy Mysak 2020-04-24 16:22:49 +02:00 committed by Tomasz Zawadzki
parent ac257bd4d2
commit 419cd3691e
2 changed files with 21 additions and 3 deletions

View File

@ -108,12 +108,29 @@ spdk_log_unwind_stack(FILE *fp, enum spdk_log_level level)
#define spdk_log_unwind_stack(fp, lvl)
#endif
static void
get_timestamp_prefix(char *buf, int buf_size)
{
struct tm *info;
char date[24];
struct timespec ts;
long usec;
clock_gettime(CLOCK_REALTIME, &ts);
info = localtime(&ts.tv_sec);
usec = ts.tv_nsec / 1000;
strftime(date, sizeof(date), "%Y-%m-%d %H:%M:%S", info);
snprintf(buf, buf_size, "[%s.%06ld] ", date, usec);
}
void
spdk_log(enum spdk_log_level level, const char *file, const int line, const char *func,
const char *format, ...)
{
int severity = LOG_INFO;
char buf[MAX_TMPBUF];
char timestamp[32];
va_list ap;
if (g_log) {
@ -150,11 +167,12 @@ spdk_log(enum spdk_log_level level, const char *file, const int line, const char
vsnprintf(buf, sizeof(buf), format, ap);
if (level <= g_spdk_log_print_level) {
get_timestamp_prefix(timestamp, sizeof(timestamp));
if (file) {
fprintf(stderr, "%s:%4d:%s: *%s*: %s", file, line, func, spdk_level_names[level], buf);
fprintf(stderr, "%s%s:%4d:%s: *%s*: %s", timestamp, file, line, func, spdk_level_names[level], buf);
spdk_log_unwind_stack(stderr, level);
} else {
fprintf(stderr, "%s", buf);
fprintf(stderr, "%s%s", timestamp, buf);
}
}

View File

@ -30,7 +30,7 @@ run_step() {
db_bench=$1_db_bench.txt
echo -n Start $1 test phase...
time taskset 0xFF $DB_BENCH --flagfile="$1"_flags.txt &> "$db_bench"
DB_BENCH_FILE=$(grep /dev/shm "$db_bench" | cut -f 6 -d ' ')
DB_BENCH_FILE=$(grep -o '/dev/shm/\(\w\|\.\|\d\|/\)*' "$db_bench")
gzip $DB_BENCH_FILE
mv $DB_BENCH_FILE.gz "$1"_trace.gz
chmod 644 "$1"_trace.gz