package com.jpragma.snmp.samples;
import com.jpragma.snmp.annotations.MibBean;
import com.jpragma.snmp.annotations.MibProperty;
import com.jpragma.snmp.asn.AsnInteger;
import com.jpragma.snmp.asn.AsnOctetString;
import com.jpragma.snmp.asn.SmiGauge32;
@MibBean
public class JvmStatAnnotated {
private String appName = "JVM Statistics";
private int poolSize = 10;
@MibProperty(oid = "1.3.6.1.4.1.28824.99.1.0", writable = true, requiredType = AsnOctetString.class)
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.2.0", writable = true, requiredType = AsnInteger.class)
public int getPoolSize() {
return poolSize;
}
public void setPoolSize(int poolSize) {
this.poolSize = poolSize;
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.3.0", requiredType = AsnInteger.class)
public int getAvailableProcessors() {
return Runtime.getRuntime().availableProcessors();
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.4.0", requiredType = SmiGauge32.class)
public long getFreeMemory() {
return Runtime.getRuntime().freeMemory();
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.5.0", requiredType = SmiGauge32.class)
public long getMaxMemory() {
return Runtime.getRuntime().maxMemory();
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.6.0", requiredType = SmiGauge32.class)
public long getTotalMemory() {
return Runtime.getRuntime().totalMemory();
}
@MibProperty(oid = "1.3.6.1.4.1.28824.99.7.0", requiredType = AsnInteger.class)
public int getNumberOfThreads() {
return Thread.activeCount();
}
}