1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
package com.gitblit.instance;
import com.gitblit.models.ServerStatus;
import java.util.Date;
/**
* GitblitInstanceStat collects the static information about a Gitblit instance,
* such as its version, type, operating system and other static data.
*
*/
class GitblitInstanceStat
{
enum GitblitInstanceType {
GO,
WAR,
EXPRESS,
DOCKER
}
final GitblitInstanceType instanceType;
String version;
Date startTs;
String os;
String osName;
String osVersion;
String osArch;
String javaVersion;
String javaVendor;
String javaRuntimeVersion;
String javaRuntimeName;
String javaVmVersion;
String javaVmName;
long maxMem;
GitblitInstanceStat()
{
this.instanceType = GitblitInstanceType.WAR;
initOS();
initJava();
}
GitblitInstanceStat(GitblitInstanceType instanceType)
{
this.instanceType = instanceType;
initOS();
initJava();
}
GitblitInstanceStat init(ServerStatus serverStatus)
{
this.version = serverStatus.version;
this.startTs = serverStatus.bootDate;
this.maxMem = serverStatus.heapMaximum;
return this;
}
void initOS()
{
String os = System.getProperty("os.name");
if (os == null) {
this.os = "Unknown";
} else {
String oslc = os.toLowerCase();
if (oslc.contains("windows")) {
this.os = "Windows";
} else if (oslc.contains("linux")) {
this.os = "Linux";
} else if (oslc.contains("mac") || oslc.contains("darwin")) {
this.os = "macOS";
} else if (oslc.contains("bsd")) {
this.os = "BSD";
} else if (oslc.contains("solaris") || oslc.contains("sun") ||
oslc.contains("aix") || oslc.contains("hpux") || oslc.contains("unix")) {
this.os = "Unix";
} else {
this.os = os;
}
}
this.osName = System.getProperty("os.name");
this.osVersion = System.getProperty("os.version");
this.osArch = System.getProperty("os.arch");
}
void initJava()
{
this.javaVersion = System.getProperty("java.version");
this.javaVendor = System.getProperty("java.vendor");
this.javaRuntimeVersion = System.getProperty("java.runtime.version", "");
this.javaRuntimeName = System.getProperty("java.runtime.name", "");
this.javaVmVersion = System.getProperty("java.vm.version", "");
this.javaVmName = System.getProperty("java.vm.name", "");
}
@Override
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append("GitblitInstanceStat {")
.append("\n instanceType: ").append(instanceType)
.append(",\n version: ").append(version)
.append(",\n startTs: ").append(startTs)
.append(",\n os: ").append(os)
.append(",\n osName: ").append(osName)
.append(",\n osVersion: ").append(osVersion)
.append(",\n osArch: ").append(osArch)
.append(",\n javaVersion: ").append(javaVersion)
.append(",\n javaVendor: ").append(javaVendor)
.append(",\n javaRuntimeVersion: ").append(javaRuntimeVersion)
.append(",\n javaRuntimeName: ").append(javaRuntimeName)
.append(",\n javaVmVersion: ").append(javaVmVersion)
.append(",\n javaVmName: ").append(javaVmName)
.append(",\n maxMem: ").append(maxMem)
.append("\n}");
return sb.toString();
}
}
|