diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/callstack/InvocationRecord.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/callstack/InvocationRecord.java index 965bdb2b47356c9573bb49820586f9900e09446a..4636970550f5e541da8f1d05a4babda9ac73d712 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/callstack/InvocationRecord.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/callstack/InvocationRecord.java @@ -41,8 +41,6 @@ public class InvocationRecord { // Invocation statistics public final AtomicLong invocationCount = new AtomicLong(); public final AtomicLong executionTime = new AtomicLong(); - public final AtomicLong cpuTime = new AtomicLong(); - public final AtomicLong beforeCpuTime = new AtomicLong(); public final ConcurrentHashMap<String, OperationRecord> calledEndpoints = new ConcurrentHashMap<String, OperationRecord>(); private final MonitoringService monitoringService; @@ -103,18 +101,11 @@ public class InvocationRecord { return executionTime.get() - getExecutionTimeOfCalls(); } - public String getAdditionalInformation() { - return String.format("%d, %d", cpuTime.get(), - beforeCpuTime.get()); - } - - public void finishInvocation(long timeInNanos, long cpuTimeInNanos, long beforeCpuTimeInNanos) { + public void finishInvocation(long timeInNanos) { if (invocationCount.incrementAndGet() == 1) { ModelExtractionService.INSTANCE.newInvocationRecord(this); } executionTime.addAndGet(timeInNanos); - cpuTime.addAndGet(cpuTimeInNanos); - beforeCpuTime.addAndGet(beforeCpuTimeInNanos); } private long getExecutionTimeOfCalls() { diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/AbstractInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/AbstractInterceptor.java index b2f66ba7bdccd660c4da1a2b7f237400cc0bcbb5..53f111dcf3f3bc0c2916ac616c0d1e66d7b8eaab 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/AbstractInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/AbstractInterceptor.java @@ -109,9 +109,9 @@ public abstract class AbstractInterceptor implements Interceptor { // Do the measurement at the latest possible instant in time to include // overheads of the interceptor within the measurement. long executionTime = System.nanoTime() - startTimeInNs; - invocation.finishInvocation(executionTime, 0, 0); + invocation.finishInvocation(executionTime); if (localOutgoingCall != null) { - localOutgoingCall.finishInvocation(executionTime, 0, 0); + localOutgoingCall.finishInvocation(executionTime); } if (debug) { log.debug("Incoming invocation (" + operation.getComponent().getComponentName() + ", " diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBMessageInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBMessageInterceptor.java index 216a3a0f07350b2a9d8f1da775e12b4c1e839d0f..0bd8cdebc7911c5217934e8fd41784c87cc1c489 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBMessageInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBMessageInterceptor.java @@ -80,7 +80,7 @@ public class EJBMessageInterceptor extends AbstractInterceptor { .requireEndpoint(component, interfaceName, "jms", operation.getOperationName()); // This is an asynchronous invocation so the execution time from the // perspective of the caller is zero. - destCalledOrec.getInvocations()[invocation.getValueBucket()].finishInvocation(0, 0, 0); + destCalledOrec.getInvocations()[invocation.getValueBucket()].finishInvocation(0); } try { return ctx.proceed(); diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBOutgoingCallInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBOutgoingCallInterceptor.java index 27c947da20ae70316eb0322f0eb50cdb3fdc0499..a23f9bd377fab1b7ea58f074fd6c817a6d17ba4d 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBOutgoingCallInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/EJBOutgoingCallInterceptor.java @@ -121,7 +121,7 @@ public class EJBOutgoingCallInterceptor implements EJBClientInterceptor { long executionTime = endTime - invocationTime.get().longValue(); // long cpuTime = endCpuTime - startCpuTime.get().longValue(); InvocationRecord invocation = threadCallStack.pop(); - invocation.finishInvocation(executionTime, 0, 0); + invocation.finishInvocation(executionTime); if (log.isTraceEnabled()) { OperationRecord caller = threadCallStack.peek().getOperation(); diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/IncomingServletCallHandler.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/IncomingServletCallHandler.java index bb8bdc71a7ff2a0fc8850ac59ed38ee1079f74dd..f5e8e9344edd20331e0f4ca0e5373281277875ec 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/IncomingServletCallHandler.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/IncomingServletCallHandler.java @@ -26,8 +26,6 @@ */ package tools.descartes.prisma.agent.wildfly.interceptors; -import java.lang.management.ManagementFactory; -import java.lang.management.ThreadMXBean; import java.util.Deque; import org.jboss.logging.Logger; @@ -43,8 +41,6 @@ public class IncomingServletCallHandler implements HttpHandler { private static final Logger log = Logger.getLogger(IncomingServletCallHandler.class); - private final ThreadMXBean threadBean; - private HttpHandler next; private String serverNode; @@ -55,10 +51,6 @@ public class IncomingServletCallHandler implements HttpHandler { this.next = next; this.serverNode = System.getProperty("jboss.node.name"); this.monitoringService = MonitoringService.INSTANCE; - threadBean = ManagementFactory.getThreadMXBean(); - if (threadBean.isCurrentThreadCpuTimeSupported()) { - threadBean.setThreadCpuTimeEnabled(true); - } } @Override @@ -101,7 +93,7 @@ public class IncomingServletCallHandler implements HttpHandler { + invocation.getOperation().getOperationName() + ", " + executionTime + "ms)"); } - invocation.finishInvocation(executionTime, 0, 0); + invocation.finishInvocation(executionTime); } } diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/JDBCStatementInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/JDBCStatementInterceptor.java index 982b85911d11eff856eb834d1947887dfa93d6fe..9f933343fa4e47bb1c8f8ec4778842051b7b2ac5 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/JDBCStatementInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/JDBCStatementInterceptor.java @@ -26,8 +26,6 @@ */ package tools.descartes.prisma.agent.wildfly.interceptors; -import java.lang.management.ManagementFactory; -import java.lang.management.ThreadMXBean; import java.sql.SQLException; import java.util.Deque; import java.util.Properties; @@ -49,8 +47,6 @@ public class JDBCStatementInterceptor implements StatementInterceptorV2 { private static final Logger log = Logger.getLogger(EJBOutgoingCallInterceptor.class); - private final ThreadMXBean threadBean; - private final MonitoringService monitoringService; private static final ThreadLocal<MutableLong> invocationTime = new ThreadLocal<MutableLong>() { @@ -67,10 +63,6 @@ public class JDBCStatementInterceptor implements StatementInterceptorV2 { public JDBCStatementInterceptor() { this.monitoringService = MonitoringService.INSTANCE; - threadBean = ManagementFactory.getThreadMXBean(); - if (threadBean.isCurrentThreadCpuTimeSupported()) { - threadBean.setThreadCpuTimeEnabled(true); - } } @Override @@ -111,7 +103,6 @@ public class JDBCStatementInterceptor implements StatementInterceptorV2 { threadCallStack.push(orec.startInvocation()); -// startCpuTime.get().setValue(threadBean.getCurrentThreadCpuTime()); invocationTime.get().setValue(System.nanoTime()); } return null; @@ -122,13 +113,11 @@ public class JDBCStatementInterceptor implements StatementInterceptorV2 { Connection con, int warnings, boolean noIndexUsed, boolean noGoodIndexUsed, SQLException ex) throws SQLException { long endTime = System.nanoTime(); -// long endCpuTime = threadBean.getCurrentThreadCpuTime(); Deque<InvocationRecord> threadCallStack = monitoringService.getCallStack(); if (!threadCallStack.isEmpty()) { long executionTime = endTime - invocationTime.get().longValue(); -// long cpuTime = endCpuTime - startCpuTime.get().longValue(); InvocationRecord invocation = threadCallStack.pop(); - invocation.finishInvocation(executionTime, 0, 0); + invocation.finishInvocation(executionTime); if (log.isTraceEnabled()) { InvocationRecord caller = threadCallStack.peek(); diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java index 34a85ed4529b74d418b12d443ba14b06a79ddb4b..b5bd44159b01adf31959c6d259bb37525d86185d 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java @@ -70,7 +70,7 @@ public class WebServiceOutgoingCallInterceptor extends GenericSOAPHandler { OperationRecord currentOperation = currentInvocation.requireEndpoint(component, caller.getDeclaringClass().getName(), "http", caller.getName()); // TODO: We currently support only one-way messages. Inbound messages are ignored. InvocationRecord outgoingInvocation = currentOperation.startInvocation(); - outgoingInvocation.finishInvocation(0, 0, 0); + outgoingInvocation.finishInvocation(0); } catch (MalformedURLException e) { log.error("Error reading message data.", e); } diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/jms/MessageInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/jms/MessageInterceptor.java index 16c40ea9725c3208a4c7ed220875ec4331a8bf1a..cb80d75c44f1ac63326b38feb279cceaeb0fe41d 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/jms/MessageInterceptor.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/jms/MessageInterceptor.java @@ -68,7 +68,7 @@ public class MessageInterceptor { OperationRecord orec = currentInvocation.requireEndpoint(crec, "javax.jms.MessageProducer", "jms", "send"); InvocationRecord outgoingInvocation = orec.startInvocation(); - outgoingInvocation.finishInvocation(0, 0, 0); + outgoingInvocation.finishInvocation(0); if (log.isTraceEnabled()) { log.trace("Outgoing invocation (" + orec.getInterfaceName() + ", " + orec.getOperationName() diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java index 782bfc93590a765124307c5f0674af50780195a9..bb3f40c88410b5140d431988a77e15a13819d1c5 100644 --- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java +++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java @@ -172,8 +172,8 @@ public class MonitoringService extends AgentController implements Service<Monito sendData(curInvocation.getResidenceTimeSensor(), entityName, timestampInSec, inResidenceTime); // Write to log file - out.printf("%f, %s, , %d, %d, %d, %s\n", timestampInSec, curInvocation.toString(), inInvocationCount, - inExecutionTime, inResidenceTime, curInvocation.getAdditionalInformation()); + out.printf("%f, %s, , %d, %d, %d\n", timestampInSec, curInvocation.toString(), inInvocationCount, + inExecutionTime, inResidenceTime); for (OperationRecord curOutgoingEndpoint : curInvocation.getCalledEndpoints()) { for (InvocationRecord curOutgoingInvocation : curOutgoingEndpoint.getInvocations()) { @@ -188,9 +188,8 @@ public class MonitoringService extends AgentController implements Service<Monito outExecutionTime); // Write to log file - out.printf("%f, %s, %s, %d, %d, %s\n", timestampInSec, curInvocation.toString(), - curOutgoingInvocation.toString(), outInvocationCount, outExecutionTime, - curOutgoingInvocation.getAdditionalInformation()); + out.printf("%f, %s, %s, %d, %d\n", timestampInSec, curInvocation.toString(), + curOutgoingInvocation.toString(), outInvocationCount, outExecutionTime); } } }