Getting insights from an application component about its operations, timing and relation to application code is crucial to understand latency. Spring Data Cassandra ships with a Micrometer instrumentation through the Cassandra driver to collect observations during Cassandra interaction. Once the integration is set up, Micrometer will create meters and spans (for distributed tracing) for each Cassandra statement.
To enable the instrumentation, apply the following configuration to your application:
@Configuration
class ObservabilityConfiguration {
@Bean
public ObservableCqlSessionFactoryBean observableCqlSession(CqlSessionBuilder builder,
ObservationRegistry registry) {
return new ObservableCqlSessionFactoryBean(builder, registry); // (1)
}
@Bean
public ObservableReactiveSessionFactoryBean observableReactiveSession(CqlSession session,
ObservationRegistry registry) {
return new ObservableReactiveSessionFactoryBean(session, registry); // (2)
}
}
-
Wraps the CQL session object to observe Cassandra statement execution. Also, registers
ObservationRequestTracker.INSTANCE
with theCqlSessionBuilder
. -
Wraps a CQL session object to observe reactive Cassandra statement execution.
See also OpenTelemetry Semantic Conventions for further reference.