=== 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`

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

.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)
|===

=== 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`

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

=== 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`

=== 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`

=== 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`

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

=== 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`

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

=== 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`

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

.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)
|===

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

=== 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`

=== 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`

=== Config Span

> Span created around an EnvironmentRepository.

**Span name** `find`.

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

=== 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`

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

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

.Event Values
|===
|Name | Description
|jdbc.commit|When the transaction gets committed.
|jdbc.rollback|When the transaction gets rolled back.
|===

=== 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`

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

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

.Event Values
|===
|Name | Description
|jdbc.commit|When the transaction gets committed.
|jdbc.rollback|When the transaction gets rolled back.
|===

=== 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`

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

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

=== 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`

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

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

=== 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`

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

.Tag Keys
|===
|Name | Description
|kafka.topic|Name of the Kafka topic.
|===

=== 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`

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

=== 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`

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

=== 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`

.Tag Keys
|===
|Name | Description
|quartz.trigger|Name of the trigger.
|===

=== 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`

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

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

=== 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`

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

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

=== 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`

=== 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`

.Tag Keys
|===
|Name | Description
|thread|Name of the thread.
|===

=== 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`

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

=== 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`

.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)
|===

=== 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`

=== 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`

=== 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`

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

.Tag Keys
|===
|Name | Description
|session.index.name|
|===

=== 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`

=== 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`

=== 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`

=== 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`

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

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

=== 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`

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

