cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not a customer? Start a free trial

Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.

AppDynamics customers and established members should click the sign in button to authenticate.

Java (Java Agent, Installation, JVM, and Controller Installation)

Spring Data no JDBC calls captured

SOLVED
Josh.Wand
Adventurer

Spring Data no JDBC calls captured

Hello,

 

I am setting up AppD on my fairly-vanilla Spring app, and it's not showing any DB calls on any of my transactions:

 

  • Spring Boot 1.5.3
  • Spring Data JPA
  • Spring Data REST
  • PostgreSQL
  • running in GKE/K8S using Google Cloud SQL Postgres

I checked the Bytecode transformer logs, and it's happily finding the classes: 

[main] 11 Apr 2018 21:39:00,175  INFO - 		Applying method interceptor exit.jdbc.Connect at org/postgresql/Driver.connect ((Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;) id:597

But no DB calls are detected in any of my traces, neither reads nor writes.

 

Anything obvious I could be missing? 

 

Thanks!

By replying you agree to the Terms and Conditions of the AppDynamics Community.
Spring Data no JDBC calls captured
2 REPLIES 2
Peter.Holditch
Moderator

Josh,

 

The fact that you see the Connect instrumentation applied is encouraging!  Do you also see instrumentation applied for callable statements, prepared statements etc.?

 

If not, you may be using a version of the Postgres jdbc driver that is not covered by the out of the box agent configuration.  In this case, you can configure the implementation classes to to picked up using the relevant jdbc-* agent properties.

 

If it happens that you're using v9.4+ of the Postgres driver, the settings should be:

jdbc-statements: value="org.postgresql.jdbc.PgStatement"
jdbc-connections: value="org.postgresql.jdbc.PgConnection"
jdbc-prepared-statements: value="org.postgresql.jdbc.PgPreparedStatement"
jdbc-callable-statements: value="org.postgresql.jdbc.PgCallableStatement"

 

If this isn't the issue, then another possibility is that the jdbc activity is happening on a thread that has not been tracked by the agent.  You can tell if this is the case using the uninstrumented code detection feature, and configure the missing thread handoffs in the agent's fork-config configuration, or the thread-correlation-classes agent property.

 

Warm regards,

Peter.

 



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.
Josh.Wand
Adventurer

manually setting those node properties got everything working, thanks! (though you may want to fix the auto-detection)