Commit 419cd369 authored by Vitaliy Mysak's avatar Vitaliy Mysak Committed by Tomasz Zawadzki
Browse files

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: default avatarVitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2023


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent ac257bd4
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -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);
		}
	}

+1 −1
Original line number Diff line number Diff line
@@ -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