|
1 năm trước cách đây | |
---|---|---|
.. | ||
src | 1 năm trước cách đây | |
README.md | 2 năm trước cách đây | |
build.gradle.kts | 1 năm trước cách đây |
Provides OpenTelemetry instrumentation for R2dbc.
Replace OPENTELEMETRY_VERSION
with the latest
release.
For Maven, add to your pom.xml
dependencies:
<dependencies>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-r2dbc-1.0</artifactId>
<version>OPENTELEMETRY_VERSION</version>
</dependency>
</dependencies>
For Gradle, add to your dependencies:
implementation("io.opentelemetry.instrumentation:opentelemetry-r2dbc-1.0:OPENTELEMETRY_VERSION")
The instrumentation library provides a R2dbc ProxyConnectionFactory
that gets wrapped around the original
ConnectionFactory
.
ConnectionFactory wrapWithProxyFactory(OpenTelemetry openTelemetry, ConnectionFactory originalFactory, ConnectionFactoryOptions factoryOptions) {
return R2dbcTelemetryBuilder
.create(openTelemetry)
.wrapConnectionFactory(originalFactory, factoryOptions);
}
If you use R2dbc in a Spring application you can wrap the ConnectionFactory
in the ConnectionFactoryInitializer
Bean:
@Bean
ConnectionFactoryInitializer initializer(OpenTelemetry openTelemetry, ConnectionFactory connectionFactory) {
ConnectionFactoryInitializer initializer = new ConnectionFactoryInitializer();
ConnectionFactoryOptions factoryOptions = ConnectionFactoryOptions.parse("r2dbc:mariadb://localhost:3306/db");
initializer.setConnectionFactory(wrapWithProxyFactory(openTelemetry, connectionFactory, factoryOptions));
return initializer;
}