comparison src/org/dancres/blitz/tools/dash/StatsFrame.java @ 23:28c84687bdb8

Add an additional option on Dashboard to display full stats as raw strings.
author Dan Creswell <dan.creswell@gmail.com>
date Fri, 28 Aug 2009 21:01:04 +0100
parents 3dc0c5604566
children
comparison
equal deleted inserted replaced
22:b7e52953b7a6 23:28c84687bdb8
22 import javax.swing.JOptionPane; 22 import javax.swing.JOptionPane;
23 import javax.swing.JPanel; 23 import javax.swing.JPanel;
24 import javax.swing.JScrollPane; 24 import javax.swing.JScrollPane;
25 import javax.swing.JTabbedPane; 25 import javax.swing.JTabbedPane;
26 import javax.swing.JTable; 26 import javax.swing.JTable;
27 import javax.swing.JTextArea;
27 import javax.swing.JTree; 28 import javax.swing.JTree;
28 import javax.swing.table.TableColumn; 29 import javax.swing.table.TableColumn;
29 import javax.swing.table.TableColumnModel; 30 import javax.swing.table.TableColumnModel;
30 import javax.swing.table.DefaultTableCellRenderer; 31 import javax.swing.table.DefaultTableCellRenderer;
31 import javax.swing.tree.DefaultMutableTreeNode; 32 import javax.swing.tree.DefaultMutableTreeNode;
50 //added for FieldsStats 51 //added for FieldsStats
51 private TypeTreeView _treeTypeView=new TypeTreeView(); 52 private TypeTreeView _treeTypeView=new TypeTreeView();
52 //add for Outrigger views 53 //add for Outrigger views
53 private Object _adminProxy; 54 private Object _adminProxy;
54 private JFrame _frame; 55 private JFrame _frame;
56 private JTextArea _textArea = new JTextArea();
55 57
56 public static final int OPSTATS = 0; 58 public static final int OPSTATS = 0;
57 public static final int INSTANCES = 1; 59 public static final int INSTANCES = 1;
58 public static final int MEMORY = 2; 60 public static final int MEMORY = 2;
59 public static final int TXNS = 3; 61 public static final int TXNS = 3;
60 public static final int BLOCKERS = 4; 62 public static final int BLOCKERS = 4;
63 public static final int RAW = 5;
61 64
62 public StatsFrame(JFrame parent,String title, int mode,Object adminProxy) { 65 public StatsFrame(JFrame parent,String title, int mode,Object adminProxy) {
63 super(parent,title,false); 66 super(parent,title,false);
64 _adminProxy=adminProxy; 67 _adminProxy=adminProxy;
65 init(parent,title,mode); 68 init(parent,title,mode);
122 tp.add("History", _chart); 125 tp.add("History", _chart);
123 tp.add("Entry browser",new OutriggerViewer(this,(com.sun.jini.outrigger.JavaSpaceAdmin)_adminProxy)); 126 tp.add("Entry browser",new OutriggerViewer(this,(com.sun.jini.outrigger.JavaSpaceAdmin)_adminProxy));
124 127
125 } else if (_mode == MEMORY || _mode == TXNS || _mode == BLOCKERS) { 128 } else if (_mode == MEMORY || _mode == TXNS || _mode == BLOCKERS) {
126 tp.add("History", _chart); 129 tp.add("History", _chart);
130 } else if (_mode == RAW) {
131 _textArea.setLineWrap(true);
132 _textArea.setWrapStyleWord(true);
133 tp.add("Raw", new JScrollPane(_textArea));
127 } 134 }
128 return tp; 135 return tp;
129 } 136 }
130 private JComponent createStatusBar() { 137 private JComponent createStatusBar() {
131 _status = new JLabel(); 138 _status = new JLabel();
148 long instanceCounter = 0; 155 long instanceCounter = 0;
149 double memoryUsed = 0; 156 double memoryUsed = 0;
150 long txnCounter = 0; 157 long txnCounter = 0;
151 long blockingReads = 0; 158 long blockingReads = 0;
152 long blockingTakes = 0; 159 long blockingTakes = 0;
160
161 StringBuffer myRaw = new StringBuffer();
162
153 for (int i = 0; i < stats.length; i++) { 163 for (int i = 0; i < stats.length; i++) {
164 myRaw.append(stats[i].toString() +"\n");
154 if (stats[i] instanceof MemoryStat) { 165 if (stats[i] instanceof MemoryStat) {
155 MemoryStat ms = (MemoryStat) stats[i]; 166 MemoryStat ms = (MemoryStat) stats[i];
156 double max = ms.getMaxMemory(); 167 double max = ms.getMaxMemory();
157 double used = ms.getCurrentMemory(); 168 double used = ms.getCurrentMemory();
158 169
231 new long[]{txnCounter}); 242 new long[]{txnCounter});
232 } else if (_mode == BLOCKERS) { 243 } else if (_mode == BLOCKERS) {
233 _chart.update(new String[]{"read", "take"}, 244 _chart.update(new String[]{"read", "take"},
234 new long[]{blockingReads, blockingTakes}); 245 new long[]{blockingReads, blockingTakes});
235 } 246 }
247 _textArea.setText(myRaw.toString());
248 _textArea.revalidate();
236 } catch (Exception ex) { 249 } catch (Exception ex) {
237 closeWin(); 250 closeWin();
238 DashBoardFrame.theLogger.log(Level.SEVERE, "Problem in update", ex); 251 DashBoardFrame.theLogger.log(Level.SEVERE, "Problem in update", ex);
239 } 252 }
240 return true; 253 return true;