@@ -54,6 +54,12 @@ class TPoolHandlerActorBase : public TActor<TDerived> {
54
54
UpdateConfigCounters (poolConfig);
55
55
}
56
56
57
+ void CollectRequestLatency (TInstant continueTime) {
58
+ if (continueTime) {
59
+ RequestsLatencyMs->Collect ((TInstant::Now () - continueTime).MilliSeconds ());
60
+ }
61
+ }
62
+
57
63
void UpdateConfigCounters (const NResourcePool::TPoolSettings& poolConfig) {
58
64
InFlightLimit->Set (std::max (poolConfig.ConcurrentQueryLimit , 0 ));
59
65
QueueSizeLimit->Set (std::max (poolConfig.QueueSize , 0 ));
@@ -106,6 +112,7 @@ class TPoolHandlerActorBase : public TActor<TDerived> {
106
112
const TActorId WorkerActorId;
107
113
const TString SessionId;
108
114
const TInstant StartTime = TInstant::Now();
115
+ TInstant ContinueTime;
109
116
110
117
EState State = EState::Pending;
111
118
bool Started = false ; // after TEvContinueRequest success
@@ -267,6 +274,7 @@ class TPoolHandlerActorBase : public TActor<TDerived> {
267
274
if (status == Ydb::StatusIds::SUCCESS) {
268
275
LocalInFlight++;
269
276
request->Started = true ;
277
+ request->ContinueTime = TInstant::Now ();
270
278
Counters.LocalInFly ->Inc ();
271
279
Counters.ContinueOk ->Inc ();
272
280
Counters.DelayedTimeMs ->Collect ((TInstant::Now () - request->StartTime ).MilliSeconds ());
@@ -387,7 +395,7 @@ class TPoolHandlerActorBase : public TActor<TDerived> {
387
395
388
396
if (status == Ydb::StatusIds::SUCCESS) {
389
397
Counters.CleanupOk ->Inc ();
390
- Counters.RequestsLatencyMs -> Collect (( TInstant::Now () - request->StartTime ). MilliSeconds () );
398
+ Counters.CollectRequestLatency ( request->ContinueTime );
391
399
LOG_D (" Reply cleanup success to " << request->WorkerActorId << " , session id: " << request->SessionId << " , local in flight: " << LocalInFlight);
392
400
} else {
393
401
Counters.CleanupError ->Inc ();
@@ -401,7 +409,7 @@ class TPoolHandlerActorBase : public TActor<TDerived> {
401
409
this ->Send (MakeKqpProxyID (this ->SelfId ().NodeId ()), ev.release ());
402
410
403
411
Counters.Cancelled ->Inc ();
404
- Counters.RequestsLatencyMs -> Collect (( TInstant::Now () - request->StartTime ). MilliSeconds () );
412
+ Counters.CollectRequestLatency ( request->ContinueTime );
405
413
LOG_I (" Cancel request for worker " << request->WorkerActorId << " , session id: " << request->SessionId << " , local in flight: " << LocalInFlight);
406
414
}
407
415
0 commit comments