@@ -195,7 +195,7 @@ void TExecutor::RecreatePageCollectionsCache() noexcept
195195 auto &seat = xpair.second ->Seat ;
196196 xpair.second ->WaitingSpan .EndOk ();
197197 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
198- seat->CreateEnqueuedSpan ();
198+ seat->StartEnqueuedSpan ();
199199 ActivationQueue->Push (seat.Release ());
200200 ActivateTransactionWaiting++;
201201 }
@@ -519,7 +519,7 @@ void TExecutor::PlanTransactionActivation() {
519519 while (PendingQueue->Head () && (!limitTxInFly || (Stats->TxInFly - Stats->TxPending < limitTxInFly))) {
520520 TAutoPtr<TSeat> seat = PendingQueue->Pop ();
521521 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
522- seat->CreateEnqueuedSpan ();
522+ seat->StartEnqueuedSpan ();
523523 ActivationQueue->Push (seat.Release ());
524524 ActivateTransactionWaiting++;
525525 --Stats->TxPending ;
@@ -540,7 +540,7 @@ void TExecutor::ActivateWaitingTransactions(TPrivatePageCache::TPage::TWaitQueue
540540 it->second ->WaitingSpan .EndOk ();
541541 auto &seat = it->second ->Seat ;
542542 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
543- seat->CreateEnqueuedSpan ();
543+ seat->StartEnqueuedSpan ();
544544 ActivationQueue->Push (seat.Release ());
545545 ActivateTransactionWaiting++;
546546 TransactionWaitPads.erase (waitPad);
@@ -1575,11 +1575,9 @@ bool TExecutor::CanExecuteTransaction() const {
15751575 return Stats->IsActive && (Stats->IsFollower || PendingPartSwitches.empty ()) && !BrokenTransaction;
15761576}
15771577
1578- void TExecutor::DoExecute (TAutoPtr<ITransaction> self, bool allowImmediate, const TActorContext &ctx) {
1578+ void TExecutor::DoExecute (TAutoPtr<ITransaction> self, bool allowImmediate, const TActorContext &ctx, NWilson::TTraceId traceId ) {
15791579 Y_ABORT_UNLESS (ActivationQueue, " attempt to execute transaction before activation" );
15801580
1581- NWilson::TTraceId traceId;
1582-
15831581 TAutoPtr<TSeat> seat = new TSeat (++TransactionUniqCounter, self, std::move (traceId));
15841582
15851583 LWTRACK (TransactionBegin, seat->Self ->Orbit , seat->UniqID , Owner->TabletID (), TypeName (*seat->Self ));
@@ -1624,7 +1622,7 @@ void TExecutor::DoExecute(TAutoPtr<ITransaction> self, bool allowImmediate, cons
16241622
16251623 if (ActiveTransaction || ActivateTransactionWaiting || !allowImmediate) {
16261624 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
1627- seat->CreateEnqueuedSpan ();
1625+ seat->StartEnqueuedSpan ();
16281626 ActivationQueue->Push (seat.Release ());
16291627 ActivateTransactionWaiting++;
16301628 PlanTransactionActivation ();
@@ -1634,12 +1632,12 @@ void TExecutor::DoExecute(TAutoPtr<ITransaction> self, bool allowImmediate, cons
16341632 ExecuteTransaction (seat, ctx);
16351633}
16361634
1637- void TExecutor::Execute (TAutoPtr<ITransaction> self, const TActorContext &ctx) {
1638- DoExecute (self, true , ctx);
1635+ void TExecutor::Execute (TAutoPtr<ITransaction> self, const TActorContext &ctx, NWilson::TTraceId traceId ) {
1636+ DoExecute (self, true , ctx, std::move (traceId) );
16391637}
16401638
1641- void TExecutor::Enqueue (TAutoPtr<ITransaction> self, const TActorContext &ctx) {
1642- DoExecute (self, false , ctx);
1639+ void TExecutor::Enqueue (TAutoPtr<ITransaction> self, const TActorContext &ctx, NWilson::TTraceId traceId ) {
1640+ DoExecute (self, false , ctx, std::move (traceId) );
16431641}
16441642
16451643void TExecutor::ExecuteTransaction (TAutoPtr<TSeat> seat, const TActorContext &ctx) {
@@ -1653,14 +1651,14 @@ void TExecutor::ExecuteTransaction(TAutoPtr<TSeat> seat, const TActorContext &ct
16531651 PrivatePageCache->ResetTouchesAndToLoad (true );
16541652 TPageCollectionTxEnv env (*Database, *PrivatePageCache);
16551653
1656- TTransactionContext txc (Owner->TabletID (), Generation (), Step (), *Database, env, seat->CurrentTxDataLimit , seat->TaskId );
1654+ TTransactionContext txc (*seat, Owner->TabletID (), Generation (), Step (), *Database, env, seat->CurrentTxDataLimit , seat->TaskId );
16571655 txc.NotEnoughMemory (seat->NotEnoughMemoryCount );
16581656
16591657 Database->Begin (Stamp (), env);
16601658
16611659 LWTRACK (TransactionExecuteBegin, seat->Self ->Orbit , seat->UniqID );
16621660
1663- NWilson::TSpan txExecuteSpan (TWilsonTablet::Tablet, seat->GetTxTraceId (), " Tablet.Transaction.Execute " );
1661+ NWilson::TSpan txExecuteSpan = seat->CreateExecutionSpan ( );
16641662 const bool done = seat->Self ->Execute (txc, ctx.MakeFor (OwnerActorId));
16651663 txExecuteSpan.EndOk ();
16661664
@@ -1857,7 +1855,7 @@ void TExecutor::PostponeTransaction(TAutoPtr<TSeat> seat, TPageCollectionTxEnv &
18571855 // then tx may be re-activated.
18581856 if (!PrivatePageCache->GetStats ().CurrentCacheMisses ) {
18591857 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
1860- seat->CreateEnqueuedSpan ();
1858+ seat->StartEnqueuedSpan ();
18611859 ActivationQueue->Push (seat.Release ());
18621860 ActivateTransactionWaiting++;
18631861 PlanTransactionActivation ();
@@ -2945,7 +2943,7 @@ void TExecutor::StartSeat(ui64 task, TResource *cookie_) noexcept
29452943 PostponedTransactions.erase (it);
29462944 Memory->AcquiredMemory (*seat, task);
29472945 LWTRACK (TransactionEnqueued, seat->Self ->Orbit , seat->UniqID );
2948- seat->CreateEnqueuedSpan ();
2946+ seat->StartEnqueuedSpan ();
29492947 ActivationQueue->Push (seat.Release ());
29502948 ActivateTransactionWaiting++;
29512949 PlanTransactionActivation ();
0 commit comments