From: Ron B. <rjb...@us...> - 2007-01-18 00:39:30
|
Update of /cvsroot/glassbox/glassbox/monitor/src/glassbox/monitor/resource In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2051/src/glassbox/monitor/resource Modified Files: TerracottaMonitor.java EjbOperationMonitor.aj Log Message: Handle enabling and disabling monitors properly with top-level entry indicator. Provide support for the TerraCotta monitor using a listener interface. Index: TerracottaMonitor.java =================================================================== RCS file: /cvsroot/glassbox/glassbox/monitor/src/glassbox/monitor/resource/TerracottaMonitor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TerracottaMonitor.java 15 Dec 2006 19:44:47 -0000 1.1 --- TerracottaMonitor.java 18 Jan 2007 00:39:29 -0000 1.2 *************** *** 2,9 **** import glassbox.monitor.AbstractMonitorClass; import glassbox.response.Response; import java.io.Serializable; - import java.lang.NoClassDefFoundError; import com.tc.hooks.StatsListener; --- 2,10 ---- import glassbox.monitor.AbstractMonitorClass; + import glassbox.monitor.ui.ServletRequestMonitor; import glassbox.response.Response; + import glassbox.track.api.OperationDescription; import java.io.Serializable; import com.tc.hooks.StatsListener; *************** *** 16,20 **** } catch (NoClassDefFoundError err) { // not available ! logDebug("Terracotta monitor disabled: not on classpath."); } catch (Throwable t) { logError("Unxpected problem initializing Terracotta Monitor", t); --- 17,22 ---- } catch (NoClassDefFoundError err) { // not available ! // /logDebug("Terracotta monitor disabled: not on classpath."); ! logError("Terracotta monitor disabled: not on classpath.", err); } catch (Throwable t) { logError("Unxpected problem initializing Terracotta Monitor", t); *************** *** 38,50 **** public void beginLockAquire(String lockId) { ! begin("lock "+lockId); } public void beginObjectFault(int oid) { ! begin("object fault "+oid); } public void beginTransactionCommit(String txnId) { ! begin("transaction "+txnId); } --- 40,52 ---- public void beginLockAquire(String lockId) { ! beginTc(lockId, "Distributed Lock"); } public void beginObjectFault(int oid) { ! beginTc(new Integer(oid), "Distributed Object Fault"); } public void beginTransactionCommit(String txnId) { ! beginTc(txnId, "Distributed Transaction"); } *************** *** 60,63 **** --- 62,72 ---- endNormally("endTransactionCommit"); } + + void beginTc(Object key, Object opType) { + OperationDescription operation = operationFactory.makeRemoteOperation("Terracotta Monitor", opType.toString(), ""); + Response response = createResponse(operation, ServletRequestMonitor.JSP_PRIORITY); + response.set(Response.PARAMETERS, new Object[] { key }); + response.start(); + } } Index: EjbOperationMonitor.aj =================================================================== RCS file: /cvsroot/glassbox/glassbox/monitor/src/glassbox/monitor/resource/EjbOperationMonitor.aj,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EjbOperationMonitor.aj 15 Nov 2006 08:16:58 -0000 1.3 --- EjbOperationMonitor.aj 18 Jan 2007 00:39:29 -0000 1.4 *************** *** 22,25 **** --- 22,26 ---- protected pointcut monitorEnd() : ejbMethod(*); + protected pointcut topLevelPoint() : monitorEnd(); // declare parents: javax.ejb.EjbContext implements IEjbContext; |