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

false

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.mongodb.socket-address-span-customizer.enabled

false

Enable setting of SocketAddress information on the Mongo span.

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.reactor.netty.debug.enabled

false

WARNING: Use with caution, can lead to serious performance issues. Enable additional instrumentation for Reactor Netty.

spring.sleuth.redis.enabled

true

Enable span information propagation when using Redis.

spring.sleuth.redis.legacy.enabled

false

Enable legacy tracing of Redis that works only via Brave.

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

http://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.check-timeout

1000

Timeout in millis for the check for Zipkin availability.

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.queued-max-spans

1000

Maximum backlog of spans reported vs sent.

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 committed.

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 committed.

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 On Message Span

Span created on the Kafka consumer side when using a MessageListener.

Span name kafka.on-message.

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.offset

Kafka offset number.

kafka.partition

Kafka partition number.

kafka.topic

Name of the Kafka topic.

1.22. 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 28. Tag Keys

Name

Description

kafka.topic

Name of the Kafka topic.

1.23. 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 29. 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.

function.name

Name of the Spring Cloud Function function name.

1.24. 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 30. 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.25. 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 31. Tag Keys

Name

Description

quartz.trigger

Name of the trigger.

1.26. 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 32. 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.27. 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 33. Tag Keys

Name

Description

rsocket.request-type

Name of the R2DBC thread.

rsocket.route

Name of the RSocket route.

1.28. 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.29. 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 34. Tag Keys

Name

Description

thread

Name of the thread.

1.30. 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 35. Tag Keys

Name

Description

class

Class name where a method got annotated with @Scheduled.

method

Method name that got annotated with @Scheduled.

1.31. 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 36. 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.32. 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.33. 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.34. 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 37. Tag Keys

Name

Description

session.index.name

1.35. 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.36. 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.37. 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.38. 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 38. 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.39. 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 39. 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.