Additional JMX Metrics
This commit is contained in:
@@ -22,7 +22,12 @@ import org.springframework.jmx.support.MetricType;
|
||||
import com.mongodb.DBObject;
|
||||
import com.mongodb.Mongo;
|
||||
|
||||
@ManagedResource(description="Mongo Global Lock Metrics")
|
||||
/**
|
||||
* JMX Metrics for Global Locks
|
||||
* @author Mark Pollack
|
||||
*
|
||||
*/
|
||||
@ManagedResource(description="Global Lock Metrics")
|
||||
public class GlobalLockMetrics extends AbstractMonitor {
|
||||
|
||||
|
||||
@@ -35,7 +40,7 @@ public class GlobalLockMetrics extends AbstractMonitor {
|
||||
return getGlobalLockData("totalTime", java.lang.Double.class);
|
||||
}
|
||||
|
||||
@ManagedMetric(metricType = MetricType.COUNTER, displayName = "Lock time", unit="seconds")
|
||||
@ManagedMetric(metricType = MetricType.COUNTER, displayName = "Lock time", unit="s")
|
||||
public double getLockTime() {
|
||||
return getGlobalLockData("lockTime", java.lang.Double.class);
|
||||
}
|
||||
@@ -64,14 +69,12 @@ public class GlobalLockMetrics extends AbstractMonitor {
|
||||
@SuppressWarnings("unchecked")
|
||||
private <T> T getGlobalLockData(String key, Class<T> targetClass) {
|
||||
DBObject globalLock = (DBObject) getServerStatus().get("globalLock");
|
||||
Object o = globalLock.get("totalTime");
|
||||
return (T) globalLock.get(key);
|
||||
}
|
||||
|
||||
private int getCurrentQueue(String key) {
|
||||
DBObject globalLock = (DBObject) getServerStatus().get("globalLock");
|
||||
DBObject currentQueue = (DBObject) globalLock.get("currentQueue");
|
||||
Object o = currentQueue.get("total");
|
||||
return (Integer) currentQueue.get(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,12 @@ import org.springframework.jmx.support.MetricType;
|
||||
import com.mongodb.DBObject;
|
||||
import com.mongodb.Mongo;
|
||||
|
||||
@ManagedResource(description="Mongo Operation Counters")
|
||||
/**
|
||||
* JMX Metrics for Operation counters
|
||||
* @author Mark Pollack
|
||||
*
|
||||
*/
|
||||
@ManagedResource(description="Operation Counters")
|
||||
public class OperationCounters extends AbstractMonitor {
|
||||
|
||||
|
||||
|
||||
@@ -23,16 +23,15 @@ import org.springframework.jmx.export.annotation.ManagedOperation;
|
||||
import org.springframework.jmx.export.annotation.ManagedResource;
|
||||
import org.springframework.jmx.support.MetricType;
|
||||
|
||||
import com.mongodb.CommandResult;
|
||||
import com.mongodb.Mongo;
|
||||
|
||||
/**
|
||||
* Expose basic server information
|
||||
* Expose basic server information via JMX
|
||||
*
|
||||
* @author Mark Pollack
|
||||
*
|
||||
*/
|
||||
@ManagedResource(description="Mongo Server Information")
|
||||
@ManagedResource(description="Server Information")
|
||||
public class ServerInfo extends AbstractMonitor {
|
||||
|
||||
public ServerInfo(Mongo mongo) {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
|
||||
|
||||
|
||||
|
||||
|
||||
<bean id="mongoAdmin" class="org.springframework.data.document.mongodb.MongoAdmin" autowire="constructor"/>
|
||||
|
||||
@@ -16,8 +17,14 @@
|
||||
|
||||
<bean id="globalLockMetrics" class="org.springframework.data.document.mongodb.monitor.GlobalLockMetrics" autowire="constructor"/>
|
||||
|
||||
<bean id="memoryMetrics" class="org.springframework.data.document.mongodb.monitor.MemoryMetrics" autowire="constructor"/>
|
||||
|
||||
<bean id="connectionMetrics" class="org.springframework.data.document.mongodb.monitor.ConnectionMetrics" autowire="constructor"/>
|
||||
|
||||
<bean id="btreeIndexMetrics" class="org.springframework.data.document.mongodb.monitor.BtreeIndexCounters" autowire="constructor"/>
|
||||
|
||||
<bean id="flushingMetrics" class="org.springframework.data.document.mongodb.monitor.BackgroundFlushingMetrics" autowire="constructor"/>
|
||||
|
||||
<context:mbean-export/>
|
||||
|
||||
<bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean"
|
||||
|
||||
Reference in New Issue
Block a user