diff options
author | Jose <jose@zeroc.com> | 2012-08-30 02:31:05 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2012-08-30 02:31:05 +0200 |
commit | 93739f7abfb1506c7ec06de535e27dc4229193ef (patch) | |
tree | d2299fadc247ae6f9b71a1deb08bddd7bd3f351c /java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java | |
parent | FIX Java 7 warnings (diff) | |
download | ice-93739f7abfb1506c7ec06de535e27dc4229193ef.tar.bz2 ice-93739f7abfb1506c7ec06de535e27dc4229193ef.tar.xz ice-93739f7abfb1506c7ec06de535e27dc4229193ef.zip |
IceGridGUI Metrics Graphs
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java')
-rw-r--r-- | java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java | 88 |
1 files changed, 78 insertions, 10 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java index 30fa62270c3..2b2591d5b1d 100644 --- a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java +++ b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java @@ -323,13 +323,14 @@ class MetricsViewEditor extends Editor for(int i = 0; i < values.length; ++i) { IceMX.InvocationMetrics o = (IceMX.InvocationMetrics)values[i]; - Object[] row = new Object[6]; + Object[] row = new Object[7]; row[0] = o.id; row[1] = Integer.toString(o.current); row[2] = Long.toString(o.total); row[3] = Integer.toString(o.retry); row[4] = metricAvg(o, 1000.0f); - row[5] = failures(key, node, o); + row[5] = remotes(o); + row[6] = failures(key, node, o); _invocations.addRow(row); } } @@ -471,6 +472,62 @@ class MetricsViewEditor extends Editor } }); } + else + { + button.setEnabled(false); + } + return button; + + } + + private Object remotes(final IceMX.InvocationMetrics o) + { + JButton button = new JButton("Show Remotes (" + Integer.toString(o.remotes.length) + ")"); + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + final DefaultTableModel model = new DefaultTableModel(); + model.addColumn("Identity"); + model.addColumn("Current"); + model.addColumn("Total"); + model.addColumn("Avg (ms)"); + + JTable table = new JTable(model); + table.setPreferredSize(new Dimension(550, 200)); + table.setPreferredScrollableViewportSize(table.getPreferredSize()); + table.setCellSelectionEnabled(false); + table.setOpaque(false); + + for(int i = 0; i < o.remotes.length; ++i) + { + IceMX.Metrics ro = o.remotes[i]; + Object[] row = new Object[5]; + row[0] = ro.id; + row[1] = Integer.toString(ro.current); + row[2] = Long.toString(ro.total); + row[3] = metricAvg(ro, 1000.0f); + model.addRow(row); + } + + DefaultTableCellRenderer cr = (DefaultTableCellRenderer)table.getDefaultRenderer(String.class); + cr.setOpaque(false); + + DefaultTableCellRenderer rr = new DefaultTableCellRenderer(); + for(int i = 1; i < model.getColumnCount(); ++i) + { + rr.setHorizontalAlignment(SwingConstants.RIGHT); + rr.setOpaque(false); + table.getColumnModel().getColumn(i).setCellRenderer(rr); + } + JScrollPane scrollPane = new JScrollPane(table); + + JOptionPane.showMessageDialog(_node.getCoordinator().getMainFrame(), + scrollPane, + "Invocation Remotes", + JOptionPane.PLAIN_MESSAGE ); + } + }); return button; } @@ -479,11 +536,11 @@ class MetricsViewEditor extends Editor { createScrollTable(builder, "Operation Dispatch", _dispatColumnNames, _dispatch); - createScrollTable(builder, "Application Connections", _connectionsColumnNames, _connections); + createScrollTable(builder, "Connections", _connectionsColumnNames, _connections); createScrollTable(builder, "Remote Invocations", _invocationsColumnNames, _invocations); - createScrollTable(builder, "Application Threads", _threadsColumnNames, _threads); + createScrollTable(builder, "Threads", _threadsColumnNames, _threads); createScrollTable(builder, "Connection Establishments", _connectionsEstablishmentsColumnNames, _connectionsEstablishments); @@ -523,16 +580,26 @@ class MetricsViewEditor extends Editor DefaultTableCellRenderer cr = (DefaultTableCellRenderer)table.getDefaultRenderer(String.class); cr.setOpaque(false); + + DefaultTableCellRenderer br = new ButtonRenderer(); + br.setOpaque(false); + DefaultTableCellRenderer rr = new DefaultTableCellRenderer(); rr.setHorizontalAlignment(SwingConstants.RIGHT); rr.setOpaque(false); - for(int i = 1; i < columnNames.length - 1; i++) + + for(int i = 0; i < columnNames.length; ++i) { - table.getColumnModel().getColumn(i).setCellRenderer(rr); + String name = (String)columnNames[i]; + if(name.equals("Remotes") || name.equals("Failures")) + { + table.getColumnModel().getColumn(i).setCellRenderer(br); + } + else if(!name.equals("Identity")) + { + table.getColumnModel().getColumn(i).setCellRenderer(rr); + } } - DefaultTableCellRenderer br = new ButtonRenderer(); - br.setOpaque(false); - table.getColumnModel().getColumn(columnNames.length - 1).setCellRenderer(br); } protected void buildPropertiesPanel() @@ -568,10 +635,11 @@ class MetricsViewEditor extends Editor private DefaultTableModel _invocations = new TableModel(); private Object[] _invocationsColumnNames = new Object[]{"Identity", "Current", "Total", "Retries", "Avg (ms)", - "Failures"}; + "Remotes", "Failures"}; private DefaultTableModel _connectionsEstablishments = new TableModel(); private Object[] _connectionsEstablishmentsColumnNames = new Object[]{"Identity", "Current", "Total", "Avg (ms)", "Failures"}; + private MetricsView _node; } |