DataCollector.java の 79 行で定義されています。
Public メソッド | |
DataCollector (Controller controller) | |
String[][] | retrieveBackendsData () throws DataCollectorException |
String[][] | retrieveBackendsData (String virtualDatabasename) throws DataCollectorException |
String[][] | retrieveCacheData () throws DataCollectorException |
String[][] | retrieveCacheData (String virtualDatabasename) throws DataCollectorException |
String[][] | retrieveCacheStatsData () throws DataCollectorException |
String[][] | retrieveCacheStatsData (String virtualDatabasename) throws DataCollectorException |
String[][] | retrieveClientsData () throws DataCollectorException |
String[][] | retrieveClientsData (String virtualDatabasename) throws DataCollectorException |
String[][] | retrieveControllerLoadData () |
String[][] | retrieveSQLStats () throws DataCollectorException |
String[][] | retrieveSQLStats (String virtualDatabasename) throws DataCollectorException |
String[][] | retrieveVirtualDatabasesData () |
Controller | getController () |
String[][] | retrieveSchedulerData (String virtualDatabasename) throws DataCollectorException |
AbstractDataCollector | retrieveDataCollectorInstance (int dataType, String targetName, String virtualDbName) throws DataCollectorException |
long | retrieveData (AbstractDataCollector collector) throws DataCollectorException |
boolean | hasVirtualDatabase (String name) |
変数 | |
Controller | controller |
スタティック変数 | |
Trace | logger = Trace.getLogger("org.objectweb.cjdbc.controller.jmx") |
Private メソッド | |
VirtualDatabase | getVirtualDatabase (String name) throws DataCollectorException |
|
Create a new DataCollector associated to this controller.
DataCollector.java の 90 行で定義されています。
00091 {
00092 this.controller = controller;
00093 }
|
|
DataCollector.java の 298 行で定義されています。
00299 { 00300 return controller; 00301 } |
|
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 424 行で定義されています。 参照先 org.objectweb.cjdbc.controller.core.Controller.hasVirtualDatabase().
00425 { 00426 return controller.hasVirtualDatabase(name); 00427 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 122 行で定義されています。 参照先 org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.acquireReadLockBackendLists(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getBackends(), org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase(), と org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.releaseReadLockBackendLists().
00124 { 00125 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00126 try 00127 { 00128 vdb.acquireReadLockBackendLists(); 00129 } 00130 catch (InterruptedException e) 00131 { 00132 String msg = Translate.get("virtualdatabase.fail.read.lock", e); 00133 throw new DataCollectorException(msg); 00134 } 00135 ArrayList backends = vdb.getBackends(); 00136 int backendListSize = backends.size(); 00137 String[][] data = new String[backendListSize][]; 00138 for (int i = 0; i < backendListSize; i++) 00139 { 00140 data[i] = ((DatabaseBackend) backends.get(i)).getBackendData(); 00141 } 00142 vdb.releaseReadLockBackendLists(); 00143 return data; 00144 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 114 行で定義されています。
00115 { 00116 throw new DataCollectorException("Not Implemented"); 00117 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 158 行で定義されています。 参照先 org.objectweb.cjdbc.controller.cache.result.AbstractResultCache.getCacheData(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getRequestManager(), と org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase().
00160 { 00161 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00162 AbstractResultCache cache = vdb.getRequestManager().getResultCache(); 00163 if (cache == null) 00164 throw new DataCollectorException(ExceptionTypes.NO_CACHE_ENABLED); 00165 else 00166 { 00167 try 00168 { 00169 return cache.getCacheData(); 00170 } 00171 catch (Exception e) 00172 { 00173 throw new DataCollectorException(e.getMessage()); 00174 } 00175 } 00176 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 149 行で定義されています。
00150 { 00151 throw new DataCollectorException(ExceptionTypes.NOT_IMPLEMENTED); 00152 00153 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 189 行で定義されています。 参照先 org.objectweb.cjdbc.controller.cache.result.AbstractResultCache.getCacheStatsData(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getRequestManager(), と org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase().
00191 { 00192 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00193 AbstractResultCache cache = vdb.getRequestManager().getResultCache(); 00194 if (cache == null) 00195 throw new DataCollectorException("No Cache enabled."); 00196 else 00197 { 00198 try 00199 { 00200 return cache.getCacheStatsData(); 00201 } 00202 catch (Exception e) 00203 { 00204 throw new DataCollectorException(e.getMessage()); 00205 } 00206 } 00207 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 181 行で定義されています。
00182 { 00183 throw new DataCollectorException(ExceptionTypes.NOT_IMPLEMENTED); 00184 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 220 行で定義されています。 参照先 org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getActiveThreads(), と org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase().
00222 { 00223 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00224 ArrayList activeThreads = vdb.getActiveThreads(); 00225 int size = activeThreads.size(); 00226 String[][] data = new String[size][]; 00227 for (int i = 0; i < size; i++) 00228 { 00229 data[i] = ((VirtualDatabaseWorkerThread) activeThreads.get(i)) 00230 .retrieveClientData(); 00231 } 00232 return data; 00233 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 212 行で定義されています。
00213 { 00214 throw new DataCollectorException("Not Implemented"); 00215 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 238 行で定義されています。 参照先 org.objectweb.cjdbc.controller.core.Controller.getConnectionThread(), と org.objectweb.cjdbc.controller.core.Controller.getIPAddress().
00239 { 00240 long total = Runtime.getRuntime().totalMemory(); 00241 long free = Runtime.getRuntime().freeMemory(); 00242 String[][] data = new String[1][6]; 00243 data[0][0] = controller.getIPAddress(); 00244 data[0][1] = "" + total / 1024 / 1024; 00245 data[0][2] = "" + (total - free) / 1024 / 1024; 00246 data[0][3] = "" + Thread.activeCount(); 00247 data[0][4] = "" 00248 + controller.getConnectionThread() 00249 .getControllerServerThreadPendingQueueSize(); 00250 data[0][5] = "" + controller.getConnectionThread().getIdleWorkerThreads(); 00251 return data; 00252 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 413 行で定義されています。
00415 { 00416 // Get the new value and return it 00417 // recall reference to controller (is transient in collector) 00418 collector.setController(controller); 00419 return collector.collectValue(); 00420 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 319 行で定義されています。
00321 { 00322 switch (dataType) 00323 { 00324 /* 00325 * Controller Collectors 00326 */ 00327 case CONTROLLER_TOTAL_MEMORY : 00328 return new TotalMemoryCollector(controller); 00329 case CONTROLLER_USED_MEMORY : 00330 return new UsedMemoryCollector(controller); 00331 case CONTROLLER_WORKER_PENDING_QUEUE : 00332 return new ControllerWorkerPendingQueueCollector(controller); 00333 case CONTROLLER_THREADS_NUMBER : 00334 return new ThreadsCountCollector(controller); 00335 case CONTROLLER_IDLE_WORKER_THREADS : 00336 return new ControllerIdleThreadsCollector(controller); 00337 /* 00338 * Backend collectors 00339 */ 00340 case BACKEND_ACTIVE_TRANSACTION : 00341 return new ActiveTransactionCollector(targetName, virtualDbName); 00342 case BACKEND_PENDING_REQUESTS : 00343 return new PendingRequestsCollector(targetName, virtualDbName); 00344 case BACKEND_TOTAL_ACTIVE_CONNECTIONS : 00345 return new ActiveConnectionsCollector(targetName, virtualDbName); 00346 case BACKEND_TOTAL_REQUEST : 00347 return new RequestsCollector(targetName, virtualDbName); 00348 case BACKEND_TOTAL_READ_REQUEST : 00349 return new ReadRequestsCollector(targetName, virtualDbName); 00350 case BACKEND_TOTAL_WRITE_REQUEST : 00351 return new WriteRequestsCollector(targetName, virtualDbName); 00352 case BACKEND_TOTAL_TRANSACTIONS : 00353 return new TransactionsCollector(targetName, virtualDbName); 00354 /* 00355 * VirtualDatabase collectors 00356 */ 00357 case DATABASES_ACTIVE_THREADS : 00358 return new ActiveDatabaseThreadCollector(virtualDbName); 00359 case DATABASES_PENDING_CONNECTIONS : 00360 return new PendingDatabaseConnectionCollector(virtualDbName); 00361 case DATABASES_NUMBER_OF_THREADS : 00362 return new DatabaseThreadsCollector(virtualDbName); 00363 /* 00364 * Cache stats collectors 00365 */ 00366 case CACHE_STATS_COUNT_HITS : 00367 return new CountHitsCollector(virtualDbName); 00368 case CACHE_STATS_COUNT_INSERT : 00369 return new CountInsertCollector(virtualDbName); 00370 case CACHE_STATS_COUNT_SELECT : 00371 return new CountSelectCollector(virtualDbName); 00372 case CACHE_STATS_HITS_PERCENTAGE : 00373 return new HitsRatioCollector(virtualDbName); 00374 case CACHE_STATS_NUMBER_ENTRIES : 00375 return new CacheEntriesCollector(virtualDbName); 00376 /* 00377 * Scheduler collectors 00378 */ 00379 case SCHEDULER_NUMBER_READ : 00380 return new NumberReadCollector(virtualDbName); 00381 case SCHEDULER_NUMBER_REQUESTS : 00382 return new NumberRequestsCollector(virtualDbName); 00383 case SCHEDULER_NUMBER_WRITES : 00384 return new NumberWriteCollector(virtualDbName); 00385 case SCHEDULER_PENDING_TRANSACTIONS : 00386 return new PendingTransactionsCollector(virtualDbName); 00387 case SCHEDULER_PENDING_WRITES : 00388 return new PendingWritesCollector(virtualDbName); 00389 /* 00390 * Client collectors 00391 */ 00392 case CLIENT_BYTES_READ : 00393 return new ClientBytesReadCollector(virtualDbName, targetName); 00394 case CLIENT_BYTES_WRITTEN : 00395 return new ClientBytesWrittenCollector(virtualDbName, targetName); 00396 case CLIENT_TIME_ACTIVE : 00397 return new ClientActiveTimeCollector(virtualDbName, targetName); 00398 case CLIENT_READING_SPEED : 00399 return new ClientReadingSpeedCollector(virtualDbName, targetName); 00400 case CLIENT_WRITING_SPEED : 00401 return new ClientWritingSpeedCollector(virtualDbName, targetName); 00402 /* 00403 * Unknown collector 00404 */ 00405 default : 00406 throw new DataCollectorException(ExceptionTypes.INVALID_COLLECTOR_TYPE); 00407 } 00408 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 306 行で定義されています。 参照先 org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getRequestManager(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.getSchedulerData(), と org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase().
00308 { 00309 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00310 AbstractScheduler scheduler = vdb.getRequestManager().getScheduler(); 00311 String[][] data = new String[1][]; 00312 data[0] = scheduler.getSchedulerData(); 00313 return data; 00314 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 265 行で定義されています。 参照先 org.objectweb.cjdbc.controller.monitoring.SQLMonitoring.getAllStatsInformation(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getSQLMonitor(), と org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollector.getVirtualDatabase().
00267 { 00268 VirtualDatabase vdb = getVirtualDatabase(virtualDatabasename); 00269 if (vdb.getSQLMonitor() == null) 00270 throw new DataCollectorException("No SQL monitoring enabled."); 00271 else 00272 return vdb.getSQLMonitor().getAllStatsInformation(); 00273 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 257 行で定義されています。
00258 { 00259 throw new DataCollectorException("Not Implemented"); 00260 } |
|
org.objectweb.cjdbc.controller.monitoring.datacollector.DataCollectorMBeanに実装されています. DataCollector.java の 278 行で定義されています。 参照先 org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getActiveThreads(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getCurrentNbOfThreads(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getName(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.getPendingConnections(), と org.objectweb.cjdbc.controller.core.Controller.getVirtualDatabases().
00279 { 00280 ArrayList dbs = controller.getVirtualDatabases(); 00281 int size = dbs.size(); 00282 String[][] data = new String[size][4]; 00283 VirtualDatabase db; 00284 for (int i = 0; i < size; i++) 00285 { 00286 db = (VirtualDatabase) dbs.get(i); 00287 data[i][0] = db.getName(); 00288 data[i][1] = "" + db.getActiveThreads().size(); 00289 data[i][2] = "" + db.getPendingConnections().size(); 00290 data[i][3] = "" + db.getCurrentNbOfThreads(); 00291 } 00292 return data; 00293 } |
|
DataCollector.java の 83 行で定義されています。 |
|
Logger instance DataCollector.java の 82 行で定義されています。 |