From f6fe8b913483f7eaa453d3512cedd714d9073bb9 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Fri, 21 Oct 2022 11:51:28 +0800 Subject: [PATCH] http api monitor command return timestamp. close #2320 --- .../command/monitor200/MonitorAdviceListener.java | 1 + .../core/command/monitor200/MonitorData.java | 14 ++++++++++++++ .../arthas/core/command/view/MonitorView.java | 3 +-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorAdviceListener.java b/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorAdviceListener.java index 9e21056c6..1870fa69f 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorAdviceListener.java +++ b/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorAdviceListener.java @@ -160,6 +160,7 @@ class MonitorAdviceListener extends AdviceListenerAdapter { MonitorData oData = value.get(); MonitorData nData = new MonitorData(); nData.setCost(oData.getCost() + cost); + nData.setTimestamp(new Date()); if (isThrowing) { nData.setFailed(oData.getFailed() + 1); nData.setSuccess(oData.getSuccess()); diff --git a/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorData.java b/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorData.java index 9646dcfd7..d060cd453 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorData.java +++ b/core/src/main/java/com/taobao/arthas/core/command/monitor200/MonitorData.java @@ -1,5 +1,7 @@ package com.taobao.arthas.core.command.monitor200; +import java.util.Date; + /** * 数据监控用的value for MonitorCommand * @@ -12,6 +14,7 @@ public class MonitorData { private int success; private int failed; private double cost; + private Date timestamp; public String getClassName() { return className; @@ -60,4 +63,15 @@ public class MonitorData { public void setCost(double cost) { this.cost = cost; } + + public Date getTimestamp() { + if (timestamp == null) { + timestamp = new Date(); + } + return timestamp; + } + + public void setTimestamp(Date timestamp) { + this.timestamp = timestamp; + } } diff --git a/core/src/main/java/com/taobao/arthas/core/command/view/MonitorView.java b/core/src/main/java/com/taobao/arthas/core/command/view/MonitorView.java index de99a0a8d..0907abf42 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/view/MonitorView.java +++ b/core/src/main/java/com/taobao/arthas/core/command/view/MonitorView.java @@ -9,7 +9,6 @@ import com.taobao.text.util.RenderUtil; import java.text.DecimalFormat; import java.text.SimpleDateFormat; -import java.util.Date; import static com.taobao.text.ui.Element.label; @@ -34,7 +33,7 @@ public class MonitorView extends ResultView { for (MonitorData data : result.getMonitorDataList()) { table.row( - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()), + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(data.getTimestamp()), data.getClassName(), data.getMethodName(), "" + data.getTotal(),