AppD Archive

How to get to the source code?

CommunityUser
Splunk Employee
Splunk Employee

Hi I just downloaded and installed Lite for Java and got my tomcat application server connected.

It shows me some business transactions and slow transactions but I can't figure out how to go to the source code from there? I have a transaction that shows me 50% execution in one method but I can't look into that.

How can I do this?

0 Karma

Arun_Dasetty
Super Champion

Hi,

Thanks for writing to appsphere community forum. From your comments we understood that you want to see the java source code for the api called by particular method, we currently do not show source code in lite viewer UI call graph section or any other screen, we show only the call stack track (only the APIs taking more than 10 ms as per call graph settings)

Ex: servlet1 discovered and is calling class1:method1 which in turn calls class2:method2 , we shows as follows:
class1:method1
  class2:method2

But we do not show the soruce code inside method1 but we show the api called by method1 and that takes more than 10 ms execution time, let us know if that clarifies the snapshot/call grpah feature behavior.

From your comments we understood that you are referring to snapshot which is paritial,which might not have completed call stack trace. Can you please drilldown to snapshot with either full call graph symbol or snapshot with user experience as "Normal" (normal shows in green color, and slow as orange, and error as red) which might shows more api stack trace as mentioned above

Navigate to "snapshots/ request snapshots" tab as refeerred in attached screenshot and drill down (by doubel clicking) snapshots collected either under bad requests section in the main screen or the periodic snapshots collected at the right side under sampled snapshots section.

You can further configure BT thresholds and call graph settings as per your requirement:
http://litedocs.appdynamics.com/display/ADLite/Configure+Thresholds and Configure -> call graph settings settings

Do let us know if that clarifies your query.

Thanks,

Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Hi,

thanks for clarifying! I saw the "class:method:linenumber" stacktrace but I thought it will really go down to the codelevel and show me the actual code the JVM is executing. Is that available in the Pro version?

I'm thinking of trying the 15 day free pro offer after I've seen the lite version which went flawless.

I've now put some loadscripts against the system I'm looking at and noticed that one detected business transaction is reporting slow and very slow requests. As you mentioned I can now also find some bad requests with a complete stack, which is much more comprehensive. But what I'm wondering now is that the "green/red" bar shows that there are 6 slow requests detected but in the table below I only see one slow request to investigate. Is that normal or am I missing something?

Thanks,

Reinhard

0 Karma

Arun_Dasetty
Super Champion

Hi Reinhard,

Thanks for posting back. please find the response to your queries inline:

>>>>>>> I saw the "class:method:linenumber" stacktrace but I thought it will really go down to the codelevel and show me the actual code the JVM is executing. Is that available in the Pro version?

Answer: We confirm that currently we just show the API details and could not go down/drill down in to the web applicaiton source code from call graph, and the Pro version have the same behavior as stated above.

>>>>>>> I'm thinking of trying the 15 day free pro offer after I've seen the lite version which went flawless.

Answer: we are really to glad to hear that the Lite version helped you to monitor your apps and you have not faced any issues using Lite. Thanks for the feedback we really appreciate it.

you can 30 day free trial to utilize and go through the more features we provide in Pro version and you contact sales team "sales" <sales@appdynamics.com>,  if you interested to buy pro version after you have have a look at trial.

http://info.appdynamics.com/freetrial.html

>>>>>>> I've now put some loadscripts against the system I'm looking at and noticed that one detected business transaction is reporting slow and very slow requests. As you mentioned I can now also find some bad requests with a complete stack, which is much more comprehensive. But what I'm wondering now is that the "green/red" bar shows that there are 6 slow requests detected but in the table below I only see one slow request to investigate. Is that normal or am I missing something?

Answer:  We understood your concern, snapshots will be collected when a business is crossed request threasholds set under Configure -> Request thresholds screen as you are aware of and and also snapshots will be collected on periodic bases based on snapshots sampling settings under Configure -> Snapshots -> Snapshots sampling (as referred in attached screenshot)
- you can try providing a lower value for one of the following fields under Configure -> Snapshots -> Snapshot sampling:
- Take one snapshot every _ (Y) executions (minimum value is 50, default value is 100)
- Take one snapshot every _ (X) minutes (minimum value is 5, default value is 10)

On a side note, we confirm that the minimum value for take snapshot every X minutes(5) and Y executions (50) does not applies to Pro version, In pro version of the product you can set the minimum value to 1, which helps to collected snapshot every 1 execution or every 1 minute.

Let us know if that clarifies your query.

Thanks,

Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Hi Arun,

thanks for clarifying! I upgraded to the Pro Version today. The switch was easy and now I got two Java Agents connected.

Need to find my way around though it looks a bit different 🙂

You mentioined that in Pro Version I can captuer every occurence of a business transaction, which is not possible in the Lite version. Is that wise to do for a reasonably loaded ecommerce shop (maybe 80 PI/s) if i want to capture every Product page hit or home page hit?

Thanks,

Reinhard

0 Karma

Arun_Dasetty
Super Champion

Hi Reinhard,

Glad to hear that you have upgraded to Pro version. regarding your query "Is that wise to do for a reasonably loaded ecommerce shop (maybe 80 PI/s) if i want to capture every Product page hit or home page hit?"

Answer: we generally do not recommend to capture snapshot for every request as it add overhead, hence the defaul settings in Pro for snapshot sampling are as follows:
- take one snapshot every _ X(default is 100) executions
- take one snapshot every _ X(default is 10) minutes

However, if you want to capture snasphot for every request we request update the setting only when you have any  issues in application and to troubbleshoot- take one snapshot every 1 executions and revert back to default settings (say: 100) once you are done with troubleshooting, We confirm it is not good to provide lower values hence we set the default values to higher value, you can still increase to much more higher value if the load is relatively high to avoind execessive collection of snapshots, when you are fine with few snapshots to analyze the issue.

Please let us know if that clarifies your query.

Thanks,

Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Hi Arun,

thanks for the details. That answers my question. Although if only every 100th transaction of a type is captured I could miss something right? What if a errorneous or slow transaction happens which is not one where a snapshot is taken? Or is that an additional reason to capture with your detection of slow and stalled transactions? I guess there is no reason to capture every execution but only the faulty ones, but how does AppdynamicsPro detect that?

Thanks,

Reinhard

0 Karma

Arun_Dasetty
Super Champion

Hi Reinhard,

Thanks for posting back, Please find the response to your queries inline:

>>>>> Although if only every 100th transaction of a type is captured I could miss something right?

Answer: The transaction snapshot captured as part periodic (every X or 100 executions) will be with full call graph, which will contain complete flow/api of the BT snapshot capture

>>>>> What if a errorneous or slow transaction happens which is not one where a snapshot is taken?

 Or is that an additional reason to capture with your detection of slow and stalled transactions? I guess there is no reason to capture every execution but only the faulty ones, but how does AppdynamicsPro detect that?

Answer: Though agent tries to collect snapshot for the 100th snapshot (as per default settings for periodic snapshot collection) which might not be an erroneous/slow BT that happened., Agent has internal feature to collect error/slow under Captured bad requests (not every bad request) you should see the erroneous/slow transaction snapshots as part of captured bad requests or Partial snapshot., This is called diagnostic snapshot collection/capture bad requests feature which helps error/slow BTs when there are error thought agent might not collect snapshot for every BT happens, hence we requested to set the slow/stall thresholds as per requirement and setting config "take snapshot every X minutes or X exec times" to 1 is discouraged thought it will help, we request to set this when you see there is alert (define policy alert on errors per minute at application level metric) on errors per minute or slow calls metric value observed relatively high rate , so that you can configure on demand snapshot collection or take every X exec or Y minutes to lower when you see the alert only.

let us know if that clarifies

Thanks,

Arun

0 Karma
Get Updates on the Splunk Community!

Now Playing: Splunk Education Summer Learning Premieres

It’s premiere season, and Splunk Education is rolling out new releases you won’t want to miss. Whether you’re ...

The Visibility Gap: Hybrid Networks and IT Services

The most forward thinking enterprises among us see their network as much more than infrastructure – it's their ...

Get Operational Insights Quickly with Natural Language on the Splunk Platform

In today’s fast-paced digital world, turning data into actionable insights is essential for success. With ...