summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-08-25 18:21:12 +0200
committerSimon Rettberg2015-08-25 18:21:12 +0200
commit6426cafcf65c8cda7b740ce5b2174d23165b2396 (patch)
treeb7ac311790042f7f1272a71d7bd21a436806fabe
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.tar.gz
tutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.tar.xz
tutor-module-6426cafcf65c8cda7b740ce5b2174d23165b2396.zip
[client] Display memory usage
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java56
1 files changed, 46 insertions, 10 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
index bb62da38..b6727d2c 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
@@ -15,8 +15,10 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
+import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
@@ -46,7 +48,10 @@ import org.openslx.dozmod.gui.window.VirtualizerNoticeWindow;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.dozmod.thrift.GuiErrorCallback;
import org.openslx.dozmod.thrift.Session;
+import org.openslx.dozmod.util.FormatHelper;
import org.openslx.thrifthelper.ThriftManager;
+import org.openslx.util.QuickTimer;
+import org.openslx.util.QuickTimer.Task;
public abstract class MainWindow {
@@ -310,7 +315,7 @@ public abstract class MainWindow {
JMenuBar menuBar = new JMenuBar();
mainWindow.setJMenuBar(menuBar);
- JMenu cascadeFileMenu = new JMenu("File");
+ JMenu cascadeFileMenu = new JMenu("Session");
menuBar.add(cascadeFileMenu);
JMenuItem logoutItem = new JMenuItem("Logout");
@@ -318,6 +323,21 @@ public abstract class MainWindow {
JMenuItem exitItem = new JMenuItem("Exit");
cascadeFileMenu.add(exitItem);
+ // the About menu button
+ JMenu cascadeAboutMenu = new JMenu("About");
+ menuBar.add(cascadeAboutMenu);
+
+ JMenuItem disclaimerItem = new JMenuItem("Disclaimer");
+ JMenuItem virtualizerNoticeItem = new JMenuItem("Virtualizer");
+ cascadeAboutMenu.add(disclaimerItem);
+ cascadeAboutMenu.add(virtualizerNoticeItem);
+
+ menuBar.add(Box.createHorizontalGlue());
+ final JLabel memStats = new JLabel();
+ menuBar.add(memStats);
+
+ // Define actions
+
logoutItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -333,15 +353,6 @@ public abstract class MainWindow {
}
});
- // the About menu button
- JMenu cascadeAboutMenu = new JMenu("About");
- menuBar.add(cascadeAboutMenu);
-
- JMenuItem disclaimerItem = new JMenuItem("Disclaimer");
- JMenuItem virtualizerNoticeItem = new JMenuItem("Virtualizer");
- cascadeAboutMenu.add(disclaimerItem);
- cascadeAboutMenu.add(virtualizerNoticeItem);
-
disclaimerItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -355,6 +366,31 @@ public abstract class MainWindow {
VirtualizerNoticeWindow.open(mainWindow);
}
});
+
+ // Debug label
+
+ QuickTimer.scheduleAtFixedDelay(new Task() {
+
+ @Override
+ public void fire() {
+ Runtime rt = Runtime.getRuntime();
+ long maxMemory = rt.maxMemory();
+ long totalMemory = rt.totalMemory();
+ long usedMemory = totalMemory - rt.freeMemory();
+ String txt = "[" + FormatHelper.bytes(usedMemory, false) + "/"
+ + FormatHelper.bytes(totalMemory, false);
+ if (maxMemory != Long.MAX_VALUE) {
+ txt += ", limit: " + FormatHelper.bytes(maxMemory, false);
+ }
+ final String labelText = txt + "]";
+ Gui.asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ memStats.setText(labelText);
+ }
+ });
+ }
+ }, 10, 2001);
}
}