12
12
#include < ydb/public/api/protos/ydb_query.pb.h>
13
13
14
14
#include < ydb/library/actors/core/actor_bootstrapped.h>
15
+ #include < ydb/library/wilson_ids/wilson.h>
16
+
15
17
16
18
namespace NKikimr ::NGRpcService {
17
19
@@ -164,7 +166,9 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
164
166
165
167
TExecuteQueryRPC (TEvExecuteQueryRequest* request, ui64 inflightLimitBytes)
166
168
: Request_(request)
167
- , FlowControl_(inflightLimitBytes) {}
169
+ , FlowControl_(inflightLimitBytes)
170
+ , Span_(TWilsonGrpc::RequestActor, request->GetWilsonTraceId (),
171
+ "RequestProxy.RpcOperationRequestActor", NWilson::EFlags::AUTO_END) {}
168
172
169
173
void Bootstrap (const TActorContext &ctx) {
170
174
this ->Become (&TExecuteQueryRPC::StateWork);
@@ -257,7 +261,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
257
261
settings,
258
262
req->pool_id ());
259
263
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 () )) {
261
265
NYql::TIssues issues;
262
266
issues.AddIssue (MakeIssue (NKikimrIssues::TIssuesIds::DEFAULT_ERROR, " Internal error" ));
263
267
ReplyFinishStream (Ydb::StatusIds::INTERNAL_ERROR, std::move (issues));
@@ -419,6 +423,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
419
423
void ReplySerializedAndFinishStream (Ydb::StatusIds::StatusCode status, TString&& buf) {
420
424
const auto finishStreamFlag = NYdbGrpc::IRequestContextBase::EStreamCtrl::FINISH;
421
425
Request_->SendSerializedResult (std::move (buf), status, finishStreamFlag);
426
+ NWilson::EndSpanWithStatus (Span_, status);
422
427
this ->PassAway ();
423
428
}
424
429
@@ -457,6 +462,7 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
457
462
} else {
458
463
Request_->FinishStream (status);
459
464
}
465
+ NWilson::EndSpanWithStatus (Span_, status);
460
466
this ->PassAway ();
461
467
}
462
468
@@ -483,6 +489,8 @@ class TExecuteQueryRPC : public TActorBootstrapped<TExecuteQueryRPC> {
483
489
NKikimrKqp::EQueryAction QueryAction;
484
490
TRpcFlowControlState FlowControl_;
485
491
TMap<ui64, TProducerState> StreamChannels_;
492
+
493
+ NWilson::TSpan Span_;
486
494
};
487
495
488
496
} // namespace
0 commit comments