From 6fb714497df09c789050b3ae421c62335b470aa3 Mon Sep 17 00:00:00 2001 From: Liangliang Gu Date: Tue, 18 Jan 2022 13:16:05 +0800 Subject: [PATCH] cherry pick #479 to release-3.1 Signed-off-by: ti-srebot --- .../java/org/tikv/common/log/SlowLogImpl.java | 11 +++++++---- .../org/tikv/common/log/SlowLogSpanImpl.java | 16 +++++++++------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/tikv/common/log/SlowLogImpl.java b/src/main/java/org/tikv/common/log/SlowLogImpl.java index b49f18b8c2a..2a437a854ac 100644 --- a/src/main/java/org/tikv/common/log/SlowLogImpl.java +++ b/src/main/java/org/tikv/common/log/SlowLogImpl.java @@ -32,8 +32,6 @@ public class SlowLogImpl implements SlowLog { private static final int MAX_SPAN_SIZE = 1024; - public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss.SSS"); - private final List slowLogSpans = new ArrayList<>(); private Throwable error = null; @@ -85,10 +83,11 @@ public void log() { } private String getSlowLogString(long currentMS) { + SimpleDateFormat dateFormat = getSimpleDateFormat(); JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("start", DATE_FORMAT.format(startMS)); - jsonObject.addProperty("end", DATE_FORMAT.format(currentMS)); + jsonObject.addProperty("start", dateFormat.format(startMS)); + jsonObject.addProperty("end", dateFormat.format(currentMS)); jsonObject.addProperty("duration", (currentMS - startMS) + "ms"); if (error != null) { jsonObject.addProperty("error", error.getMessage()); @@ -106,4 +105,8 @@ private String getSlowLogString(long currentMS) { return jsonObject.toString(); } + + public static SimpleDateFormat getSimpleDateFormat() { + return new SimpleDateFormat("HH:mm:ss.SSS"); + } } diff --git a/src/main/java/org/tikv/common/log/SlowLogSpanImpl.java b/src/main/java/org/tikv/common/log/SlowLogSpanImpl.java index 20b95d57127..3a659d685e3 100644 --- a/src/main/java/org/tikv/common/log/SlowLogSpanImpl.java +++ b/src/main/java/org/tikv/common/log/SlowLogSpanImpl.java @@ -17,10 +17,11 @@ package org.tikv.common.log; -import static org.tikv.common.log.SlowLogImpl.DATE_FORMAT; +import static org.tikv.common.log.SlowLogImpl.getSimpleDateFormat; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import java.text.SimpleDateFormat; public class SlowLogSpanImpl implements SlowLogSpan { private final String name; @@ -60,27 +61,28 @@ public void end() { @Override public JsonElement toJsonElement() { + SimpleDateFormat simpleDateFormat = getSimpleDateFormat(); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", name); - jsonObject.addProperty("start", getStartString()); - jsonObject.addProperty("end", getEndString()); + jsonObject.addProperty("start", getStartString(simpleDateFormat)); + jsonObject.addProperty("end", getEndString(simpleDateFormat)); jsonObject.addProperty("duration", getDurationString()); return jsonObject; } - private String getStartString() { + private String getStartString(SimpleDateFormat simpleDateFormat) { if (startMS == 0) { return "N/A"; } - return DATE_FORMAT.format(startMS); + return simpleDateFormat.format(startMS); } - private String getEndString() { + private String getEndString(SimpleDateFormat simpleDateFormat) { if (endMS == 0) { return "N/A"; } - return DATE_FORMAT.format(endMS); + return simpleDateFormat.format(endMS); } private String getDurationString() {