AppD Archive

Which log will help me to identify why my application flow map is empty?

CommunityUser
Splunk Employee
Splunk Employee

I am currently running a java application with an MS SQL backend. The backend is access via a "com.inet.tds.TdsDriver" JDBC driver.  I noticed that all of the other functionality of the system appears to be working as intended, but the flow map and the SQL Calls are not displaying any data.

In an attempt to try and troubleshoot the issue myself, I have gone through all of the tomcat logging and the AppDynamics application logging and I do not see any of the tell tale signs that there is a failure in accessing this data. I can surely provide the logs that I have poured over, but I feel that this needs a new set of eyes.

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Okay, I think I have determined at least a part of the problem.  Turns out that our developers have password protected the .jar file where our database connections are initiated.

So, now the question becomes, does AppDynamics have a method for accessing the calls made by the password protected .jar ?

0 Karma

Arun_Dasetty
Super Champion

Hi,

Thanks for writing to us. Regarding your initial query, we might need to check BCT.log(ByteCodeTransformation-<timestamp>.log) to check whether jdbc driver classes are getting instrumented by agent or not.

Regarding the other query, If webapp server is able to access(read) api part of jar(which is password protected) with out using any credentials then agent should not have any issue, if this is not the case, then agent will not be able to instrument classes  part of the jar which is protected

Let us know if that clarifies your query.

Thanks,

Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee
Would it be helpful to supply the BT logs?

0 Karma

Arun_Dasetty
Super Champion
Hi,

Thanks for posting back. We request you to provide zipped version of logs
directory under AGENT_DIR/logs in addition to BT.log to assist you better

Thanks,
Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee
Do you have an email where I might be able to send them?

0 Karma

Arun_Dasetty
Super Champion

Hi,

We understood that you are aware of attachemnets section as referred in attached screenshots while you posting/replying a message in this forum, hope you are able to see the attachements section

Please feel free to send the attachements to the email-id : akumar@appdynamics.com, if you have issues in attaching files in this forum


Thanks,

Arun

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

[Attached]

0 Karma

Arun_Dasetty
Super Champion

Hi,

Thanks for posting back and providing the logs. Please find the analysis of the logs and plan of action:

- We could see "com/inet/tds" classes loaded but not instrumented by agent and this could be inet classes are obfuscated. From logs we could see there was no instrumentation applied for jdbc calls.

We need to add custom configuration to see database activity and for custom configuration we need to figure out the classes those implements "java.sql.Connection", "java.sql.Statement" etc. Interface. for the following properties:
 jdbc-callable-statements, jdbc-connections, jdbc-prepared-statements, and jdbc-statements

===========================
Applying method interceptor exit.jdbc.Connect at com/inet/tds/TdsDriver.connect ((Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;) id:90

..
    Line 5961: [Tue Oct 01 12:32:16 EDT 2013] Matching class name com/inet/tds/ai [ClassLoader]org.apache.catalina.loader.WebappClassLoader[hashcode]26917317 : Class match found.
    Line 5962: [Tue Oct 01 12:32:16 EDT 2013] Matching class name com/inet/tds/ai    Matching class bytecode. : No class match found.
    Line 9977: [Tue Oct 01 12:32:19 EDT 2013] Matching class name com/inet/tds/b [ClassLoader]org.apache.catalina.loader.WebappClassLoader[hashcode]26917317 : Class match found.
    Line 9978: [Tue Oct 01 12:32:19 EDT 2013] Matching class name com/inet/tds/b    Matching class bytecode. : No class match found.
============================

We support adding custom config in our pro version of product and we expect the lite version should work if add custom properties, Can you please add the following properties as referred in attached screenshots:
jdbc-prepared-statements: com.inet.tds.b
jdbc-statements: com.inet.tds.a

Once you have saved the changes, please restart the Liteagent and generate load on BT that makes JDBC calls and let us know how it goes. If you still see the issue, also can you check whether the BT discovered in BT list that is invoking JDBC calls.

Also can you please confirm the driver is in supported list:
http://litedocs.appdynamics.com/display/ADLite/Supported+Applications+and+Frameworks+for+Java#Suppor...

Let us know if that information helps.

Thanks,

Arun

0 Karma
Get Updates on the Splunk Community!

See just what you’ve been missing | Observability tracks at Splunk University

Looking to sharpen your observability skills so you can better understand how to collect and analyze data from ...

Weezer at .conf25? Say it ain’t so!

Hello Splunkers, The countdown to .conf25 is on-and we've just turned up the volume! We're thrilled to ...

How SC4S Makes Suricata Logs Ingestion Simple

Network security monitoring has become increasingly critical for organizations of all sizes. Splunk has ...