⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpdmon.java

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		memtable.update_data(data, memtypes);	    }	    if (datatypes.indexOf("myrinfo") != -1)		{		    java.util.LinkedList columnnames = new java.util.LinkedList();		    java.util.LinkedList data = new java.util.LinkedList();		    java.util.LinkedList tempv = new java.util.LinkedList();		    java.util.LinkedList myrtypes = new java.util.LinkedList();		    Node tempnode;		    int index;		    columnnames.add("Node");		    javax.swing.JPanel myrpanel = (javax.swing.JPanel)myrboxes.getContentPane().getComponent(0);		    for (int i = 0; i < myrpanel.getComponentCount() - 1; i++)			{			    if (((javax.swing.JCheckBox)myrpanel.getComponent(i)).isSelected())				{				    myrtypes.add(((javax.swing.JCheckBox)myrpanel.getComponent(i)).getText());				}			}		    for (int i = 0; i < nodepanel.getComponentCount(); i++)			{			    if (((javax.swing.JCheckBox)nodepanel.getComponent(i)).isSelected())				{				    index = procs.indexOf(((javax.swing.JCheckBox)nodepanel.getComponent(i)).getText());				    tempv.add(procs.getData(index, "name"));				    for (int j = 0; j < myrtypes.size(); j++)					{					    tempv.add(procs.getData(index, (String)myrtypes.get(j)));					}				    data.add(tempv.clone());				    tempv.clear();				}			}		    myrtypes.addFirst("Node");		    myrtable.update_data(data, myrtypes);		}	    repaint();	    }    private int findPort()	{	    return Integer.parseInt(javax.swing.JOptionPane.showInputDialog(null, "Input MPD local port number", "Port input", javax.swing.JOptionPane.QUESTION_MESSAGE));	}    private java.util.LinkedList getData(String id, int jobid)	{	    Node tempNode = null;	    String writestring = "src=jmon cmd=moninfo_req vals=";	    java.util.LinkedList nodenames = new java.util.LinkedList();	    java.util.LinkedList removed = new java.util.LinkedList();	    java.util.TreeSet checkboxes = new java.util.TreeSet();	    for (int i = 0; i < datatypes.size(); i++)		{		    writestring = writestring.concat((String)datatypes.get(i));		}	    if (selecttype.equals("all"))		writestring = writestring.concat(" monwhat=all");	    else if (selecttype.equals("range"))		writestring = writestring.concat(" monwhat=" + nodesstring);	    else		writestring = writestring.concat(" monwhat=" + nodesstring);	    try 		{		    out.write(writestring + "\n");		    out.flush();		}	    catch (Exception e)		{		    System.err.println(e);		}	    tempNode = nparser.parse(response(in));	    while (!(tempNode.name).equals(id))		{		    nodenames.add(tempNode.name);		    if (!procs.contains(tempNode.name))			{			    procs.addProc(tempNode);			    checkboxes.add(new NodeCheckBox(tempNode.name, true));			    // System.out.println("adding " + tempNode.name + " to checkboxes");			}		    else			{			    procs.replaceProc(tempNode.name, tempNode);			    for (int i = 0; i < nodepanel.getComponentCount(); i++)				{				    if (((NodeCheckBox)nodepanel.getComponent(i)).getText().equals(tempNode.name))					{					    checkboxes.add((NodeCheckBox)nodepanel.getComponent(i));					}				}			}		    tempNode = nparser.parse(response(in));		}	    if (!tempNode.emptyLastNode)		{		    nodenames.add((String)tempNode.getProperty("name"));		    if (!procs.contains(tempNode.name))			{			    procs.addProc(tempNode);			    checkboxes.add(new NodeCheckBox(tempNode.name, true));	    			    // System.out.println("adding " + tempNode.getProperty("name") + " to checkboxes");			}		    else			{			    procs.replaceProc(tempNode.name, tempNode);			    for (int i = 0; i < nodepanel.getComponentCount(); i++)				{				    if (((NodeCheckBox)nodepanel.getComponent(i)).getText().equals(tempNode.name))					{					    checkboxes.add((NodeCheckBox)nodepanel.getComponent(i));					}				}			}		}	    if (procs.getSize() > nodenames.size())		{		    // System.out.println("procs.getSize(" + procs.getSize() + " is greater than nodenames.size(" + nodenames.size() + ")");		    java.util.ArrayList procVector = procs.toArrayList();		    for (int i = 0; i < procs.getSize(); i++)			{			    // System.out.println("at index " + i + " in procs.getSize()");			    if (!nodenames.contains(((Node)procVector.get(i)).name))				{				    // System.out.println(((Node)procVector.get(i)).name + " is not in nodenames so adding to removed");				    removed.add(((Node)procVector.get(i)).name);				    // System.out.println("nodepanel.getComponentCount() is " + nodepanel.getComponentCount());				    for (int j = 0; j < nodepanel.getComponentCount(); j++)					{					    // System.out.println("at index " + j + " in nodepanel");					    if (((javax.swing.JCheckBox)nodepanel.getComponent(j)).getText().equals(((Node)procVector.get(i)).name))						{						    nodepanel.remove(nodepanel.getComponent(j));						}					}				    procs.remProc(((Node)procVector.get(i)).name);				}			}		}	    nodepanel.removeAll();	    java.util.Iterator it = checkboxes.iterator();	    while (it.hasNext())		nodepanel.add((NodeCheckBox)it.next());	    repaint();	    if (removed.size() > 0)		{		    // System.out.println("REMOVED A NODE!!");		}	    return removed;	}    private String getHostName()	{	    return javax.swing.JOptionPane.showInputDialog(null, "Hostname?", "Hostname input", javax.swing.JOptionPane.QUESTION_MESSAGE);	}    public String response(java.io.InputStreamReader buf_in)	{	    String retstring = "";	    int bytes_read;	    char[] buf = new char[1];	    boolean isReady = false;	    buf[0] = '\0';	    try		{		    isReady = buf_in.ready();		}	    catch (java.io.IOException e)		{		    System.err.println("response: Communication error! aborting...");		    System.exit(2);		}	    while (!isReady) 		{		    try			{			    isReady = buf_in.ready();			}		    catch (java.io.IOException e)			{			    System.err.println("response: Communcation error! aborting...");			    System.exit(2);			}		}	    while (isReady && buf[0] != '\n')		{		  try		    {			    bytes_read = buf_in.read(buf);			    retstring = retstring.concat(new String(buf, 0, bytes_read));			}		    catch (java.io.IOException e)			{			    System.err.println("response: Communication error! aborting...");			    System.exit(2);			}		    try			{			    isReady = buf_in.ready();			}		    catch (java.io.IOException e)			{			    System.err.println("response: Communication error! aborting...");			    System.exit(2);			}		}	    return retstring;	}    private class WindowCloser extends java.awt.event.WindowAdapter    {	public void windowClosing(java.awt.event.WindowEvent e)	{	    // System.out.println("WindowCloser::windowClosing: starting...");	    try		{		    out.write("src=jmon cmd=moninfo_conn_close\n");		    out.flush();		    in.close();		    out.close();		    mpdsock.close();		}	    catch (java.io.IOException i)		{		    System.err.println("WindowCloser::windowClosing: Could not close streams!");		}	    System.exit(0);	}    }    private class WindowResizer extends java.awt.event.ComponentAdapter    {	public void componentResized(java.awt.event.ComponentEvent e)	{	    javax.swing.JFrame source = (javax.swing.JFrame)e.getSource();	    java.awt.Dimension d = source.getSize();	    java.awt.Insets i1 = source.getInsets();	    java.awt.Dimension f = new java.awt.Dimension((int)d.getWidth() - (i1.left + i1.right) - 0, (int)d.getHeight() - (i1.top + i1.bottom) - 0);	    // System.out.println("got resize call, setting preferred size to " + f);	    main_tabpane.setPreferredSize(f);	    source.pack();	}    }    private class SliderListener implements javax.swing.event.ChangeListener    {	javax.swing.JLabel label;	javax.swing.JPanel panel;	public SliderListener(javax.swing.JPanel p, javax.swing.JLabel l)	{	    panel = p;	    label = l;	}	public SliderListener(javax.swing.JLabel l)	{	    label = l;	}	public void stateChanged(javax.swing.event.ChangeEvent e)	{	    javax.swing.JSlider slider = (javax.swing.JSlider)e.getSource();	    label.setText(Integer.toString(slider.getValue()));	    if (!slider.getValueIsAdjusting())		{		    if (panel != null)			{			    for (int i = 0; i < panel.getComponentCount(); i++)				{				    ((LoadGraph)panel.getComponent(i)).setSize(slider.getValue());				}			}		    else 			{			    updatetime = slider.getValue();			}		}	}    }    private class NodeSelectListener implements java.awt.event.ActionListener    {	public void actionPerformed(java.awt.event.ActionEvent e)	{	    String command = e.getActionCommand();	    if (command.equals("nodes_all"))		{		    rangetext.setEnabled(false);		    jobidtext.setEnabled(false);		    nodes_jobid_button.setEnabled(false);		    nodes_range_button.setEnabled(false);		    selecttype = "all";		}	    else if (command.equals("nodes_range"))		{		    jobidtext.setEnabled(false);		    rangetext.setEnabled(true);		    nodes_jobid_button.setEnabled(false);		    nodes_range_button.setEnabled(true);		}	    else if (command.equals("nodes_jobid"))		{		    jobidtext.setEnabled(true);		    rangetext.setEnabled(false);		    nodes_jobid_button.setEnabled(true);		    nodes_range_button.setEnabled(false);		}	}    }    private class ReqTypeOKButtonListener implements java.awt.event.ActionListener    {	public void actionPerformed(java.awt.event.ActionEvent e)	{	    String command = e.getActionCommand();	    if (command.equals("range"))	    {		selecttype = "range";		nodesstring = rangetext.getText();	    }	    else	    {		selecttype = "jobid";		nodesstring = jobidtext.getText();	    }	    // System.out.println("selecttype set to " + selecttype);	}    }    private class CheckBoxListener implements java.awt.event.ItemListener    {	private javax.swing.JCheckBox load;	private javax.swing.JCheckBox mem;	private javax.swing.JCheckBox myr;	public CheckBoxListener(javax.swing.JCheckBox a, javax.swing.JCheckBox b, javax.swing.JCheckBox c)	{	    load = a;	    mem = b;	    myr = c;	}	public void itemStateChanged(java.awt.event.ItemEvent e)	{	    javax.swing.JCheckBox source = (javax.swing.JCheckBox)e.getItemSelectable();	    if (source == load)		{		    toggleVal("loadavg", source.isSelected());		    // System.out.println("loadavg toggled to " + source.isSelected());		}	    else if (source == mem)		{		    toggleVal("memusage", source.isSelected());		    // System.out.println("memusage toggled to " + source.isSelected());		}	    else if (source == myr)		{		    toggleVal("myrinfo", source.isSelected());		    // System.out.println("myrinfo toggled to " + source.isSelected());		}	}    }    private class NodeCheckBox extends javax.swing.JCheckBox implements Comparable    {	public int compareTo(Object o)	{	    NodeCheckBox n = (NodeCheckBox)o;	    String myhost = this.getText().substring(0, this.getText().indexOf("_"));	    String otherhost = n.getText().substring(0, n.getText().indexOf("_"));	    if (myhost.equals("cct1m"))		return -1;	    if (otherhost.equals("cct1m"))		return -1;	    if (myhost.equals(otherhost))		{		    int myport = Integer.parseInt(this.getText().substring(this.getText().indexOf("_") + 1));		    int otherport = Integer.parseInt(n.getText().substring(n.getText().indexOf("_") + 1));		    if (myport > otherport)			return 1;		    else			return -1;		}	    String[] myhostsplit = stripnums(myhost);	    String[] otherhostsplit = stripnums(otherhost);	    if (!(myhostsplit[0].equals(otherhostsplit[0])))		{		    return myhostsplit[0].compareTo(otherhostsplit[0]);		}	    else		{		    int myhostnum = Integer.parseInt(myhostsplit[1]);		    int otherhostnum = Integer.parseInt(otherhostsplit[1]);		    if (myhostnum > otherhostnum)			return 1;		    else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -