Skip to content

Commit 6a5ed96

Browse files
authored
Add span to ExecuteQueryRPC (#11135)
1 parent dd7c047 commit 6a5ed96

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

ydb/core/grpc_services/query/rpc_execute_query.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
#include <ydb/public/api/protos/ydb_query.pb.h>
1313

1414
#include <ydb/library/actors/core/actor_bootstrapped.h>
15+
#include <ydb/library/wilson_ids/wilson.h>
16+
1517

1618
namespace NKikimr::NGRpcService {
1719

@@ -164,7 +166,9 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
164166

165167
TExecuteQueryRPC(TEvExecuteQueryRequest* request, ui64 inflightLimitBytes)
166168
: Request_(request)
167-
, FlowControl_(inflightLimitBytes) {}
169+
, FlowControl_(inflightLimitBytes)
170+
, Span_(TWilsonGrpc::RequestActor, request->GetWilsonTraceId(),
171+
"RequestProxy.RpcOperationRequestActor", NWilson::EFlags::AUTO_END) {}
168172

169173
void Bootstrap(const TActorContext &ctx) {
170174
this->Become(&TExecuteQueryRPC::StateWork);
@@ -257,7 +261,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
257261
settings,
258262
req->pool_id());
259263

260-
if (!ctx.Send(NKqp::MakeKqpProxyID(ctx.SelfID.NodeId()), ev.Release())) {
264+
if (!ctx.Send(NKqp::MakeKqpProxyID(ctx.SelfID.NodeId()), ev.Release(), 0, 0, Span_.GetTraceId())) {
261265
NYql::TIssues issues;
262266
issues.AddIssue(MakeIssue(NKikimrIssues::TIssuesIds::DEFAULT_ERROR, "Internal error"));
263267
ReplyFinishStream(Ydb::StatusIds::INTERNAL_ERROR, std::move(issues));
@@ -419,6 +423,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
419423
void ReplySerializedAndFinishStream(Ydb::StatusIds::StatusCode status, TString&& buf) {
420424
const auto finishStreamFlag = NYdbGrpc::IRequestContextBase::EStreamCtrl::FINISH;
421425
Request_->SendSerializedResult(std::move(buf), status, finishStreamFlag);
426+
NWilson::EndSpanWithStatus(Span_, status);
422427
this->PassAway();
423428
}
424429

@@ -457,6 +462,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
457462
} else {
458463
Request_->FinishStream(status);
459464
}
465+
NWilson::EndSpanWithStatus(Span_, status);
460466
this->PassAway();
461467
}
462468

@@ -483,6 +489,8 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
483489
NKikimrKqp::EQueryAction QueryAction;
484490
TRpcFlowControlState FlowControl_;
485491
TMap<ui64, TProducerState> StreamChannels_;
492+
493+
NWilson::TSpan Span_;
486494
};
487495

488496
} // namespace

0 commit comments

Comments
 (0)