CollSUNHost.java 3.29 KB
package com.sitech.ismp.coll.host;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Vector;

import org.apache.log4j.Logger;

import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;

public class CollSUNHost implements CollSUNHostMBean {
	private Logger logger = Logger.getLogger("COLL");
	
	public Vector<TblATO_KPIDETAIL> getConfig(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getConfig(params);
	}

	public Vector<TblATO_KPIDETAIL> getCpu(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getCpu(params);
	}

	public Vector<TblATO_KPIDETAIL> getMemory(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getMemory(params);
	}

	public Vector<TblATO_KPIDETAIL> getDisk(HashMap<String,String> params) {
		try{
			CollSUNWithCMD cmd = new CollSUNWithCMD();
			return cmd.getDisk(params);
		} catch (Exception e) {
			logger.error(
					"Exception while run CollSUNWithCMD.getDisk().", e);
			return new Vector<TblATO_KPIDETAIL>();
		}		
	}

	public Vector<TblATO_KPIDETAIL> getFileSystem(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getFileSystem(params);

	}

	public Vector<TblATO_KPIDETAIL> getSpecProcess(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getSpecProcess(params);

	}
	
	//采集占用内存最多的top15进程
	public Vector<TblATO_KPIDETAIL> getTopProcess(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getTopProcess(params);
	}

	public Vector<TblATO_KPIDETAIL> getUserProNum(HashMap<String,String> params) {
		CollSUNWithCMD cmd = new CollSUNWithCMD();
		return cmd.getUserProNum(params);

	}

	public static void main(String[] args) {
		System.out
				.println("***************SUN Collect Test Begin*********************");

		Vector<TblATO_KPIDETAIL> result = new Vector<TblATO_KPIDETAIL>();
		CollSUNHost collector = new CollSUNHost();
		HashMap<String, String> params = new HashMap<String, String>();

		String methodStr = read("METHOD(0:getAll, 1:getConfig, 2:getCpu, 3:getMemory, 4:getDisk, 5:getFileSystem):\n");
		int method = Integer.parseInt(methodStr);

		switch (method) {
		case 0:
			result.addAll(collector.getConfig(params));
			result.addAll(collector.getCpu(params));
			result.addAll(collector.getMemory(params));
			result.addAll(collector.getDisk(params));
			result.addAll(collector.getFileSystem(params));
			break;
		case 1:
			result.addAll(collector.getConfig(params));
			break;
		case 2:
			result.addAll(collector.getCpu(params));
			break;
		case 3:
			result.addAll(collector.getMemory(params));
			break;
		case 4:
			result.addAll(collector.getDisk(params));
			break;
		case 5:
			result.addAll(collector.getFileSystem(params));
			break;
		default:
			break;
		}

		System.out
				.println("***************SUN Collect Test End*********************");
		System.out.println();
		for (int i = 0; i < result.size(); i++) {
			TblATO_KPIDETAIL record = (TblATO_KPIDETAIL) result.get(i);
			System.out.println(record.UNIT_ID + "\t" + record.KPI_ID + "\t"
					+ record.KPI_VALUE);
		}
	}

	private static String read(String prompt) {
		Scanner scanner = new Scanner(System.in);
		System.out.print(prompt);
		return scanner.nextLine();
	}
}