In this case, the application writing to a database is responsible for providing the tracing span context.
The writer must inject the span context into a `java.util.Properties` instance that is serialized and written to the database as a distinct field of the table.
In this case, Debezium operations together with metadata will be traced but will not be connected to business transaction traces to enable end-to-end tracing.
* insert fields from envelope such as `op` into the processing span as *tags*
* injects the processing span context into message headers
=== Kafka Producer tracing
Optionally it is possible to enable tracing at the Kafka producer level.
If enabled then when the message is being written to the Kafka broker the producer will extract Debezium's processing span context from the Kafka message headers, create a new child span and record information about the write to the broker.
Then it injects the new span into the message headers so a consumer of the message can restore the trace and resume end-to-end tracing.
=== Configuration options
[cols="65%a,>15%a,>20%"]
|===
|Configuration property
|Type
|Default
|`tracing.span.context.field`::
The name of the field containing span context. +
+
_The sender must write the span context into the database column as a serialized instance of `java.util.Properties` with injected span context._
|string
|tracingspancontext
|`tracing.operation.name`::
The operation name representing the Debezium processing span. +
|string
|debezium-read
|`tracing.with.context.field.only`::
Only events that have serialized context field should be traced.
+
_If set to `true` then tracing span will be created only for events with associated tracing span context field.
If set to `false` then the tracing span is created for all incoming events regardless of having associated span context._
The {prodname} link:/documentation/reference/integrations/outbox[Quarkus extension] for implementing the outbox pattern provides the additional functionality necessary for tracing context propagation out-of-the-box.
Specifically, it provides the `tracingspancontext` field in the outbox table, which is used for passing the tracing span context from a service using the outbox extension to the {prodname} connector.
The link:/documentation/reference/configuration/outbox-event-router[Event Router SMT] acts as an Outbox extension counterpart, it executes the same steps as the `ActivateTracingSpan` SMT, and is used instead of it.