Skip to content

Commit 2f37b6e

Browse files
committed
Fix datashard read traces
1 parent 2189828 commit 2f37b6e

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

ydb/core/tablet_flat/shared_sausagecache.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -258,9 +258,10 @@ class TSharedPageCache : public TActorBootstrapped<TSharedPageCache> {
258258
};
259259

260260
struct TRequest : public TSimpleRefCount<TRequest> {
261-
TRequest(TIntrusiveConstPtr<NPageCollection::IPageCollection> pageCollection)
261+
TRequest(TIntrusiveConstPtr<NPageCollection::IPageCollection> pageCollection, NWilson::TTraceId &&traceId)
262262
: Label(pageCollection->Label())
263263
, PageCollection(std::move(pageCollection))
264+
, TraceId(std::move(traceId))
264265
{
265266

266267
}
@@ -275,6 +276,7 @@ class TSharedPageCache : public TActorBootstrapped<TSharedPageCache> {
275276
ui64 PendingBlocks = 0;
276277
TBlocks ReadyBlocks;
277278
TDeque<ui32> PagesToRequest;
279+
NWilson::TTraceId TraceId;
278280
};
279281

280282
struct TExpectant {
@@ -587,7 +589,7 @@ class TSharedPageCache : public TActorBootstrapped<TSharedPageCache> {
587589
}
588590
}
589591

590-
auto waitingRequest = MakeIntrusive<TRequest>(std::move(msg->Fetch->PageCollection));
592+
auto waitingRequest = MakeIntrusive<TRequest>(std::move(msg->Fetch->PageCollection), std::move(msg->Fetch->TraceId));
591593

592594
waitingRequest->Source = ev->Sender;
593595
waitingRequest->Owner = msg->Owner;
@@ -674,7 +676,7 @@ class TSharedPageCache : public TActorBootstrapped<TSharedPageCache> {
674676
} else {
675677
AddInFlyPages(pagesToRequest.size(), pagesToRequestBytes);
676678
// fetch cookie -> requested size
677-
auto *fetch = new NPageCollection::TFetch(pagesToRequestBytes, waitingRequest->PageCollection, std::move(pagesToRequest));
679+
auto *fetch = new NPageCollection::TFetch(pagesToRequestBytes, waitingRequest->PageCollection, std::move(pagesToRequest), std::move(waitingRequest->TraceId));
678680
NBlockIO::Start(this, waitingRequest->Owner, 0, waitingRequest->Priority, fetch);
679681
}
680682
}
@@ -758,7 +760,7 @@ class TSharedPageCache : public TActorBootstrapped<TSharedPageCache> {
758760
AddInFlyPages(toLoad.size(), sizeToLoad);
759761
// fetch cookie -> requested size;
760762
// event cookie -> ptr to queue
761-
auto *fetch = new NPageCollection::TFetch(sizeToLoad, wa.PageCollection, std::move(toLoad));
763+
auto *fetch = new NPageCollection::TFetch(sizeToLoad, wa.PageCollection, std::move(toLoad), std::move(wa.TraceId));
762764
NBlockIO::Start(this, wa.Owner, (ui64)&queue, wa.Priority, fetch);
763765
}
764766
}

ydb/core/tx/datashard/datashard__read_iterator.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -2107,7 +2107,6 @@ class TDataShard::TTxReadViaPipeline : public NTabletFlatExecutor::TTransactionB
21072107

21082108
const ui64 tieBreaker = Self->NextTieBreakerIndex++;
21092109
Op = new TReadOperation(Self, ctx.Now(), tieBreaker, Ev);
2110-
Op->OperationSpan = NWilson::TSpan(TWilsonTablet::Tablet, readSpan.GetTraceId(), "ReadIterator.ReadOperation", NWilson::EFlags::AUTO_END);
21112110

21122111
Op->BuildExecutionPlan(false);
21132112
Self->Pipeline.GetExecutionUnit(Op->GetCurrentUnit()).AddOperation(Op);
@@ -2537,7 +2536,8 @@ void TDataShard::Handle(TEvDataShard::TEvRead::TPtr& ev, const TActorContext& ct
25372536
auto* request = ev->Get();
25382537

25392538
if (!request->ReadSpan) {
2540-
request->ReadSpan = NWilson::TSpan(TWilsonTablet::Tablet, std::move(ev->TraceId), "DataShard.Read");
2539+
request->ReadSpan = NWilson::TSpan(TWilsonTablet::Tablet, std::move(ev->TraceId), "Datashard.Read", NWilson::EFlags::AUTO_END);
2540+
request->ReadSpan.Attribute("Shard", std::to_string(TabletID()));
25412541
}
25422542

25432543
const auto& record = request->Record;

ydb/core/tx/datashard/datashard_ut_trace.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -451,17 +451,17 @@ Y_UNIT_TEST_SUITE(TDataShardTrace) {
451451
auto readActorSpan = trace.Root.BFSFindOne("ReadActor");
452452
UNIT_ASSERT(readActorSpan);
453453

454-
auto dsReads = readActorSpan->get().FindAll("DataShard.Read"); // Read actor sends EvRead to each shard.
454+
auto dsReads = readActorSpan->get().FindAll("Datashard.Read"); // Read actor sends EvRead to each shard.
455455
UNIT_ASSERT_EQUAL(dsReads.size(), 2);
456456

457457
std::string canon = "(Session.query.QUERY_ACTION_EXECUTE -> [(CompileService -> [(CompileActor)]) , "
458458
"(DataExecuter -> [(WaitForTableResolve) , (WaitForShardsResolve) , (WaitForSnapshot) , (ComputeActor) , "
459459
"(RunTasks) , (KqpNode.SendTasks) , (ComputeActor -> [(ReadActor -> [(WaitForShardsResolve) , "
460-
"(DataShard.Read -> [(Tablet.Transaction -> [(Tablet.Transaction.Execute -> [(Datashard.Unit) , "
461-
"(Datashard.Unit) , (Datashard.Unit) , (Datashard.Unit)]) , (Tablet.WriteLog -> [(Tablet.WriteLog.LogEntry)])]) , "
462-
"(ReadIterator.ReadOperation)]) , (DataShard.Read -> [(Tablet.Transaction -> [(Tablet.Transaction.Execute -> "
460+
"(Datashard.Read -> [(Tablet.Transaction -> [(Tablet.Transaction.Execute -> [(Datashard.Unit) , "
461+
"(Datashard.Unit) , (Datashard.Unit) , (Datashard.Unit)]) , (Tablet.WriteLog -> [(Tablet.WriteLog.LogEntry)])])"
462+
"]) , (Datashard.Read -> [(Tablet.Transaction -> [(Tablet.Transaction.Execute -> "
463463
"[(Datashard.Unit) , (Datashard.Unit) , (Datashard.Unit) , (Datashard.Unit)]) , (Tablet.WriteLog -> "
464-
"[(Tablet.WriteLog.LogEntry)])]) , (ReadIterator.ReadOperation)])])])])])";
464+
"[(Tablet.WriteLog.LogEntry)])])])])])])])";
465465
UNIT_ASSERT_VALUES_EQUAL(canon, trace.ToString());
466466
}
467467

0 commit comments

Comments
 (0)