Splunk AppDynamics

AppdynamicsAgent.startTransaction/endTransaction never shows in BT list

gliptak
Explorer

I followed coding snippets at

https://docs.appdynamics.com/display/PRO45/Java+Agent+API+User+Guide

marking business transactions and they don't show up in the BT list for the application.

With basic code

public String checkout(List<ItemOrders> orders) {
   try (Transaction transaction = AppdynamicsAgent.startTransaction("Checkout", null, EntryTypes.POJO, false)) {
        /*******************
         * Method Body Here
         *******************/
    }
}
 

I also reviewed https://community.appdynamics.com/t5/Knowledge-Base/Why-aren-t-business-transactions-appearing-in-th... but that page doesn't address API created transactions.

Any pointers on how this can be debugged?

Labels (1)
0 Karma

Peter_Holditch
Builder

2 thing to check:

  1. Are there any error or informational messages written in the agent log?
  2. Have you hit the node or application level BT limit?

Warm regards,

Peter

0 Karma

gliptak
Explorer

Peter, thank you for the pointers.

I didn't see related messages in the logs. I did put in log statements into the code to validate that the code is called.

I see about ~15 BTs listed so with default limit of ~40(?) BTs it is under.

0 Karma

Peter_Holditch
Builder

Hm, OK.

Your code does. not show you calling endTransaction, but you do mention that in the subject.

Are you certain your code is calling endTransaction?

Also, how many times in the transaction you have instrumented being executed?

Do you see it referenced if you remove the (default) filter for Transactions with performance data?

 
 
0 Karma

gliptak
Explorer

Peter, I coded both direct startTransaction()/endTransaction() and just try/startTransaction() to no avail. After further experiments, I do see some transactions displayed after cleanup and restart (of my client).

The listed code is from AppD documentation and it calls closeTransaction() during completion of the "try" section.

I have to manually create load on my current setup.

0 Karma

Peter_Holditch
Builder

Gabor,

My bad, I missed the local-to-the-try-catch-block constructed Transaction object when I looked at your code.

From your latest comments, it sounds as if this is working as expected.  The 1st time your entry is called within a new process, the BT will register with the controller.  Once that is done, subsequent invocations handled in the same process will be measured, and as those measurements are reported by the agent (once per minute) the data will become visible in the controller.

I suspect you eventually amassed enough post-registration invocations and elapsed time for that to happen.

Warm regards,

Peter

0 Karma
Get Updates on the Splunk Community!

What's New in Splunk Cloud Platform 9.3.2411?

Hey Splunky People! We are excited to share the latest updates in Splunk Cloud Platform 9.3.2411. This release ...

Buttercup Games: Further Dashboarding Techniques (Part 6)

This series of blogs assumes you have already completed the Splunk Enterprise Search Tutorial as it uses the ...

Technical Workshop Series: Splunk Data Management and SPL2 | Register here!

Hey, Splunk Community! Ready to take your data management skills to the next level? Join us for a 3-part ...