package art.servers.gui.components; import art.library.gui.flat.FlatPanel; import art.library.gui.flat.FlatTabbedPane; import art.library.gui.flat.FlatTableInput; import art.library.model.devices.application.ApplicationStatus; import art.library.utils.common.DateUtils; import art.servers.Shared; import java.awt.BorderLayout; import java.awt.Dimension; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import javax.swing.SwingConstants; public class PanelProcess_Information extends FlatPanel { private FlatTableInput table1 = null; private FlatTableInput table2 = null; private FlatTableInput table3 = null; private FlatTableInput table4 = null; public PanelProcess_Information() { initialise(); } public void reload(ApplicationStatus status) { SimpleDateFormat formato1 = new SimpleDateFormat(Shared.getMessage("dd/MM/yyyy HH:mm:ss")); DecimalFormat formato2 = new DecimalFormat("###,###.##"); table1.setValue(Shared.getMessage("Timestamp"), formato1.format(status.system.timestamp)); table1.setValue(Shared.getMessage("Name"), status.system.name); table1.setValue(Shared.getMessage("Version"), status.system.version); table1.setValue(Shared.getMessage("Architecture"), status.system.arch); table1.setValue(Shared.getMessage("Available processors"), status.system.availableProcessors); table1.setValue(Shared.getMessage("System cpu current"), String.format("%.1f", status.system.systemCpuLoad * 100)); table1.setValue(Shared.getMessage("System cpu average"), String.format("%.1f", status.system.systemLoadAverage)); table1.setValue(Shared.getMessage("Total physical memory size"), formato2.format(status.system.totalPhysicalMemorySize/1048576L)); table1.setValue(Shared.getMessage("Used physical memory size"), formato2.format((status.system.totalPhysicalMemorySize - status.system.freePhysicalMemorySize) / 1048576)); table1.setValue(Shared.getMessage("Free physical memory size"), formato2.format(status.system.freePhysicalMemorySize/1048576L)); table1.setValue(Shared.getMessage("Committed virtual memory size"), formato2.format(status.system.committedVirtualMemorySize/1048576L)); table1.setValue(Shared.getMessage("Total swap space size"), formato2.format(status.system.totalSwapSpaceSize/1048576L)); table1.setValue(Shared.getMessage("Free swap space size"), formato2.format(status.system.freeSwapSpaceSize/1048576L)); table2.setValue(Shared.getMessage("Timestamp"), formato1.format(status.runtime.timestamp)); table2.setValue(Shared.getMessage("Start time"), formato1.format(status.runtime.startTime)); table2.setValue(Shared.getMessage("Up time"), DateUtils.getTimeddHHMMSS(status.runtime.upTime)); table2.setValue(Shared.getMessage("Process cpu time"), DateUtils.getTimeddHHMMSS(status.system.processCpuTime/1000000L)); table2.setValue(Shared.getMessage("Process cpu current"), String.format("%.1f", status.system.processCpuLoad * 100)); table2.setValue(Shared.getMessage("Process cpu average"), String.format("%.1f", 100*(((double)status.system.processCpuTime/1000000)/(double)status.runtime.upTime))); table2.setValue(Shared.getMessage("Java specification version"), status.runtime.javaVmSpecificationVersion); table2.setValue(Shared.getMessage("Java runtime version"), status.runtime.javaRuntimeVersion); table2.setValue(Shared.getMessage("Java class version"), status.runtime.javaClassVersion); table2.setValue(Shared.getMessage("Time zone"), status.runtime.userTimeZone); table2.setValue(Shared.getMessage("Country"), status.runtime.userCountry); table2.setValue(Shared.getMessage("Language"), status.runtime.userLanguage); table3.setValue(Shared.getMessage("Timestamp"), formato1.format(status.memory.timestamp)); table3.setValue(Shared.getMessage("Used memory"), formato2.format(status.memory.usedMemory/1048576L)); table3.setValue(Shared.getMessage("Heap memory usage init"), formato2.format(status.memory.heapMemoryUsage_init/1048576L)); table3.setValue(Shared.getMessage("Heap memory usage used"), formato2.format(status.memory.heapMemoryUsage_used/1048576L)); table3.setValue(Shared.getMessage("Heap memory usage commited"), formato2.format(status.memory.heapMemoryUsage_committed/1048576L)); table3.setValue(Shared.getMessage("Heap memory usage max"), formato2.format(status.memory.heapMemoryUsage_max/1048576L)); table3.setValue(Shared.getMessage("Non heap memory usage init"), formato2.format(status.memory.nonheapMemoryUsage_init/1048576L)); table3.setValue(Shared.getMessage("Non heap memory usage used"), formato2.format(status.memory.nonheapMemoryUsage_used/1048576L)); table3.setValue(Shared.getMessage("Non heap memory usage commited"), formato2.format(status.memory.nonheapMemoryUsage_committed/1048576L)); table3.setValue(Shared.getMessage("Non heap memory usage max"), formato2.format(status.memory.nonheapMemoryUsage_max/1048576L)); table4.setValue(Shared.getMessage("Timestamp"), formato1.format(status.thread.timestamp)); table4.setValue(Shared.getMessage("Thread count"), formato2.format(status.thread.threadCount)); table4.setValue(Shared.getMessage("Peak thread count"), formato2.format(status.thread.peakThreadCount)); table4.setValue(Shared.getMessage("Total started thread count"), formato2.format(status.thread.totalStartedThreadCount)); table4.setValue(Shared.getMessage("Daemon thread count"), formato2.format(status.thread.daemonThreadCount)); } private void initialise() { FlatPanel panel1 = new FlatPanel(); { } FlatPanel panel2 = new FlatPanel(); { FlatTabbedPane flatTabbedPane1 = new FlatTabbedPane(); { FlatPanel panel2_1 = new FlatPanel(); { table1 = new FlatTableInput(250); { table1.addTextField(Shared.getMessage("Timestamp"), 22); table1.addTextField(Shared.getMessage("Name"), 22); table1.addTextField(Shared.getMessage("Version"), 22); table1.addTextField(Shared.getMessage("Architecture"), 22); table1.addTextField(Shared.getMessage("Available processors"), 22); table1.addTextField(Shared.getMessage("System cpu current"), 22); table1.addTextField(Shared.getMessage("System cpu average"), 22); table1.addTextField(Shared.getMessage("Total physical memory size"), 22); table1.addTextField(Shared.getMessage("Used physical memory size"), 22); table1.addTextField(Shared.getMessage("Free physical memory size"), 22); table1.addTextField(Shared.getMessage("Committed virtual memory size"), 22); table1.addTextField(Shared.getMessage("Total swap space size"), 22); table1.addTextField(Shared.getMessage("Free swap space size"), 22); table1.setMeasurementUnits(Shared.getMessage("System cpu current"), Shared.getMessage("%"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("System cpu average"), Shared.getMessage("%"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Total physical memory size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Used physical memory size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Free physical memory size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Committed virtual memory size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Total swap space size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setMeasurementUnits(Shared.getMessage("Free swap space size"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table1.setEditable(false); table1.revalidate(); } panel2_1.setLayout(new BorderLayout()); panel2_1.setPreferredSize(new Dimension(0, table1.getDimensionHeight() + 1)); panel2_1.add(table1.getScrollPane(), BorderLayout.CENTER); flatTabbedPane1.addTab(Shared.getMessage("System"), panel2_1); } FlatPanel panel2_2 = new FlatPanel(); { table2 = new FlatTableInput(250); { table2.addTextField(Shared.getMessage("Timestamp"), 22); table2.addTextField(Shared.getMessage("Start time"), 22); table2.addTextField(Shared.getMessage("Up time"), 22); table2.addTextField(Shared.getMessage("Process cpu time"), 22); table2.addTextField(Shared.getMessage("Process cpu current"), 22); table2.addTextField(Shared.getMessage("Process cpu average"), 22); table2.addTextField(Shared.getMessage("Java specification version"), 22); table2.addTextField(Shared.getMessage("Java runtime version"), 22); table2.addTextField(Shared.getMessage("Java class version"), 22); table2.addTextField(Shared.getMessage("Time zone"), 22); table2.addTextField(Shared.getMessage("Country"), 22); table2.addTextField(Shared.getMessage("Language"), 22); table2.setMeasurementUnits(Shared.getMessage("Up time"), Shared.getMessage("d,HH:mm:ss"), 100, SwingConstants.CENTER); table2.setMeasurementUnits(Shared.getMessage("Process cpu time"), Shared.getMessage("d, HH:mm:ss"), 100, SwingConstants.CENTER); table2.setMeasurementUnits(Shared.getMessage("Process cpu current"), Shared.getMessage("%"), 100, SwingConstants.CENTER); table2.setMeasurementUnits(Shared.getMessage("Process cpu average"), Shared.getMessage("%"), 100, SwingConstants.CENTER); table2.setEditable(false); table2.revalidate(); } panel2_2.setLayout(new BorderLayout()); panel2_2.setPreferredSize(new Dimension(0, table2.getDimensionHeight() + 1)); panel2_2.add(table2.getScrollPane(), BorderLayout.CENTER); flatTabbedPane1.addTab(Shared.getMessage("Process runtime"), panel2_2); } FlatPanel panel2_3 = new FlatPanel(); { table3 = new FlatTableInput(250); { table3.addTextField(Shared.getMessage("Timestamp"), 22); table3.addTextField(Shared.getMessage("Used memory"), 22); table3.addTextField(Shared.getMessage("Heap memory usage init"), 22); table3.addTextField(Shared.getMessage("Heap memory usage used"), 22); table3.addTextField(Shared.getMessage("Heap memory usage commited"), 22); table3.addTextField(Shared.getMessage("Heap memory usage max"), 22); table3.addTextField(Shared.getMessage("Non heap memory usage init"), 22); table3.addTextField(Shared.getMessage("Non heap memory usage used"), 22); table3.addTextField(Shared.getMessage("Non heap memory usage commited"), 22); table3.addTextField(Shared.getMessage("Non heap memory usage max"), 22); table3.setMeasurementUnits(Shared.getMessage("Heap memory usage init"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Heap memory usage used"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Heap memory usage commited"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Heap memory usage max"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Non heap memory usage init"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Non heap memory usage used"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Non heap memory usage commited"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setMeasurementUnits(Shared.getMessage("Non heap memory usage max"), Shared.getMessage("MB"), 100, SwingConstants.CENTER); table3.setEditable(false); table3.revalidate(); } panel2_3.setLayout(new BorderLayout()); panel2_3.setPreferredSize(new Dimension(0, table3.getDimensionHeight() + 1)); panel2_3.add(table3.getScrollPane(), BorderLayout.CENTER); flatTabbedPane1.addTab(Shared.getMessage("Process memory"), panel2_3); } FlatPanel panel2_4 = new FlatPanel(); { table4 = new FlatTableInput(250); { table4.addTextField(Shared.getMessage("Timestamp"), 22); table4.addTextField(Shared.getMessage("Total started thread count"), 22); table4.addTextField(Shared.getMessage("Thread count"), 22); table4.addTextField(Shared.getMessage("Peak thread count"), 22); table4.addTextField(Shared.getMessage("Daemon thread count"), 22); table4.setEditable(false); table4.revalidate(); } panel2_4.setLayout(new BorderLayout()); panel2_4.setPreferredSize(new Dimension(0, table4.getDimensionHeight() + 1)); panel2_4.add(table4.getScrollPane(), BorderLayout.CENTER); flatTabbedPane1.addTab(Shared.getMessage("Process threads"), panel2_4); } } panel2.setLayout(new BorderLayout()); panel2.setPreferredSize(new Dimension(0, table1.getDimensionHeight() + 1)); panel2.add(flatTabbedPane1, BorderLayout.CENTER); } this.setLayout(new BorderLayout()); this.add(panel1, BorderLayout.NORTH); this.add(panel2, BorderLayout.CENTER); } }