本文整理汇总了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)));
}
示例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));
}
示例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()));
}
示例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;
}
}
示例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;
}
}
示例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));
}
示例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())));
}
}
}
}
示例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)));
}
示例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));
}
示例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)));
}
示例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));
}
示例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
}
}
}