[teiid-commits] teiid SVN: r2171 - in trunk/console/src/main: java/org/teiid/rhq/plugin and 2 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri May 28 16:54:30 EDT 2010


Author: tejones
Date: 2010-05-28 16:54:29 -0400 (Fri, 28 May 2010)
New Revision: 2171

Modified:
   trunk/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java
   trunk/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java
   trunk/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
   trunk/console/src/main/resources/META-INF/rhq-plugin.xml
Log:
TEIID-1099: Changed Long Running Query Limit to use Engine property and change operation calls to use new Engine operation to return all long running query requests.

Modified: trunk/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java
===================================================================
--- trunk/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java	2010-05-28 18:35:50 UTC (rev 2170)
+++ trunk/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java	2010-05-28 20:54:29 UTC (rev 2171)
@@ -2,7 +2,6 @@
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -74,9 +73,8 @@
 			} else {
 				if (metric
 						.equals(PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
-					Integer longRunningQueryLimit = (Integer) valueMap
-							.get(PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT);
-					Collection<Request> longRunningQueries = getLongRunningQueries(longRunningQueryLimit);
+					Collection<Request> longRunningQueries = new ArrayList<Request>();
+					getRequestCollectionValue(getLongRunningQueries(), longRunningQueries);
 					resultObject = new Double(longRunningQueries.size());
 				}
 			}
@@ -104,9 +102,8 @@
 			resultObject = new Double(getSessionCount().doubleValue());
 		} else if (metric
 				.equals(PluginConstants.ComponentType.VDB.Metrics.LONG_RUNNING_QUERIES)) {
-			Integer longRunningQueryLimit = (Integer) valueMap
-					.get(PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT);
-			Collection<Request> longRunningQueries = getLongRunningQueries(longRunningQueryLimit);
+			Collection<Request> longRunningQueries = new ArrayList<Request>();
+			getRequestCollectionValue(getLongRunningQueries(), longRunningQueries);
 			resultObject = new Double(longRunningQueries.size());
 
 		}
@@ -141,10 +138,8 @@
 
 
 		if (operationName.equals(Platform.Operations.GET_LONGRUNNINGQUERIES)) {
-			Integer longRunningValue = (Integer) valueMap
-					.get(Operation.Value.LONG_RUNNING_QUERY_LIMIT);
 			List<String> fieldNameList = operationResult.getFieldNameList();
-			resultObject = getLongRunningQueries(longRunningValue);
+			getRequestCollectionValue(getLongRunningQueries(), resultObject);
 			operationResult.setContent(createReportResultList(fieldNameList,
 					resultObject.iterator()));
 		} else if (operationName.equals(Platform.Operations.GET_SESSIONS)) {
@@ -441,8 +436,6 @@
 			ManagedObjectImpl managedObject = (ManagedObjectImpl) genValueSupport
 					.getValue();
 
-			String modelName = managedObject.getName();
-
 			// Get any model errors/warnings
 			MetaValue errors = managedObject.getProperty("errors").getValue();
 			if (errors != null) {
@@ -454,31 +447,20 @@
 		return count;
 	}
 
-	protected Collection<Request> getLongRunningQueries(int longRunningValue) {
+	protected MetaValue getLongRunningQueries() {
 
 		MetaValue requestsCollection = null;
-		Collection<Request> list = new ArrayList<Request>();
+		MetaValue args = null;
 
-		double longRunningQueryTimeDouble = new Double(longRunningValue);
-
-		requestsCollection = getRequests();
-
-		getRequestCollectionValue(requestsCollection, list);
-
-		Iterator<Request> requestsIter = list.iterator();
-		while (requestsIter.hasNext()) {
-			Request request = requestsIter.next();
-			long startTime = request.getStartTime();
-			// Get msec from each, and subtract.
-			long runningTime = Calendar.getInstance().getTimeInMillis()
-					- startTime;
-
-			if (runningTime < longRunningQueryTimeDouble) {
-				requestsIter.remove();
-			}
+		try {
+			requestsCollection = executeManagedOperation(mc,
+					Platform.Operations.GET_LONGRUNNINGQUERIES, args);
+		} catch (Exception e) {
+			final String msg = "Exception executing operation: " + Platform.Operations.GET_LONGRUNNINGQUERIES; //$NON-NLS-1$
+			LOG.error(msg, e);
 		}
 
-		return list;
+		return requestsCollection;
 	}
 
 	public static <T> void getRequestCollectionValue(MetaValue pValue,

Modified: trunk/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java
===================================================================
--- trunk/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java	2010-05-28 18:35:50 UTC (rev 2170)
+++ trunk/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java	2010-05-28 20:54:29 UTC (rev 2171)
@@ -109,13 +109,7 @@
 	protected void setOperationArguments(String name,
 			Configuration configuration, Map<String, Object> valueMap) {
 		// Parameter logic for System Operations
-		if (name.equals(Platform.Operations.GET_QUERIES)
-				|| name.equals(Platform.Operations.GET_LONGRUNNINGQUERIES)) {
-			Integer long_running_value = getResourceConfiguration().getSimple(
-					Operation.Value.LONG_RUNNING_QUERY_LIMIT).getIntegerValue();
-			valueMap.put(Operation.Value.LONG_RUNNING_QUERY_LIMIT,
-					long_running_value);
-		} else if (name.equals(Platform.Operations.KILL_REQUEST)) {
+		if (name.equals(Platform.Operations.KILL_REQUEST)) {
 			valueMap.put(Operation.Value.REQUEST_ID, configuration.getSimple(
 					Operation.Value.REQUEST_ID).getLongValue());
 			valueMap.put(Operation.Value.SESSION_ID, configuration.getSimple(
@@ -144,22 +138,8 @@
 				LOG.debug("Measurement name = " + name); //$NON-NLS-1$
 
 				// Initialize any parameters to be used in the retrieval of
-				// metric
-				// values
-				if (request
-						.getName()
-						.equals(
-								PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
-					Integer value = getResourceConfiguration()
-							.getSimple(
-									PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT)
-							.getIntegerValue();
-					valueMap
-							.put(
-									PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT,
-									value);
-				}
-
+				// metric values
+				
 				Object metricReturnObject = view.getMetric(getComponentType(),
 						this.getComponentIdentifier(), name, valueMap);
 
@@ -272,21 +252,6 @@
 	@Override
 	public Configuration loadResourceConfiguration() {
 
-		// ManagedComponent platform = null;
-		// try {
-		// platform = ProfileServiceUtil.getManagedComponent(
-		// new
-		// org.jboss.managed.api.ComponentType(PluginConstants.ComponentType.Platform.TYPE,
-		// PluginConstants.ComponentType.Platform.SUBTYPE),
-		// PluginConstants.ComponentType.Platform.TEIID_RUNTIME_ENGINE);
-		// } catch (NamingException e) {
-		//			final String msg = "NamingException in loadResourceConfiguration(): " + e.getExplanation(); //$NON-NLS-1$
-		// LOG.error(msg, e);
-		// } catch (Exception e) {
-		//			final String msg = "Exception in loadResourceConfiguration(): " + e.getMessage(); //$NON-NLS-1$
-		// LOG.error(msg, e);
-		// }
-		//		
 		// Get plugin config
 		Configuration c = resourceContext.getPluginConfiguration();
 

Modified: trunk/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
===================================================================
--- trunk/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java	2010-05-28 18:35:50 UTC (rev 2170)
+++ trunk/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java	2010-05-28 20:54:29 UTC (rev 2171)
@@ -70,7 +70,7 @@
 			public static interface Operations {
 
 				public final static String GET_QUERIES = "listQueries"; //$NON-NLS-1$					
-				public final static String GET_LONGRUNNINGQUERIES = "listLongRunningQueries"; //$NON-NLS-1$
+				public final static String GET_LONGRUNNINGQUERIES = "getLongRunningRequests"; //$NON-NLS-1$
 				public final static String KILL_REQUEST = "cancelRequest"; //$NON-NLS-1$
 				public final static String KILL_SESSION = "terminateSession"; //$NON-NLS-1$
 				public final static String KILL_TRANSACTION = "terminateTransaction"; //$NON-NLS-1$
@@ -100,7 +100,7 @@
 			public static interface Operations {
 
 				public final static String GET_QUERIES = "listQueries"; //$NON-NLS-1$					
-				public final static String GET_LONGRUNNINGQUERIES = "listLongRunningQueries"; //$NON-NLS-1$
+				public final static String GET_LONGRUNNINGQUERIES = "getLongRunningRequests"; //$NON-NLS-1$
 				public final static String KILL_REQUEST = "cancelRequest"; //$NON-NLS-1$
 				public final static String KILL_SESSION = "terminateSession"; //$NON-NLS-1$
 				public final static String GET_PROPERTIES = "getProperties"; //$NON-NLS-1$

Modified: trunk/console/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- trunk/console/src/main/resources/META-INF/rhq-plugin.xml	2010-05-28 18:35:50 UTC (rev 2170)
+++ trunk/console/src/main/resources/META-INF/rhq-plugin.xml	2010-05-28 20:54:29 UTC (rev 2171)
@@ -89,7 +89,7 @@
 				plugin="JBossAS5" />
 		</runs-inside>
 
-		<operation name="listLongRunningQueries" displayName="View current long running queries"
+		<operation name="getLongRunningRequests" displayName="View current long running queries"
 			description="List current queries executing against the Teiid System that have surpassed the long running query threshhold">
 			<results>
 				<c:list-property name="list">
@@ -254,18 +254,6 @@
 			description="The number of user connections for a given point in time" />
 
 		<resource-configuration>
-			<c:group name="general" displayName="General"
-				hiddenByDefault="false">
-				<c:description>Query Configuration</c:description>
-				<c:simple-property name="longRunningQueryLimit"
-					type="integer" activationPolicy="immediate" units="seconds"
-					default="600" required="true" displayName="Long Running Query limit"
-					description="The value (in seconds) to use to determine if a query is to be considered 'long running'.">
-					<c:constraint>
-						<c:integer-constraint minimum="0" maximum="999999" />
-					</c:constraint>
-				</c:simple-property>
-			</c:group>
 			<c:group name="teiidProperties" displayName="Runtime Engine Properties"
 				hiddenByDefault="false">
 				<c:simple-property name="resultSetCacheMaxEntries"
@@ -316,6 +304,9 @@
 				<c:simple-property name="activeSessionsCount"
 					displayName="Active Session Count" description="Count of active sessions"
 					required="false" readOnly="false" />
+				<c:simple-property name="queryThresholdInSecs"
+					displayName="Long Running Query Threshold" description="Length of time in seconds before a query is considered long running"
+					required="false" readOnly="false" />	
 			</c:group>
 			<c:group name="bufferServiceProperties" displayName="Buffer Service Properties"
 				hiddenByDefault="false">



More information about the teiid-commits mailing list