use of com.newrelic.agent.TokenImpl in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootFirstTest method testStartAndThenLinkMultipleSameTokens.
@Test
public void testStartAndThenLinkMultipleSameTokens() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token1 = (TokenImpl) tx.getToken();
rootTracer.finish(Opcodes.RETURN, 0);
StartAndThenLink activity1 = new StartAndThenLink(token1, false, false);
activity1.start();
activity1.join();
StartAndThenLink activity2 = new StartAndThenLink(token1, true, false);
activity2.start();
activity2.join();
waitForTransaction();
TransactionAsyncUtility.basicDataVerify(data, stats, activity1, 3);
Map<String, StatsBase> scoped = stats.getScopedStats().getStatsMap();
ResponseTimeStats data1 = (ResponseTimeStats) scoped.get("RequestDispatcher");
ResponseTimeStats data2 = (ResponseTimeStats) scoped.get("Java/java.lang.Object/root" + token1.toString());
Assert.assertNotNull(data1);
Assert.assertNotNull(data2);
Assert.assertEquals(1, data1.getCallCount());
Assert.assertEquals(2, data2.getCallCount());
Map<String, StatsBase> unscoped = stats.getUnscopedStats().getStatsMap();
Assert.assertEquals(((ResponseTimeStats) unscoped.get("WebTransactionTotalTime")).getTotal(), data1.getTotal() + data2.getTotal(), .001);
}
use of com.newrelic.agent.TokenImpl in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootFirstTest method testStartAndThenLinkExpireAllBeforeFinish.
@Test
public void testStartAndThenLinkExpireAllBeforeFinish() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
rootTracer.finish(Opcodes.RETURN, 0);
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
tx.expireAllTokensForCurrentTransaction();
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TokenImpl in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootFirstTest method testStartAndThenLinkExpireBeforeEnd.
@Test
public void testStartAndThenLinkExpireBeforeEnd() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
rootTracer.finish(Opcodes.RETURN, 0);
TransactionAsyncUtility.StartAndThenLink activity1 = new TransactionAsyncUtility.StartAndThenLink(token, true, false);
activity1.start();
activity1.join();
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TokenImpl in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootFirstTest method testStartAndThenLinkExpireAllFromToken.
@Test
public void testStartAndThenLinkExpireAllFromToken() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
rootTracer.finish(Opcodes.RETURN, 0);
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
token.getTransaction().expireAllTokens();
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TokenImpl in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootFirstTest method testStartAndThenLinkMultipleSameTokensExireOrig.
@Test
public void testStartAndThenLinkMultipleSameTokensExireOrig() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token1 = (TokenImpl) tx.getToken();
rootTracer.finish(Opcodes.RETURN, 0);
StartAndThenLink activity1 = new StartAndThenLink(token1, false, false);
activity1.start();
activity1.join();
StartAndThenLink activity2 = new StartAndThenLink(token1, true, false);
activity2.start();
activity2.join();
token1.expire();
waitForTransaction();
TransactionAsyncUtility.basicDataVerify(data, stats, activity1, 3);
Map<String, StatsBase> scoped = stats.getScopedStats().getStatsMap();
ResponseTimeStats data1 = (ResponseTimeStats) scoped.get("RequestDispatcher");
ResponseTimeStats data2 = (ResponseTimeStats) scoped.get("Java/java.lang.Object/root" + token1.toString());
Assert.assertNotNull(data1);
Assert.assertNotNull(data2);
Assert.assertEquals(1, data1.getCallCount());
Assert.assertEquals(2, data2.getCallCount());
Map<String, StatsBase> unscoped = stats.getUnscopedStats().getStatsMap();
Assert.assertEquals(((ResponseTimeStats) unscoped.get("WebTransactionTotalTime")).getTotal(), data1.getTotal() + data2.getTotal(), .001);
}
Aggregations