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:
parent
ac257bd4d2
commit
419cd3691e
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user