Skip to content

Commit 091ce30

Browse files
committed
improve banner, support app_name, start_time. #2990
1 parent 3144514 commit 091ce30

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

core/src/main/java/com/taobao/arthas/core/util/ArthasBanner.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,25 @@ public static String welcome() {
112112

113113
public static String welcome(Map<String, String> infos) {
114114
logger.info("Current arthas version: {}, recommend latest version: {}", version(), latestVersion());
115+
String appName = System.getProperty("project.name");
116+
if (appName == null) {
117+
appName = System.getProperty("app.name");
118+
}
119+
if (appName == null) {
120+
appName = System.getProperty("spring.application.name");
121+
}
115122
TableElement table = new TableElement().rightCellPadding(1)
116123
.row("wiki", wiki())
117124
.row("tutorials", tutorials())
118125
.row("version", version())
119-
.row("main_class", PidUtils.mainClass())
120-
.row("pid", PidUtils.currentPid())
121-
.row("time", DateUtils.getCurrentDateTime());
126+
.row("main_class", PidUtils.mainClass());
127+
128+
if (appName != null) {
129+
table.row("app_name", appName);
130+
}
131+
table.row("pid", PidUtils.currentPid())
132+
.row("start_time", DateUtils.getStartDateTime())
133+
.row("currnt_time", DateUtils.getCurrentDateTime());
122134
for (Entry<String, String> entry : infos.entrySet()) {
123135
table.row(entry.getKey(), entry.getValue());
124136
}

core/src/main/java/com/taobao/arthas/core/util/DateUtils.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.taobao.arthas.core.util;
22

3+
import java.lang.management.ManagementFactory;
4+
import java.lang.management.RuntimeMXBean;
5+
import java.time.Instant;
36
import java.time.LocalDateTime;
7+
import java.time.ZoneId;
48
import java.time.format.DateTimeFormatter;
59

610
/**
@@ -21,4 +25,16 @@ public static String getCurrentDateTime() {
2125
public static String formatDateTime(LocalDateTime dateTime) {
2226
return DATE_TIME_FORMATTER.format(dateTime);
2327
}
28+
29+
public static String getStartDateTime() {
30+
try {
31+
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
32+
long startTime = runtimeMXBean.getStartTime();
33+
Instant startInstant = Instant.ofEpochMilli(startTime);
34+
LocalDateTime startDateTime = LocalDateTime.ofInstant(startInstant, ZoneId.systemDefault());
35+
return DATE_TIME_FORMATTER.format(startDateTime);
36+
} catch (Throwable e) {
37+
return "unknown";
38+
}
39+
}
2440
}

0 commit comments

Comments
 (0)