JDBC Instrumentation
Capturing transactions requires that you first set up performance monitoring if you haven't already.
Sentry JDBC integration provides the SentryJdbcEventListener
for P6Spy database activity interceptor, which creates a span for each JDBC statement executed over a proxied instance of javax.sql.DataSource
.
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-jdbc</artifactId>
<version>7.8.0</version>
</dependency>
For other dependency managers, check out the central Maven repository.
Configure the DataSource
to use com.p6spy.engine.spy.P6SpyDriver
as a JDBC driver. For Spring Boot applications:
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
Add the p6spy
prefix to the database connection URL. For Spring Boot applications:
spring.datasource.url: jdbc:p6spy:postgresql://localhost:5432/db
P6Spy uses a Java Service Loader mechanism to register JdbcEventListener
s. For more configuration options, check the P6Spy Reference Guide.
In addition to spans, P6Spy logs JDBC statements to a log file by default. Because this file can grow rapidly, we recommend disabling creating a log file by setting a system property p6spy.config.modulelist
to com.p6spy.engine.spy.P6SpyFactory
or creating a spy.properties
file in src/main/resources
with the content:
modulelist=com.p6spy.engine.spy.P6SpyFactory
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
- Package:
- maven:io.sentry:sentry-jdbc
- Version:
- 7.8.0
- Repository:
- https://github.com/getsentry/sentry-java
- API Documentation:
- https://javadoc.io/doc/io.sentry