use of com.newrelic.agent.TransactionAsyncUtility.StartAndThenLink in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootLastTest method testStartAndThenLinkExpireAll.
@Test
public void testStartAndThenLinkExpireAll() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
rootTracer.finish(Opcodes.RETURN, 0);
// tx no longer on thread and so this will not work
Transaction.getTransaction().expireAllTokensForCurrentTransaction();
Assert.assertNull(data);
Assert.assertNull(stats);
// need to reference the tx directly
tx.expireAllTokensForCurrentTransaction();
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TransactionAsyncUtility.StartAndThenLink in project newrelic-java-agent by newrelic.
the class TransactionAsyncRootLastTest method testStartAndThenLinkExpireInMainBefore.
@Test
public void testStartAndThenLinkExpireInMainBefore() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
token.expire();
rootTracer.finish(Opcodes.RETURN, 0);
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TransactionAsyncUtility.StartAndThenLink in project newrelic-java-agent by newrelic.
the class TransactionAsyncStartThenLinkTest method testStartAndThenLinkExpireInMain.
@Test
public void testStartAndThenLinkExpireInMain() throws InterruptedException {
Transaction.clearTransaction();
Transaction tx = Transaction.getTransaction();
Tracer rootTracer = TransactionAsyncUtility.createDispatcherTracer(this, "hi");
tx.getTransactionActivity().tracerStarted(rootTracer);
TokenImpl token = (TokenImpl) tx.getToken();
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
rootTracer.finish(Opcodes.RETURN, 0);
token.expire();
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TransactionAsyncUtility.StartAndThenLink in project newrelic-java-agent by newrelic.
the class TransactionAsyncStartThenLinkTest 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();
// second expire should do nothing
StartAndThenLink activity1 = new StartAndThenLink(token, false, false);
activity1.start();
activity1.join();
tx.expireAllTokensForCurrentTransaction();
rootTracer.finish(Opcodes.RETURN, 0);
verifyDataTwo(activity1, tx, token);
}
use of com.newrelic.agent.TransactionAsyncUtility.StartAndThenLink in project newrelic-java-agent by newrelic.
the class TransactionAsyncStartThenLinkTest method testStartAndThenLinkExpireBothFinishBefore.
@Test
public void testStartAndThenLinkExpireBothFinishBefore() 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, true, true);
activity1.start();
activity1.join();
verifyDataTwo(activity1, tx, token);
}
Aggregations