Much of contention observability work on the execution side this milestone was built on top of mock contention events while KV worked on emitting real contention events. As of #58444, real contention events are added to a trace.
This issue tracks using these real contention events instead of the mock contention events produced right now. Something to note is that a ContentionEvent field was added to ProducerMetadata to propagate these back to the gateway. However, these events are added to the trace, which means we can probably get rid of this new field and instead use Structured to visit a trace's payload in the distsql receiver, when adding contention events to its contention registry.
Much of contention observability work on the execution side this milestone was built on top of mock contention events while KV worked on emitting real contention events. As of #58444, real contention events are added to a trace.
This issue tracks using these real contention events instead of the mock contention events produced right now. Something to note is that a
ContentionEventfield was added toProducerMetadatato propagate these back to the gateway. However, these events are added to the trace, which means we can probably get rid of this new field and instead useStructuredto visit a trace's payload in the distsql receiver, when adding contention events to its contention registry.