mirror of https://github.com/apache/nifi.git
NIFI-3405 - Add uptime to JVM section in System Diagnostics
renamed column for node connection date in cluster This closes #1492. Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
This commit is contained in:
parent
6fc30900b9
commit
86fb67d55c
|
@ -58,6 +58,8 @@ public class SystemDiagnosticsSnapshotDTO implements Cloneable {
|
|||
private Integer totalThreads;
|
||||
private Integer daemonThreads;
|
||||
|
||||
private String uptime;
|
||||
|
||||
private StorageUsageDTO flowFileRepositoryStorageUsage;
|
||||
private Set<StorageUsageDTO> contentRepositoryStorageUsage;
|
||||
private Set<GarbageCollectionDTO> garbageCollection;
|
||||
|
@ -315,6 +317,15 @@ public class SystemDiagnosticsSnapshotDTO implements Cloneable {
|
|||
this.versionInfo = versionInfo;
|
||||
}
|
||||
|
||||
@ApiModelProperty("The uptime of the Java virtual machine")
|
||||
public String getUptime() {
|
||||
return uptime;
|
||||
}
|
||||
|
||||
public void setUptime(String uptime) {
|
||||
this.uptime = uptime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SystemDiagnosticsSnapshotDTO clone() {
|
||||
final SystemDiagnosticsSnapshotDTO other = new SystemDiagnosticsSnapshotDTO();
|
||||
|
@ -358,6 +369,8 @@ public class SystemDiagnosticsSnapshotDTO implements Cloneable {
|
|||
|
||||
other.setVersionInfo(getVersionInfo().clone());
|
||||
|
||||
other.setUptime(getUptime());
|
||||
|
||||
return other;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ public class SystemDiagnostics implements Cloneable {
|
|||
private int totalThreads;
|
||||
private int daemonThreads;
|
||||
|
||||
private long uptime;
|
||||
|
||||
private StorageUsage flowFileRepositoryStorageUsage;
|
||||
private Map<String, StorageUsage> contentRepositoryStorageUsage;
|
||||
private Map<String, GarbageCollection> garbageCollection;
|
||||
|
@ -181,6 +183,14 @@ public class SystemDiagnostics implements Cloneable {
|
|||
this.creationTimestamp = creationTimestamp;
|
||||
}
|
||||
|
||||
public long getUptime() {
|
||||
return uptime;
|
||||
}
|
||||
|
||||
public void setUptime(long uptime) {
|
||||
this.uptime = uptime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SystemDiagnostics clone() {
|
||||
final SystemDiagnostics clonedObj = new SystemDiagnostics();
|
||||
|
@ -212,6 +222,7 @@ public class SystemDiagnostics implements Cloneable {
|
|||
clonedObj.usedHeap = usedHeap;
|
||||
clonedObj.usedNonHeap = usedNonHeap;
|
||||
clonedObj.creationTimestamp = creationTimestamp;
|
||||
clonedObj.uptime = uptime;
|
||||
|
||||
return clonedObj;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.lang.management.ManagementFactory;
|
|||
import java.lang.management.MemoryMXBean;
|
||||
import java.lang.management.MemoryUsage;
|
||||
import java.lang.management.OperatingSystemMXBean;
|
||||
import java.lang.management.RuntimeMXBean;
|
||||
import java.lang.management.ThreadMXBean;
|
||||
import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
|
@ -52,6 +53,7 @@ public class SystemDiagnosticsFactory {
|
|||
final OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
|
||||
final ThreadMXBean threads = ManagementFactory.getThreadMXBean();
|
||||
final List<GarbageCollectorMXBean> garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans();
|
||||
final RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
|
||||
|
||||
systemDiagnostics.setDaemonThreads(threads.getDaemonThreadCount());
|
||||
systemDiagnostics.setTotalThreads(threads.getThreadCount());
|
||||
|
@ -64,6 +66,8 @@ public class SystemDiagnosticsFactory {
|
|||
systemDiagnostics.setUsedNonHeap(nonHeap.getUsed());
|
||||
systemDiagnostics.setMaxNonHeap(nonHeap.getMax());
|
||||
|
||||
systemDiagnostics.setUptime(runtime.getUptime());
|
||||
|
||||
systemDiagnostics.setAvailableProcessors(os.getAvailableProcessors());
|
||||
|
||||
final double systemLoad = os.getSystemLoadAverage();
|
||||
|
|
|
@ -2409,6 +2409,9 @@ public final class DtoFactory {
|
|||
final SystemDiagnosticsSnapshotDTO.VersionInfoDTO versionInfoDto = createVersionInfoDTO();
|
||||
snapshot.setVersionInfo(versionInfoDto);
|
||||
|
||||
// uptime
|
||||
snapshot.setUptime(FormatUtils.formatHoursMinutesSeconds(sysDiagnostics.getUptime(), TimeUnit.MILLISECONDS));
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
|
|
@ -127,6 +127,24 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting">
|
||||
<div class="setting-header">Runtime</div>
|
||||
<div id="jvm-runtime-container" class="setting-field">
|
||||
<table id="jvm-runtime-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="setting-name">Uptime:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span id="uptime"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="system-tab-content"class="configuration-tab">
|
||||
<div class="settings-left">
|
||||
|
|
|
@ -181,6 +181,15 @@
|
|||
resizable: true,
|
||||
cssClass: 'cell-right',
|
||||
headerCssClass: 'header-right'
|
||||
},
|
||||
{
|
||||
id: 'uptime',
|
||||
field: 'uptime',
|
||||
name: 'Uptime',
|
||||
sortable: true,
|
||||
resizable: true,
|
||||
cssClass: 'cell-right',
|
||||
headerCssClass: 'header-right'
|
||||
}
|
||||
],
|
||||
tableIdColumn: 'id',
|
||||
|
@ -496,7 +505,7 @@
|
|||
{
|
||||
id: 'uptime',
|
||||
field: 'nodeStartTime',
|
||||
name: 'Uptime',
|
||||
name: 'Started At',
|
||||
formatter: valueFormatter,
|
||||
resizable: true,
|
||||
sortable: true,
|
||||
|
@ -944,7 +953,8 @@
|
|||
gcOldGen: garbageCollection[0].collectionCount + ' times (' +
|
||||
garbageCollection[0].collectionTime + ')',
|
||||
gcNewGen: garbageCollection[1].collectionCount + ' times (' +
|
||||
garbageCollection[1].collectionTime + ')'
|
||||
garbageCollection[1].collectionTime + ')',
|
||||
uptime: snapshot.uptime
|
||||
});
|
||||
});
|
||||
jvmTab.rowCount = jvmTableRows.length;
|
||||
|
|
|
@ -2299,6 +2299,9 @@
|
|||
addGarbageCollection(garbageCollectionContainer, garbageCollection);
|
||||
});
|
||||
}
|
||||
|
||||
// uptime
|
||||
$('#uptime').text(aggregateSnapshot.uptime);
|
||||
|
||||
// available processors
|
||||
$('#available-processors').text(aggregateSnapshot.availableProcessors);
|
||||
|
|
Loading…
Reference in New Issue