当前位置: 首页>>代码示例>>Java>>正文


Java PerfCounterPack.put方法代码示例

本文整理汇总了Java中scouter.lang.pack.PerfCounterPack.put方法的典型用法代码示例。如果您正苦于以下问题:Java PerfCounterPack.put方法的具体用法?Java PerfCounterPack.put怎么用?Java PerfCounterPack.put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scouter.lang.pack.PerfCounterPack的用法示例。


在下文中一共展示了PerfCounterPack.put方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getGCInfo

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void getGCInfo(CounterBasket pw) {

	long[] gcInfo = SysJMX.getCurrentProcGcInfo();

	if (oldGc == null) {
		oldGc = gcInfo;
		return;
	}

	long dCount = gcInfo[0] - oldGc[0];
	long dTime = gcInfo[1] - oldGc[1];
	oldGc = gcInfo;

	gcCountInfo.add(dCount);
	gcTimeInfo.add(dTime);

	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	p.put(CounterConstants.JAVA_GC_COUNT, new DecimalValue(dCount));
	p.put(CounterConstants.JAVA_GC_TIME, new DecimalValue(dTime));

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.JAVA_GC_COUNT, new DecimalValue((long) gcCountInfo.getSum(300)));
	p.put(CounterConstants.JAVA_GC_TIME, new DecimalValue((long) gcTimeInfo.getSum(300)));

}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:27,代码来源:GCInfo.java

示例2: getHeapUsage

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void getHeapUsage(CounterBasket pw) {
	long total = Runtime.getRuntime().totalMemory();
	long free = Runtime.getRuntime().freeMemory();
	float used = (float) ((total - free) / 1024. / 1024.);

	heapmin.add(total - free);
	float usedmin = (float) (heapmin.getAvg(300) / 1024. / 1024.);

	ListValue heapValues = new ListValue();
	heapValues.add((float) (total / 1024. / 1024.));
	heapValues.add(used);
	
	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	p.put(CounterConstants.JAVA_HEAP_TOT_USAGE, heapValues);
	p.put(CounterConstants.JAVA_HEAP_USED, new FloatValue(used));

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.JAVA_HEAP_USED, new FloatValue(usedmin));

}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:22,代码来源:HeapUsage.java

示例3: updateBatchService

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
private void updateBatchService(){
	PerfCounterPack pack = cb.getPack(conf.getObjName(), TimeTypeEnum.REALTIME);
	UdpLocalServer localServer = UdpLocalServer.getInstance();
	pack.put(CounterConstants.BATCH_SERVICE, new DecimalValue(Main.batchMap.size()));
	pack.put(CounterConstants.BATCH_START, new DecimalValue(localServer.getStartBatchs()));
	pack.put(CounterConstants.BATCH_END, new DecimalValue(localServer.getEndBatchs()));
	pack.put(CounterConstants.BATCH_ENDNOSIGNAL, new DecimalValue(localServer.getEndNoSignalBatchs()));
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:9,代码来源:StatusSender.java

示例4: process

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void process(CounterBasket pw) {
	if (availableFdInfo == false) {
		 return;
	}
	
	// Currently supported only sun jvm on unix platform
	try {
		OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
		if(os instanceof UnixOperatingSystemMXBean){
			UnixOperatingSystemMXBean unixOs = (UnixOperatingSystemMXBean) os;
			long max = unixOs.getMaxFileDescriptorCount();
			long open = unixOs.getOpenFileDescriptorCount();
			
			ListValue fdUsage = new ListValue();
			fdUsage.add(max);
			fdUsage.add(open);
			
			PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
			p.put(CounterConstants.JAVA_FD_USAGE, fdUsage);
		} else {
			availableFdInfo = false;
		}
	} catch (Throwable th) {
		Logger.println(th.getMessage());
		availableFdInfo = false;
	}
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:29,代码来源:FDInfo.java

示例5: extractJmx

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void extractJmx(CounterBasket pw) {
    if (conf.counter_custom_jmx_enabled == false || mBeanServerEnable == false) {
        return;
    }
    StringSet nameSet = conf.getCustomJmxSet();
    if (nameSet.size() < 1) {
        return;
    }
    if (mBeanServer == null) {
        mBeanServer = LazyPlatformMBeanServer.create();
    }
    try {
        if (mBeanServer.checkInit()) {
            StringEnumer stringEnumer = nameSet.keys();
            PerfCounterPack pack = pw.getPack(TimeTypeEnum.REALTIME);
            while (stringEnumer.hasMoreElements()) {
                String next = stringEnumer.nextString();
                String[] mbeanAndAttribute = StringUtil.split(next, "|");
                if (mbeanAndAttribute.length != 3) continue;
                float value = mBeanServer.getValue(mbeanAndAttribute[1], mbeanAndAttribute[2]);
                if (value >= 0) {
                    pack.put(mbeanAndAttribute[0], new FloatValue(value));
                }
            }
        }
    } catch (Exception e) {
        Logger.println("SC-555", e.getMessage(), e);
        mBeanServerEnable = false;
    }

}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:33,代码来源:CustomJmx.java

示例6: recentUser

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void recentUser(CounterBasket pw) {

	int users =MeterUsers.getUsers();
	
	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);	
	p.put(CounterConstants.WAS_RECENT_USER, new DecimalValue(users));

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.WAS_RECENT_USER, new DecimalValue(users));
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:12,代码来源:ClientUser.java

示例7: process

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
public void process(CounterBasket pw) throws IOException {
	Configure conf = Configure.getInstance();

	boolean redisEnabled = conf.getBoolean("redis_enabled", false);

	if (redisEnabled) {
		String serverIp = conf.getValue("redis_server_ip", "127.0.0.1");
		int serverPort = conf.getInt("redis_server_port", 6379);

		String perfInfo = getRedisPerfInfo(serverIp, serverPort);

		String[] lines = perfInfo.split("\n");

		PerfCounterPack p = pw.getPack(conf.getObjName(), TimeTypeEnum.REALTIME);

		for (String line : lines) {
			String key = line.substring(0, line.indexOf(':'));
			String value = line.substring(line.indexOf(':') + 1);

			if (floatSet.contains(key)) {
				p.put(key, new FloatValue(Float.valueOf(value.trim())));
			}

			if (decimalSet.contains(key)) {
				p.put(key, new DecimalValue(Long.valueOf(value.trim())));
			}
		}
	}
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:30,代码来源:RedisMonitor.java

示例8: cpuTime

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void cpuTime(CounterBasket pw) {

	if(SysJMX.isProcessCPU()==false)
		return;
	
	long cpu = SysJMX.getProcessCPU();
       
	if (oldCpu<=0) {
		oldCpu = cpu;
		return;
	}

	long dTime = cpu - oldCpu;
	oldCpu = cpu;

	cpuTimeInfo.add(dTime);
	
	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	p.put(CounterConstants.JAVA_CPU_TIME, new DecimalValue(dTime));

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.JAVA_CPU_TIME, new DecimalValue((long) cpuTimeInfo.getSum(300)));

}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:26,代码来源:GCInfo.java

示例9: sqlApiPerf

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void sqlApiPerf(CounterBasket pw) {
	MeterSQL sql = MeterSQL.getInstance();
	MeterAPI api = MeterAPI.getInstance();

	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	long elapsed = sql.getAvgTime(30);
	float tps = sql.getTps(30);
	float errRate = sql.getErrorRate(30);

	p.put(CounterConstants.WAS_SQL_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_SQL_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_SQL_ERROR_RATE, new FloatValue(errRate));

	elapsed = api.getAvgTime(30);
	tps = api.getTps(30);
	errRate = api.getErrorRate(30);

	p.put(CounterConstants.WAS_APICALL_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_APICALL_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_APICALL_ERROR_RATE, new FloatValue(errRate));

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	
	elapsed = sql.getAvgTime(300);
	tps = sql.getTps(300);
	errRate = sql.getErrorRate(300);

	p.put(CounterConstants.WAS_SQL_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_SQL_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_SQL_ERROR_RATE, new FloatValue(errRate));

	elapsed = api.getAvgTime(300);
	tps = api.getTps(300);
	errRate = api.getErrorRate(300);

	p.put(CounterConstants.WAS_APICALL_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_APICALL_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_APICALL_ERROR_RATE, new FloatValue(errRate));

}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:42,代码来源:SqlApiCallPerf.java

示例10: getPermGen

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void getPermGen(CounterBasket pw) {
	if (permGenBean == null) {
		try {
			List<MemoryPoolMXBean> beans = ManagementFactory.getMemoryPoolMXBeans();
			for (MemoryPoolMXBean bean : beans) {
				if (bean.getName().toUpperCase().contains("PERM GEN")) {
					permGenBean = bean;
					break;
				} else if(bean.getName().toUpperCase().contains("METASPACE")) {
					permGenBean = bean;
					break;
				}
			}
		} catch (Throwable th) {
		}
	}
	if (permGenBean == null) {
		return;
	}
	MemoryUsage usage = permGenBean.getUsage();
	long used = usage.getUsed();
	meter.add(used);
	float usedM = (used / 1024.f / 1024.f);
	float max = (usage.getMax() / 1024.f / 1024.f);

	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	p.put(CounterConstants.JAVA_PERM_USED, new FloatValue(usedM));
	
	//metaspace의 경우 설정값을 지정했을 경우에만 사용률(%) 수집 및 경고 발생
	if(usage.getMax() != -1) { 
		p.put(CounterConstants.JAVA_PERM_PERCENT, new FloatValue(usedM * 100 / max));

		Configure conf = Configure.getInstance();
		float rate = used * 100 / usage.getMax();

		// /////////////////////////////////////////////////
		// PermGen Warning 
		if (rate >= conf.alert_perm_warning_pct) {
			AlertProxy.sendAlert(AlertLevel.WARN, "WARNING_MEMORY_HIGH", "warning perm usage used="
					+ (used / 1024 / 1024) + "MB rate=" + rate + "%");
		}
	}
	// /////////////////////////////////////////////////

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.JAVA_PERM_USED, new FloatValue((float) (meter.getAvg(300) / 1024.f / 1024.f)));
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:49,代码来源:PermGen.java

示例11: getServicePerf

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void getServicePerf(CounterBasket pw) {
	Configure conf = Configure.getInstance();
	MeterService service = MeterService.getInstance();
	int elapsed = service.getElapsedTime(30);
	float tps = service.getTPS(30);
	float errorRate = service.getErrorRate(30);
	int count = service.getServiceCount(60);
	int resp90pct = service.getElapsed90Pct(30);
	int sqlTimeByService = service.getSqlTime(30);
	int apiTimeByService = service.getApiTime(30);
	int queuingTime = service.getQueuingTime(30);

	int[] act = TraceContextManager.getActiveCount();
	int active = act[0] + act[1] + act[2];
	if (conf.autodump_trigger_active_service_cnt <= active) {
		DumpUtil.autoDump();
	}
	activeCounter.add(active);

	// active service 30초 평균으로 변경
	active = (int) Math.round(activeCounter.getAvg(30));

	PerfCounterPack p = pw.getPack(TimeTypeEnum.REALTIME);
	p.put(CounterConstants.WAS_ELAPSED_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_SERVICE_COUNT, new DecimalValue(count));
	p.put(CounterConstants.WAS_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_ERROR_RATE, new FloatValue(errorRate));
	p.put(CounterConstants.WAS_ACTIVE_SERVICE, new DecimalValue(active));
	p.put(CounterConstants.WAS_ELAPSED_90PCT, new DecimalValue(resp90pct));
	p.put(CounterConstants.WAS_APICALL_ELAPSED_TIME_BY_SERVICE, new DecimalValue(apiTimeByService));
	p.put(CounterConstants.WAS_SQL_ELAPSED_TIME_BY_SERVICE, new DecimalValue(sqlTimeByService));
	p.put(CounterConstants.WAS_QUEUING_TIME, new DecimalValue(queuingTime));

	ListValue activeSpeed = new ListValue();
	activeSpeed.add(act[0]);
	activeSpeed.add(act[1]);
	activeSpeed.add(act[2]);

	p.put(CounterConstants.WAS_ACTIVE_SPEED, activeSpeed);

	// UdpProxy.sendAlert(, message)

	count = service.getServiceCount(300);
	tps = service.getTPS(300);
	elapsed = service.getElapsedTime(300);
	errorRate = service.getErrorRate(300);
	int activeService = (int) activeCounter.getAvg(300);
	resp90pct = service.getElapsed90Pct(300);
       sqlTimeByService = service.getSqlTime(300);
       apiTimeByService = service.getApiTime(300);

	p = pw.getPack(TimeTypeEnum.FIVE_MIN);
	p.put(CounterConstants.WAS_ELAPSED_TIME, new DecimalValue(elapsed));
	p.put(CounterConstants.WAS_SERVICE_COUNT, new DecimalValue(count));
	p.put(CounterConstants.WAS_TPS, new FloatValue(tps));
	p.put(CounterConstants.WAS_ERROR_RATE, new FloatValue(errorRate));
	p.put(CounterConstants.WAS_ACTIVE_SERVICE, new DecimalValue(activeService));
	p.put(CounterConstants.WAS_ELAPSED_90PCT, new DecimalValue(resp90pct));
       p.put(CounterConstants.WAS_APICALL_ELAPSED_TIME_BY_SERVICE, new DecimalValue(apiTimeByService));
       p.put(CounterConstants.WAS_SQL_ELAPSED_TIME_BY_SERVICE, new DecimalValue(sqlTimeByService));
	p.put(CounterConstants.WAS_QUEUING_TIME, new DecimalValue(queuingTime));
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:64,代码来源:ServicePerf.java

示例12: process

import scouter.lang.pack.PerfCounterPack; //导入方法依赖的package包/类
@Counter
public void process(CounterBasket pw) {
	File dir = regRoot;
	if (dir == null)
		return;

	if (cpuCores == 0) {
		cpuCores = getCpuCore();
		Logger.info("Num of Cpu Cores : " + cpuCores);
	}
	long now = System.currentTimeMillis();
	File[] pids = dir.listFiles();
	for (int i = 0; i < pids.length; i++) {
		if (pids[i].isDirectory())
			continue;
		String name = pids[i].getName();
		if (name.endsWith(".scouter") == false) {
			continue;
		}
		int pid = CastUtil.cint(name.substring(0, name.lastIndexOf(".")));
		if (pid == 0)
			continue;

		if (now > pids[i].lastModified() + 5000) {
			pids[i].delete();
			continue;
		}

		String objname = new String(FileUtil.readAll(pids[i]));

		MeterResource meter = meterMap.get(objname);
		if (meter == null) {
			meter = new MeterResource();
			meterMap.put(objname, meter);
		}
		try {
			ProcCpu cpu = sigar.getProcCpu(pid);
			double value = cpu.getPercent() * 100.0D/cpuCores;
			meter.add(value);
			float procCpu = (float) meter.getAvg(Configure.getInstance()._cpu_value_avg_sec);
			PerfCounterPack p = pw.getPack(objname, TimeTypeEnum.REALTIME);
			p.put(CounterConstants.PROC_CPU, new FloatValue(procCpu));
			p = pw.getPack(objname, TimeTypeEnum.FIVE_MIN);
			p.put(CounterConstants.PROC_CPU, new FloatValue(procCpu));
		} catch (Exception e) {
			// ignore no proc
		}

	}
}
 
开发者ID:scouter-project,项目名称:scouter,代码行数:51,代码来源:ProcPerf.java


注:本文中的scouter.lang.pack.PerfCounterPack.put方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。