## Common application properties

Various properties can be specified inside your `application.properties` file, inside your `application.yml` file, or as command line switches. This appendix provides a list of common Spring Cloud Sleuth properties and references to the underlying classes that consume them.

| Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties.

Name | Default | Description
--- | --- | ---
spring.sleuth.async.configurer.enabled | `true` | Enable default AsyncConfigurer.
spring.sleuth.async.enabled | `true` | Enable instrumenting async related components so that the tracing information is passed between threads.
spring.sleuth.async.ignored-beans |  | List of {@link java.util.concurrent.Executor} bean names that should be ignored and not wrapped in a trace representation.
spring.sleuth.baggage.correlation-enabled | `true` | Enables correlating the baggage context with logging contexts.
spring.sleuth.baggage.correlation-fields |  | List of fields that should be propagated over the wire.
spring.sleuth.baggage.local-fields |  | List of fields that should be accessible within the JVM process but not propagated over the wire.
spring.sleuth.baggage.remote-fields |  | List of fields that are referenced the same in-process as it is on the wire. For example, the field "x-vcap-request-id" would be set as-is including the prefix.
spring.sleuth.baggage.tag-fields |  | List of fields that should automatically become tags.
spring.sleuth.batch.enabled | `true` | Enable Spring Batch instrumentation.
spring.sleuth.cassandra.enabled | `true` | Enable Cassandra instrumentation.
spring.sleuth.circuitbreaker.enabled | `true` | Enable Spring Cloud CircuitBreaker instrumentation.
spring.sleuth.config.server.enabled | `true` | Enable Spring Cloud Config Server instrumentation.
spring.sleuth.deployer.enabled | `true` | Enable Spring Cloud Deployer instrumentation.
spring.sleuth.deployer.status-poll-delay | `500` | Default poll delay to retrieve the deployed application status.
spring.sleuth.enabled | `true` |
spring.sleuth.feign.enabled | `true` | Enable span information propagation when using Feign.
spring.sleuth.feign.processor.enabled | `true` | Enable post processor that wraps Feign Context in its tracing representations.
spring.sleuth.function.enabled | `true` | Enable instrumenting of Spring Cloud Function and Spring Cloud Function based projects (e.g. Spring Cloud Stream).
spring.sleuth.grpc.enabled | `true` | Enable span information propagation when using GRPC.
spring.sleuth.http.enabled | `true` | Enables HTTP support.
spring.sleuth.integration.enabled | `true` | Enable Spring Integration instrumentation.
spring.sleuth.integration.patterns | `[!hystrixStreamOutput*, , !channel]` | An array of patterns against which channel names will be matched. @see org.springframework.integration.config.GlobalChannelInterceptor#patterns() Defaults to any channel name not matching the Hystrix Stream and functional Stream channel names.
spring.sleuth.integration.websockets.enabled | `true` | Enable tracing for WebSockets.
spring.sleuth.jdbc.datasource-proxy.enabled | `true` | Should the datasource-proxy tracing be enabled?
spring.sleuth.jdbc.datasource-proxy.json-format | `false` | Use json output for logging query. @see ProxyDataSourceBuilder#asJson()
spring.sleuth.jdbc.datasource-proxy.logging |  | Logging to use for logging queries.
spring.sleuth.jdbc.datasource-proxy.multiline | `true` | Use multiline output for logging query. @see ProxyDataSourceBuilder#multiline()
spring.sleuth.jdbc.datasource-proxy.query.enable-logging | `false` | Enable logging all queries to the log.
spring.sleuth.jdbc.datasource-proxy.query.log-level | `DEBUG` | Severity of query logger.
spring.sleuth.jdbc.datasource-proxy.query.logger-name |  | Name of query logger.
spring.sleuth.jdbc.datasource-proxy.slow-query.enable-logging | `false` | Enable logging slow queries to the log.
spring.sleuth.jdbc.datasource-proxy.slow-query.log-level | `WARN` | Severity of slow query logger.
spring.sleuth.jdbc.datasource-proxy.slow-query.logger-name |  | Name of slow query logger.
spring.sleuth.jdbc.datasource-proxy.slow-query.threshold | `300` | Number of seconds to consider query as slow.
spring.sleuth.jdbc.enabled | `true` | Enables JDBC instrumentation.
spring.sleuth.jdbc.excluded-data-source-bean-names |  | List of DataSource bean names that will not be decorated.
spring.sleuth.jdbc.includes |  | Which types of tracing we would like to include.
spring.sleuth.jdbc.p6spy.custom-appender-class |  | Class file to use (only with logging=custom). The class must implement {@link com.p6spy.engine.spy.appender.FormattedLogger}.
spring.sleuth.jdbc.p6spy.enable-logging | `false` | Enables logging JDBC events.
spring.sleuth.jdbc.p6spy.enabled | `true` | Should the p6spy tracing be enabled?
spring.sleuth.jdbc.p6spy.log-file | `spy.log` | Name of log file to use (only with logging=file).
spring.sleuth.jdbc.p6spy.log-filter.pattern |  | Use regex pattern to filter log messages. Only matched messages will be logged.
spring.sleuth.jdbc.p6spy.log-format |  | Custom log format.
spring.sleuth.jdbc.p6spy.logging |  | Logging to use for logging queries.
spring.sleuth.jdbc.p6spy.multiline | `true` | Enables multiline output.
spring.sleuth.jdbc.p6spy.tracing.include-parameter-values | `true` | Report the effective sql string (with '?' replaced with real values) to tracing systems. <p> NOTE this setting does not affect the logging message.
spring.sleuth.kafka.enabled | `true` | Enable instrumenting of Apache Kafka clients.
spring.sleuth.messaging.aspect.enabled | `false` | Should {@link MessageMapping} wrapping be enabled.
spring.sleuth.messaging.enabled | `false` | Should messaging be turned on.
spring.sleuth.messaging.jms.enabled | `true` | Enable tracing of JMS.
spring.sleuth.messaging.jms.remote-service-name | `jms` | JMS remote service name.
spring.sleuth.messaging.kafka.enabled | `true` | Enable tracing of Kafka.
spring.sleuth.messaging.kafka.mapper.enabled | `true` | Enable DefaultKafkaHeaderMapper tracing for Kafka.
spring.sleuth.messaging.kafka.remote-service-name | `kafka` | Kafka remote service name.
spring.sleuth.messaging.kafka.streams.enabled | `false` | Should Kafka Streams be turned on.
spring.sleuth.messaging.rabbit.enabled | `true` | Enable tracing of RabbitMQ.
spring.sleuth.messaging.rabbit.remote-service-name | `rabbitmq` | Rabbit remote service name.
spring.sleuth.mongodb.enabled | `true` | Enable tracing for MongoDb.
spring.sleuth.opentracing.enabled | `true` | Enables OpenTracing support.
spring.sleuth.propagation.type |  | Tracing context propagation types.
spring.sleuth.quartz.enabled | `true` | Enable tracing for Quartz.
spring.sleuth.r2dbc.enabled | `true` | Enable R2dbc instrumentation.
spring.sleuth.reactor.decorate-on-each | `true` | When true decorates on each operator, will be less performing, but logging will always contain the tracing entries in each operator. When false decorates on last operator, will be more performing, but logging might not always contain the tracing entries. @deprecated use explicit value via {@link SleuthReactorProperties#instrumentationType}
spring.sleuth.reactor.enabled | `true` | When true enables instrumentation for reactor.
spring.sleuth.reactor.instrumentation-type |  |
spring.sleuth.redis.enabled | `true` | Enable span information propagation when using Redis.
spring.sleuth.redis.remote-service-name | `redis` | Service name for the remote Redis endpoint.
spring.sleuth.rpc.enabled | `true` | Enable tracing of RPC.
spring.sleuth.rsocket.enabled | `true` | When true enables instrumentation for rsocket.
spring.sleuth.rxjava.schedulers.hook.enabled | `true` | Enable support for RxJava via RxJavaSchedulersHook.
spring.sleuth.rxjava.schedulers.ignoredthreads | `[HystrixMetricPoller, ^RxComputation.*$]` | Thread names for which spans will not be sampled.
spring.sleuth.sampler.probability |  | Probability of requests that should be sampled. E.g. 1.0 - 100% requests should be sampled. The precision is whole-numbers only (i.e. there’s no support for 0.1% of the traces).
spring.sleuth.sampler.rate | `10` | A rate per second can be a nice choice for low-traffic endpoints as it allows you surge protection. For example, you may never expect the endpoint to get more than 50 requests per second. If there was a sudden surge of traffic, to 5000 requests per second, you would still end up with 50 traces per second. Conversely, if you had a percentage, like 10%, the same surge would end up with 500 traces per second, possibly overloading your storage. Amazon X-Ray includes a rate-limited sampler (named Reservoir) for this purpose. Brave has taken the same approach via the {@link brave.sampler.RateLimitingSampler}.
spring.sleuth.sampler.refresh.enabled | `true` | Enable refresh scope for sampler.
spring.sleuth.scheduled.enabled | `true` | Enable tracing for {@link org.springframework.scheduling.annotation.Scheduled}.
spring.sleuth.scheduled.skip-pattern |  | Pattern for the fully qualified name of a class that should be skipped.
spring.sleuth.session.enabled | `true` | Enable Spring Session instrumentation.
spring.sleuth.span-filter.additional-span-name-patterns-to-ignore |  | Additional list of span names to ignore. Will be appended to {@link #spanNamePatternsToSkip}.
spring.sleuth.span-filter.enabled | `false` | Will turn on the default Sleuth handler mechanism. Might ignore exporting of certain spans;
spring.sleuth.span-filter.span-name-patterns-to-skip | `^catalogWatchTaskScheduler$` | List of span names to ignore. They will not be sent to external systems.
spring.sleuth.supports-join | `true` | True means the tracing system supports sharing a span ID between a client and server.
spring.sleuth.task.enabled | `true` | Enable Spring Cloud Task instrumentation.
spring.sleuth.trace-id128 | `false` | When true, generate 128-bit trace IDs instead of 64-bit ones.
spring.sleuth.tracer.mode |  | Set which tracer implementation should be picked.
spring.sleuth.tx.enabled | `true` | Enable Spring TX instrumentation.
spring.sleuth.vault.enabled | `true` | Enable Spring Vault instrumentation.
spring.sleuth.web.additional-skip-pattern |  | Additional pattern for URLs that should be skipped in tracing. This will be appended to the {@link SleuthWebProperties#skipPattern}.
spring.sleuth.web.client.enabled | `true` | Enable interceptor injecting into {@link org.springframework.web.client.RestTemplate}.
spring.sleuth.web.client.skip-pattern |  | Pattern for URLs that should be skipped in client side tracing.
spring.sleuth.web.enabled | `true` | When true enables instrumentation for web applications.
spring.sleuth.web.filter-order | `0` | Order in which the tracing filters should be registered.
spring.sleuth.web.ignore-auto-configured-skip-patterns | `false` | If set to true, auto-configured skip patterns will be ignored.
spring.sleuth.web.servlet.enabled | `true` | Enable servlet instrumentation.
spring.sleuth.web.skip-pattern | `/api-docs.|/swagger.|.\.png|.\.css|.\.js|.\.html|/favicon.ico|/hystrix.stream` | Pattern for URLs that should be skipped in tracing.
spring.sleuth.web.tomcat.enabled | `true` | Enable tracing instrumentation for Tomcat.
spring.sleuth.web.webclient.enabled | `true` | Enable tracing instrumentation for WebClient.
spring.zipkin.activemq.message-max-bytes | `100000` | Maximum number of bytes for a given message with spans sent to Zipkin over ActiveMQ.
spring.zipkin.activemq.queue | `zipkin` | Name of the ActiveMQ queue where spans should be sent to Zipkin.
spring.zipkin.api-path |  | The API path to append to baseUrl (above) as suffix. This applies if you use other monitoring tools, such as New Relic. The trace API doesn’t need the API path, so you can set it to blank ("") in the configuration.
spring.zipkin.base-url | `localhost:9411/` | URL of the zipkin query server instance. You can also provide the service id of the Zipkin server if Zipkin’s registered in service discovery (e.g. zipkinserver/).
spring.zipkin.compression.enabled | `false` |
spring.zipkin.discovery-client-enabled |  | If set to {@code false}, will treat the {@link ZipkinProperties#baseUrl} as a URL always.
spring.zipkin.enabled | `true` | Enables sending spans to Zipkin.
spring.zipkin.encoder |  | Encoding type of spans sent to Zipkin. Set to {@link SpanBytesEncoder#JSON_V1} if your server is not recent.
spring.zipkin.kafka.topic | `zipkin` | Name of the Kafka topic where spans should be sent to Zipkin.
spring.zipkin.locator.discovery.enabled | `false` | Enabling of locating the host name via service discovery.
spring.zipkin.message-timeout | `1` | Timeout in seconds before pending spans will be sent in batches to Zipkin.
spring.zipkin.rabbitmq.addresses |  | Addresses of the RabbitMQ brokers used to send spans to Zipkin
spring.zipkin.rabbitmq.queue | `zipkin` | Name of the RabbitMQ queue where spans should be sent to Zipkin.
spring.zipkin.sender.type |  | Means of sending spans to Zipkin.
spring.zipkin.service.name |  | The name of the service, from which the Span was sent via HTTP, that should appear in Zipkin.

## 1. Spring Cloud Sleuth Spans

Below you can find a list of all the spans that are created by Spring Cloud Sleuth.

### 1.1. Annotation New Or Continue Span

> Span that wraps a @NewSpan or @ContinueSpan annotations.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.annotation.SleuthAnnotationSpan`

Table 1. Tag Keys
Name | Description
class | Class name where a method got annotated with a Sleuth annotation.
method | Method name that got annotated with Sleuth annotation.

Table 2. Event Values
Name | Description
%s.after | Annotated after executing a method annotated with @ContinueSpan or @NewSpan. (since the name contains `%s` the final value will be resolved at runtime)
%s.afterFailure | Annotated after throwing an exception from a method annotated with @ContinueSpan or @NewSpan. (since the name contains `%s` the final value will be resolved at runtime)
%s.before | Annotated before executing a method annotated with @ContinueSpan or @NewSpan. (since the name contains `%s` the final value will be resolved at runtime)

### 1.2. Async Annotation Span

> Span that wraps a @Async annotation. Either continues an existing one or creates a new one if there was no present one.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.async.SleuthAsyncSpan`

Table 3. Tag Keys
Name | Description
class | Class name where a method got annotated with @Async.
method | Method name that got annotated with @Async.

### 1.3. Async Callable Span

> Span created whenever a Callable needs to be instrumented.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.async.SleuthAsyncSpan`

### 1.4. Async Runnable Span

> Span created whenever a Runnable needs to be instrumented.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.async.SleuthAsyncSpan`

### 1.5. Batch Job Span

> Span created around a Job execution.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.batch.SleuthBatchSpan`

Table 4. Tag Keys
Name | Description
batch.job.executionId | ID of the Spring Batch execution.
batch.job.instanceId | ID of the Spring Batch job instance.
batch.job.name | Name of the Spring Batch job.

### 1.6. Batch Step Span

> Span created around a Job execution.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.batch.SleuthBatchSpan`

Table 5. Tag Keys
Name | Description
batch.job.executionId | ID of the Spring Batch execution.
batch.step.executionId | ID of the Spring Batch execution.
batch.step.name | Name of the Spring Batch job.
batch.step.type | Type of the Spring Batch job.

### 1.7. Cassandra Span

> Span created around CqlSession executions.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.cassandra.SleuthCassandraSpan`

| All tags and events must be prefixed with `cassandra.` prefix!

Table 6. Tag Keys
Name | Description
cassandra.cql | A tag containing Cassandra CQL.
cassandra.keyspace | Name of the Cassandra keyspace.
cassandra.node[%s].error | A tag containing error that occurred for the given node. (since the name contains `%s` the final value will be resolved at runtime)

Table 7. Event Values
Name | Description
cassandra.node.error | Set whenever an error occurred for the given node.
cassandra.node.success | Set when a success occurred for the session processing.

### 1.8. Circuit Breaker Function Span

> Span created when we wrap a Function passed to the CircuitBreaker. as fallback.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.circuitbreaker.SleuthCircuitBreakerSpan`

### 1.9. Circuit Breaker Supplier Span

> Span created when we wrap a Supplier passed to the CircuitBreaker.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.circuitbreaker.SleuthCircuitBreakerSpan`

### 1.10. Config Span

> Span created around an EnvironmentRepository.

Span name `find`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.config.SleuthConfigSpan`

Table 8. Tag Keys
Name | Description
config.environment.class | Implementation of the EnvironmentRepository.
config.environment.method | Method executed on the EnvironmentRepository.

### 1.11. Deployer Deploy Span

> Span created upon deploying of an application.

Span name `deploy`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 9. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.

Table 10. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.12. Deployer Get Log Span

> Span created upon asking for logs of deployed applications.

Span name `getLog`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 11. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.

Table 12. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.13. Deployer Scale Span

> Span created upon asking for logs of deployed applications.

Span name `scale`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 13. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.
deployer.scale.count | Scale count.
deployer.scale.deploymentId | Scale command deployment id.

Table 14. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.14. Deployer Statuses Span

> Span created upon asking for statuses of deployed applications.

Span name `statuses`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 15. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.

Table 16. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.15. Deployer Status Span

> Span created upon asking for a status of a deployed application.

Span name `status`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 17. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.

Table 18. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.16. Deployer Undeploy Span

> Span created upon undeploying of an application.

Span name `undeploy`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.deployer.SleuthDeployerSpan`

Table 19. Tag Keys
Name | Description
deployer.app.group | Group of the deployed application.
deployer.app.id | ID of the deployed application.
deployer.app.name | Name of the deployed application.
deployer.platform.cf.org | CloudFoundry org.
deployer.platform.cf.space | CloudFoundry space.
deployer.platform.cf.url | CloudFoundry API URL.
deployer.platform.k8s.namespace | Kubernetes namespace.
deployer.platform.k8s.url | Kubernetes API URL.
deployer.platform.name | Name of the platform to which apps are being deployed.

Table 20. Event Values
Name | Description
%s | When deployer changes the state of the deployed application. (since the name contains `%s` the final value will be resolved at runtime)
deployer.start | When deployer started deploying the application.

### 1.17. Jdbc Connection Span

> Span created when a JDBC connection takes place.

Span name `connection`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.jdbc.SleuthJdbcSpan`

| All tags and events must be prefixed with `jdbc.` prefix!

Table 21. Tag Keys
Name | Description
jdbc.datasource.driver | Name of the JDBC datasource driver.
jdbc.datasource.pool | Name of the JDBC datasource pool.

### 1.18. Jdbc Query Span

> Span created when a JDBC query gets executed.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.jdbc.SleuthJdbcSpan`

| All tags and events must be prefixed with `jdbc.` prefix!

Table 22. Tag Keys
Name | Description
jdbc.query | The SQL query value.
jdbc.row-count | Number of SQL rows.

Table 23. Event Values
Name | Description
jdbc.commit | When the transaction gets commited.
jdbc.rollback | When the transaction gets rolled back.

### 1.19. Jdbc Result Set Span

> Span created when working with JDBC result set.

Span name `result-set`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.jdbc.SleuthJdbcSpan`

| All tags and events must be prefixed with `jdbc.` prefix!

Table 24. Tag Keys
Name | Description
jdbc.query | The SQL query value.
jdbc.row-count | Number of SQL rows.

Table 25. Event Values
Name | Description
jdbc.commit | When the transaction gets commited.
jdbc.rollback | When the transaction gets rolled back.

### 1.20. Kafka Consumer Span

> Span created on the Kafka consumer side.

Span name `kafka.consume`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.kafka.SleuthKafkaSpan`

| All tags and events must be prefixed with `kafka.` prefix!

Table 26. Tag Keys
Name | Description
kafka.offset | Kafka offset number.
kafka.partition | Kafka partition number.
kafka.topic | Name of the Kafka topic.

### 1.21. Kafka Producer Span

> Span created on the Kafka consumer side.

Span name `kafka.produce`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.kafka.SleuthKafkaSpan`

| All tags and events must be prefixed with `kafka.` prefix!

Table 27. Tag Keys
Name | Description
kafka.topic | Name of the Kafka topic.

### 1.22. Messaging Span

> Span created when message is sent or received.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.messaging.SleuthMessagingSpan`

Table 28. Tag Keys
Name | Description
%s | User provided keys via customization options. (since the name contains `%s` the final value will be resolved at runtime)
channel | Name of the Spring Integration channel.

### 1.23. Mvc Handler Interceptor Span

> Span around a HandlerInterceptor. Will continue the current span and tag it

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.web.mvc.SleuthMvcSpan`

Table 29. Tag Keys
Name | Description
mvc.controller.class | Class name where a method got annotated with @Scheduled.
mvc.controller.method | Method name that got annotated with @Scheduled.

### 1.24. Quartz Trigger Span

> Span created when trigger is fired and then completed.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.quartz.SleuthQuartzSpan`

Table 30. Tag Keys
Name | Description
quartz.trigger | Name of the trigger.

### 1.25. R2dbc Query Span

> Span created on the Kafka consumer side.

Span name `query`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.r2dbc.SleuthR2dbcSpan`

| All tags and events must be prefixed with `r2dbc.` prefix!

Table 31. Tag Keys
Name | Description
r2dbc.connection | Name of the R2DBC connection.
r2dbc.query[%s] | Name of the R2DBC query. (since the name contains `%s` the final value will be resolved at runtime)
r2dbc.thread | Name of the R2DBC thread.

### 1.26. Rsocket Requester Span

> Span created on the RSocket responder side.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.rsocket.SleuthRSocketSpan`

| All tags and events must be prefixed with `rsocket.` prefix!

Table 32. Tag Keys
Name | Description
rsocket.request-type | Name of the R2DBC thread.
rsocket.route | Name of the RSocket route.

### 1.27. Rsocket Responder Span

> Span created on the RSocket responder side.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.rsocket.SleuthRSocketSpan`

### 1.28. Rx Java Trace Action Span

> Span that wraps a Rx Java .

Span name `rxjava`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.rxjava.SleuthRxJavaSpan`

Table 33. Tag Keys
Name | Description
thread | Name of the thread.

### 1.29. Scheduled Annotation Span

> Span that wraps a annotated method. Either creates a new span or continues an existing one.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.scheduling.SleuthSchedulingSpan`

Table 34. Tag Keys
Name | Description
class | Class name where a method got annotated with @Scheduled.
method | Method name that got annotated with @Scheduled.

### 1.30. Security Context Change

> Indicates that a SecurityContextChangedEvent happened during the current span.

Span name `Security Context Change`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.security.SleuthSecuritySpan`

Table 35. Event Values
Name | Description
Authentication cleared %s | Event created when an Authentication object is removed from the SecurityContext. (since the name contains `%s` the final value will be resolved at runtime)
Authentication replaced %s | Event created when an Authentication object is replaced with a new one in the SecurityContext. (since the name contains `%s` the final value will be resolved at runtime)
Authentication set %s | Event created when an Authentication object is added to the SecurityContext. (since the name contains `%s` the final value will be resolved at runtime)

### 1.31. Session Create Span

> Span created when a new session has to be created.

Span name `session.create`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.session.SleuthSessionSpan`

### 1.32. Session Delete Span

> Span created when a session is deleted.

Span name `session.delete`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.session.SleuthSessionSpan`

### 1.33. Session Find Span

> Span created when a new session is searched for.

Span name `session.find`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.session.SleuthSessionSpan`

| All tags and events must be prefixed with `session.` prefix!

Table 36. Tag Keys
Name | Description
session.index.name |

### 1.34. Session Save Span

> Span created when a new session is saved.

Span name `session.save`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.session.SleuthSessionSpan`

### 1.35. Task Execution Listener Span

> Span created within the lifecycle of a task.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.task.SleuthTaskSpan`

### 1.36. Task Runner Span

> Span created when a task runner is executed.

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.task.SleuthTaskSpan`

### 1.37. Tx Span

> Span created when there was no previous transaction. If there was one, we will continue it unless propagation is required.

Span name `tx`.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.tx.SleuthTxSpan`

| All tags and events must be prefixed with `tx.` prefix!

Table 37. Tag Keys
Name | Description
tx.isolation-level | Transaction isolation level.
tx.name | Transaction name.
tx.propagation-level | Transaction propagation level.
tx.read-only | Whether the transaction is read-only.
tx.timeout | Transaction timeout.
tx.transaction-manager | Name of the TransactionManager.

### 1.38. Web Filter Span

> Span around a WebFilter. Will continue the current span or create a new one and tag it

Span name `%s` - since it contains `%s`, the name is dynamic and will be resolved at runtime.

Fully qualified name of the enclosing class `org.springframework.cloud.sleuth.instrument.web.SleuthWebSpan`

Table 38. Tag Keys
Name | Description
http.status_code | Response status code.
mvc.controller.class | Name of the class that is processing the request.
mvc.controller.method | Name of the method that is processing the request.