// Setup monitoring for this threadpool private void initializeMonitoring() { // Get root monitored object MonitoredObject root = MonitoringFactories.getMonitoringManagerFactory() .createMonitoringManager(MonitoringConstants.DEFAULT_MONITORING_ROOT, null) .getRootMonitoredObject(); // Create the threadpool monitoring root MonitoredObject threadPoolMonitoringObjectRoot = root.getChild(MonitoringConstants.THREADPOOL_MONITORING_ROOT); if (threadPoolMonitoringObjectRoot == null) { threadPoolMonitoringObjectRoot = MonitoringFactories.getMonitoredObjectFactory() .createMonitoredObject( MonitoringConstants.THREADPOOL_MONITORING_ROOT, MonitoringConstants.THREADPOOL_MONITORING_ROOT_DESCRIPTION); root.addChild(threadPoolMonitoringObjectRoot); } threadpoolMonitoredObject = MonitoringFactories.getMonitoredObjectFactory() .createMonitoredObject(name, MonitoringConstants.THREADPOOL_MONITORING_DESCRIPTION); threadPoolMonitoringObjectRoot.addChild(threadpoolMonitoredObject); LongMonitoredAttributeBase b1 = new LongMonitoredAttributeBase( MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS, MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS_DESCRIPTION) { public Object getValue() { return new Long(ThreadPoolImpl.this.currentNumberOfThreads()); } }; threadpoolMonitoredObject.addAttribute(b1); LongMonitoredAttributeBase b2 = new LongMonitoredAttributeBase( MonitoringConstants.THREADPOOL_NUMBER_OF_AVAILABLE_THREADS, MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS_DESCRIPTION) { public Object getValue() { return new Long(ThreadPoolImpl.this.numberOfAvailableThreads()); } }; threadpoolMonitoredObject.addAttribute(b2); LongMonitoredAttributeBase b3 = new LongMonitoredAttributeBase( MonitoringConstants.THREADPOOL_NUMBER_OF_BUSY_THREADS, MonitoringConstants.THREADPOOL_NUMBER_OF_BUSY_THREADS_DESCRIPTION) { public Object getValue() { return new Long(ThreadPoolImpl.this.numberOfBusyThreads()); } }; threadpoolMonitoredObject.addAttribute(b3); LongMonitoredAttributeBase b4 = new LongMonitoredAttributeBase( MonitoringConstants.THREADPOOL_AVERAGE_WORK_COMPLETION_TIME, MonitoringConstants.THREADPOOL_AVERAGE_WORK_COMPLETION_TIME_DESCRIPTION) { public Object getValue() { return new Long(ThreadPoolImpl.this.averageWorkCompletionTime()); } }; threadpoolMonitoredObject.addAttribute(b4); LongMonitoredAttributeBase b5 = new LongMonitoredAttributeBase( MonitoringConstants.THREADPOOL_CURRENT_PROCESSED_COUNT, MonitoringConstants.THREADPOOL_CURRENT_PROCESSED_COUNT_DESCRIPTION) { public Object getValue() { return new Long(ThreadPoolImpl.this.currentProcessedCount()); } }; threadpoolMonitoredObject.addAttribute(b5); // Add the monitored object for the WorkQueue threadpoolMonitoredObject.addChild(((WorkQueueImpl) workQueue).getMonitoredObject()); }
protected void registerWithMonitoring() { // ORB MonitoredObject orbMO = orb.getMonitoringManager().getRootMonitoredObject(); // CONNECTION MonitoredObject connectionMO = orbMO.getChild(MonitoringConstants.CONNECTION_MONITORING_ROOT); if (connectionMO == null) { connectionMO = MonitoringFactories.getMonitoredObjectFactory() .createMonitoredObject( MonitoringConstants.CONNECTION_MONITORING_ROOT, MonitoringConstants.CONNECTION_MONITORING_ROOT_DESCRIPTION); orbMO.addChild(connectionMO); } // OUTBOUND CONNECTION MonitoredObject outboundConnectionMO = connectionMO.getChild(MonitoringConstants.OUTBOUND_CONNECTION_MONITORING_ROOT); if (outboundConnectionMO == null) { outboundConnectionMO = MonitoringFactories.getMonitoredObjectFactory() .createMonitoredObject( MonitoringConstants.OUTBOUND_CONNECTION_MONITORING_ROOT, MonitoringConstants.OUTBOUND_CONNECTION_MONITORING_ROOT_DESCRIPTION); connectionMO.addChild(outboundConnectionMO); } // NODE FOR THIS CACHE MonitoredObject thisMO = outboundConnectionMO.getChild(getMonitoringName()); if (thisMO == null) { thisMO = MonitoringFactories.getMonitoredObjectFactory() .createMonitoredObject( getMonitoringName(), MonitoringConstants.CONNECTION_MONITORING_DESCRIPTION); outboundConnectionMO.addChild(thisMO); } LongMonitoredAttributeBase attribute; // ATTRIBUTE attribute = new LongMonitoredAttributeBase( MonitoringConstants.CONNECTION_TOTAL_NUMBER_OF_CONNECTIONS, MonitoringConstants.CONNECTION_TOTAL_NUMBER_OF_CONNECTIONS_DESCRIPTION) { public Object getValue() { return new Long(CorbaOutboundConnectionCacheImpl.this.numberOfConnections()); } }; thisMO.addAttribute(attribute); // ATTRIBUTE attribute = new LongMonitoredAttributeBase( MonitoringConstants.CONNECTION_NUMBER_OF_IDLE_CONNECTIONS, MonitoringConstants.CONNECTION_NUMBER_OF_IDLE_CONNECTIONS_DESCRIPTION) { public Object getValue() { return new Long(CorbaOutboundConnectionCacheImpl.this.numberOfIdleConnections()); } }; thisMO.addAttribute(attribute); // ATTRIBUTE attribute = new LongMonitoredAttributeBase( MonitoringConstants.CONNECTION_NUMBER_OF_BUSY_CONNECTIONS, MonitoringConstants.CONNECTION_NUMBER_OF_BUSY_CONNECTIONS_DESCRIPTION) { public Object getValue() { return new Long(CorbaOutboundConnectionCacheImpl.this.numberOfBusyConnections()); } }; thisMO.addAttribute(attribute); }