Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

DataCollectionNames.java

00001 /**
00002  * C-JDBC: Clustered JDBC.
00003  * Copyright (C) 2002-2004 French National Institute For Research In Computer
00004  * Science And Control (INRIA).
00005  * Contact: c-jdbc@objectweb.org
00006  * 
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published by the
00009  * Free Software Foundation; either version 2.1 of the License, or any later
00010  * version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00015  * for more details.
00016  * 
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with this library; if not, write to the Free Software Foundation,
00019  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00020  *
00021  * Initial developer(s): Nicolas Modrzyk.
00022  * Contributor(s): 
00023  */
00024 
00025 package org.objectweb.cjdbc.common.monitor;
00026 
00027 import org.objectweb.cjdbc.common.i18n.Translate;
00028 
00029 /**
00030  * Name convertions for data collection types.
00031  * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk </a>
00032  */
00033 public class DataCollectionNames implements DataCollection
00034 {
00035 
00036   /**
00037    * Convert the type reference of a collector into a <code>String</code>
00038    * 
00039    * @param dataType see DataCollection
00040    * @return a <code>String</code> that describes the collector
00041    */
00042   public static String get(int dataType)
00043   {
00044     switch (dataType)
00045     {
00046       /*
00047        * Controller Collectors
00048        */
00049       case CONTROLLER_TOTAL_MEMORY :
00050         return Translate.get("monitoring.controller.total.memory");
00051       case CONTROLLER_USED_MEMORY :
00052         return Translate.get("monitoring.controller.used.memory");
00053       case CONTROLLER_WORKER_PENDING_QUEUE :
00054         return Translate.get("monitoring.controller.pending.queue");
00055       case CONTROLLER_THREADS_NUMBER :
00056         return Translate.get("monitoring.controller.threads.number");
00057       case CONTROLLER_IDLE_WORKER_THREADS :
00058         return Translate.get("monitoring.controller.idle.worker.threads");
00059       /*
00060        * Backend collectors
00061        */
00062       case BACKEND_ACTIVE_TRANSACTION :
00063         return Translate.get("monitoring.backend.active.transactions");
00064       case BACKEND_PENDING_REQUESTS :
00065         return Translate.get("monitoring.backend.pending.requests");
00066       case BACKEND_TOTAL_ACTIVE_CONNECTIONS :
00067         return Translate.get("monitoring.backend.active.connections");
00068       case BACKEND_TOTAL_REQUEST :
00069         return Translate.get("monitoring.backend.total.requests");
00070       case BACKEND_TOTAL_READ_REQUEST :
00071         return Translate.get("monitoring.backend.total.read.requests");
00072       case BACKEND_TOTAL_WRITE_REQUEST :
00073         return Translate.get("monitoring.backend.total.write.requests");
00074       case BACKEND_TOTAL_TRANSACTIONS :
00075         return Translate.get("monitoring.backend.total.transactions");
00076       /*
00077        * VirtualDatabase collectors
00078        */
00079       case DATABASES_ACTIVE_THREADS :
00080         return Translate.get("monitoring.virtualdatabase.active.threads");
00081       case DATABASES_PENDING_CONNECTIONS :
00082         return Translate.get("monitoring.virtualdatabase.pending.connections");
00083       case DATABASES_NUMBER_OF_THREADS :
00084         return Translate.get("monitoring.virtualdatabase.threads.count");
00085       /*
00086        * Cache stats collectors
00087        */
00088       case CACHE_STATS_COUNT_HITS :
00089         return Translate.get("monitoring.cache.count.hits");
00090       case CACHE_STATS_COUNT_INSERT :
00091         return Translate.get("monitoring.cache.count.insert");
00092       case CACHE_STATS_COUNT_SELECT :
00093         return Translate.get("monitoring.cache.count.select");
00094       case CACHE_STATS_HITS_PERCENTAGE :
00095         return Translate.get("monitoring.cache.hits.ratio");
00096       case CACHE_STATS_NUMBER_ENTRIES :
00097         return Translate.get("monitoring.cache.number.entries");
00098       /*
00099        * Scheduler collectors
00100        */
00101       case SCHEDULER_NUMBER_READ :
00102         return Translate.get("monitoring.scheduler.number.read");
00103       case SCHEDULER_NUMBER_REQUESTS :
00104         return Translate.get("monitoring.scheduler.number.requests");
00105       case SCHEDULER_NUMBER_WRITES :
00106         return Translate.get("monitoring.scheduler.number.writes");
00107       case SCHEDULER_PENDING_TRANSACTIONS :
00108         return Translate.get("monitoring.scheduler.pending.transactions");
00109       case SCHEDULER_PENDING_WRITES :
00110         return Translate.get("monitoring.scheduler.pending.writes");
00111       /*
00112        * Client collectors
00113        */
00114       case CLIENT_BYTES_READ :
00115         return Translate.get("monitoring.client.bytes.read");
00116       case CLIENT_BYTES_WRITTEN :
00117         return Translate.get("monitoring.client.bytes.written");
00118       case CLIENT_TIME_ACTIVE :
00119         return Translate.get("monitoring.client.time.active");
00120       case CLIENT_READING_SPEED :
00121         return Translate.get("monitoring.client.reading.speed");
00122       case CLIENT_WRITING_SPEED :
00123         return Translate.get("monitoring.client.writing.speed");
00124       /*
00125        * Unknown collector
00126        */
00127       default :
00128         return "";
00129     }
00130   }
00131 
00132   /**
00133    * Return the type of the collector corresponding to the command
00134    * 
00135    * @param command to get type form
00136    * @return an <code>int</code>
00137    */
00138   public static int getTypeFromCommand(String command)
00139   {
00140     command = command.replace('_', ' ');
00141     /*
00142      * Controller Collectors
00143      */
00144     if (command.equalsIgnoreCase(Translate
00145         .get("monitoring.controller.total.memory")))
00146       return CONTROLLER_TOTAL_MEMORY;
00147     else if (command.equalsIgnoreCase(Translate
00148         .get("monitoring.controller.used.memory")))
00149       return CONTROLLER_USED_MEMORY;
00150     else if (command.equalsIgnoreCase(Translate
00151         .get("monitoring.controller.pending.queue")))
00152       return CONTROLLER_WORKER_PENDING_QUEUE;
00153     else if (command.equalsIgnoreCase(Translate
00154         .get("monitoring.controller.threads.number")))
00155       return CONTROLLER_THREADS_NUMBER;
00156     else if (command.equalsIgnoreCase(Translate
00157         .get("monitoring.controller.idle.worker.threads")))
00158       return CONTROLLER_IDLE_WORKER_THREADS;
00159 
00160     /*
00161      * Backend collectors
00162      */
00163     else if (command.equalsIgnoreCase(Translate
00164         .get("monitoring.backend.active.transactions")))
00165       return BACKEND_ACTIVE_TRANSACTION;
00166     else if (command.equalsIgnoreCase(Translate
00167         .get("monitoring.backend.pending.requests")))
00168       return BACKEND_PENDING_REQUESTS;
00169     else if (command.equalsIgnoreCase(Translate
00170         .get("monitoring.backend.active.connections")))
00171       return BACKEND_TOTAL_ACTIVE_CONNECTIONS;
00172     else if (command.equalsIgnoreCase(Translate
00173         .get("monitoring.backend.total.read.requests")))
00174       return BACKEND_TOTAL_READ_REQUEST;
00175     else if (command.equalsIgnoreCase(Translate
00176         .get("monitoring.backend.total.write.requests")))
00177       return BACKEND_TOTAL_WRITE_REQUEST;
00178     else if (command.equalsIgnoreCase(Translate
00179         .get("monitoring.backend.total.requests")))
00180       return BACKEND_TOTAL_REQUEST;
00181     else if (command.equalsIgnoreCase(Translate
00182         .get("monitoring.backend.total.transactions")))
00183       return BACKEND_TOTAL_TRANSACTIONS;
00184 
00185     /*
00186      * VirtualDatabase collectors
00187      */
00188     else if (command.equalsIgnoreCase(Translate
00189         .get("monitoring.virtualdatabase.active.threads")))
00190       return DATABASES_ACTIVE_THREADS;
00191     else if (command.equalsIgnoreCase(Translate
00192         .get("monitoring.virtualdatabase.pending.connections")))
00193       return DATABASES_PENDING_CONNECTIONS;
00194     else if (command.equalsIgnoreCase(Translate
00195         .get("monitoring.virtualdatabase.threads.count")))
00196       return DATABASES_NUMBER_OF_THREADS;
00197 
00198     /*
00199      * Cache stats collectors
00200      */
00201     else if (command.equalsIgnoreCase(Translate
00202         .get("monitoring.cache.count.hits")))
00203       return CACHE_STATS_COUNT_HITS;
00204     else if (command.equalsIgnoreCase(Translate
00205         .get("monitoring.cache.count.insert")))
00206       return CACHE_STATS_COUNT_INSERT;
00207     else if (command.equalsIgnoreCase(Translate
00208         .get("monitoring.cache.count.select")))
00209       return CACHE_STATS_COUNT_SELECT;
00210     else if (command.equalsIgnoreCase(Translate
00211         .get("monitoring.cache.hits.ratio")))
00212       return CACHE_STATS_HITS_PERCENTAGE;
00213     else if (command.equalsIgnoreCase(Translate
00214         .get("monitoring.cache.number.entries")))
00215       return CACHE_STATS_NUMBER_ENTRIES;
00216 
00217     /*
00218      * Scheduler collectors
00219      */
00220     else if (command.equalsIgnoreCase(Translate
00221         .get("monitoring.scheduler.number.read")))
00222       return SCHEDULER_NUMBER_READ;
00223     else if (command.equalsIgnoreCase(Translate
00224         .get("monitoring.scheduler.number.requests")))
00225       return SCHEDULER_NUMBER_REQUESTS;
00226     else if (command.equalsIgnoreCase(Translate
00227         .get("monitoring.scheduler.number.writes")))
00228       return SCHEDULER_NUMBER_WRITES;
00229     else if (command.equalsIgnoreCase(Translate
00230         .get("monitoring.scheduler.pending.transactions")))
00231       return SCHEDULER_PENDING_TRANSACTIONS;
00232     else if (command.equalsIgnoreCase(Translate
00233         .get("monitoring.scheduler.pending.writes")))
00234       return SCHEDULER_PENDING_WRITES;
00235 
00236     /*
00237      * Client collectors
00238      */
00239     else if (command.equalsIgnoreCase(Translate
00240         .get("monitoring.client.bytes.read")))
00241       return CLIENT_BYTES_READ;
00242     else if (command.equalsIgnoreCase(Translate
00243         .get("monitoring.client.bytes.written")))
00244       return CLIENT_BYTES_WRITTEN;
00245     else if (command.equalsIgnoreCase(Translate
00246         .get("monitoring.client.time.active")))
00247       return CLIENT_TIME_ACTIVE;
00248     else if (command.equalsIgnoreCase(Translate
00249         .get("monitoring.client.reading.speed")))
00250       return CLIENT_READING_SPEED;
00251     else if (command.equalsIgnoreCase(Translate
00252         .get("monitoring.client.writing.speed")))
00253       return CLIENT_WRITING_SPEED;
00254 
00255     else
00256       return 0;
00257   }
00258 }

Generated on Mon Apr 11 22:01:31 2005 for C-JDBC by  doxygen 1.3.9.1