Skip to content

Commit 5c601a9

Browse files
ivanmorozov333dorooleg
authored andcommitted
additional signals for conveyor (ydb-platform#16770)
1 parent 4f75753 commit 5c601a9

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

ydb/core/tx/conveyor/service/service.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ void TDistributor::HandleMain(TEvInternal::TEvTaskProcessedResult::TPtr& evExt)
3636
("queue", ProcessesOrdered.size())("workers", Workers.size())("count", ev->GetProcessIds().size())("d", ev->GetInstants().back() - ev->GetInstants().front());
3737
for (ui32 idx = 0; idx < ev->GetProcessIds().size(); ++idx) {
3838
AddCPUTime(ev->GetProcessIds()[idx], ev->GetInstants()[idx + 1] - std::max(LastAddProcessInstant, ev->GetInstants()[idx]));
39+
Counters.TaskExecuteHistogram->Collect((ev->GetInstants()[idx + 1] - ev->GetInstants()[idx]).MicroSeconds());
3940
}
4041
const TDuration dExecution = ev->GetInstants().back() - ev->GetInstants().front();
41-
Counters.ExecuteHistogram->Collect(dExecution.MicroSeconds());
42+
Counters.PackExecuteHistogram->Collect(dExecution.MicroSeconds());
4243
Counters.ExecuteDuration->Add(dExecution.MicroSeconds());
4344

4445
const TMonotonic now = TMonotonic::Now();
@@ -48,7 +49,7 @@ void TDistributor::HandleMain(TEvInternal::TEvTaskProcessedResult::TPtr& evExt)
4849
const TDuration predictedDurationPerTask = std::max<TDuration>(dExecution / ev->GetProcessIds().size(), TDuration::MicroSeconds(10));
4950
const double alpha = 0.1;
5051
const ui32 countTheory = (dBackSend + dForwardSend).GetValue() / (alpha * predictedDurationPerTask.GetValue());
51-
const ui32 countPredicted = std::max<ui32>(1, std::min<ui32>(WaitingTasksCount.Val(), countTheory));
52+
const ui32 countPredicted = std::max<ui32>(1, std::min<ui32>(WaitingTasksCount.Val() / WorkersCount, countTheory));
5253
AFL_DEBUG(NKikimrServices::TX_CONVEYOR)("action", "prediction")("alpha", alpha)
5354
("send_forward", dForwardSend)("send_back", dBackSend)("count", ev->GetProcessIds().size())("exec", dExecution)("theory_count", countTheory)
5455
("real_count", countPredicted);

ydb/core/tx/conveyor/service/service.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ class TCounters: public NColumnShard::TCommonCountersOwner {
3535

3636
const ::NMonitoring::THistogramPtr WaitingHistogram;
3737
const ::NMonitoring::THistogramPtr PackHistogram;
38-
const ::NMonitoring::THistogramPtr ExecuteHistogram;
38+
const ::NMonitoring::THistogramPtr PackExecuteHistogram;
39+
const ::NMonitoring::THistogramPtr TaskExecuteHistogram;
3940
const ::NMonitoring::THistogramPtr SendBackHistogram;
4041
const ::NMonitoring::THistogramPtr SendFwdHistogram;
4142
const ::NMonitoring::THistogramPtr ReceiveTaskHistogram;
@@ -58,7 +59,8 @@ class TCounters: public NColumnShard::TCommonCountersOwner {
5859
, UseWorkerRate(TBase::GetDeriviative("UseWorker"))
5960
, WaitingHistogram(TBase::GetHistogram("Waiting/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
6061
, PackHistogram(TBase::GetHistogram("ExecutionPack/Count", NMonitoring::LinearHistogram(25, 1, 1)))
61-
, ExecuteHistogram(TBase::GetHistogram("Execute/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
62+
, PackExecuteHistogram(TBase::GetHistogram("PackExecute/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
63+
, TaskExecuteHistogram(TBase::GetHistogram("TaskExecute/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
6264
, SendBackHistogram(TBase::GetHistogram("SendBack/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
6365
, SendFwdHistogram(TBase::GetHistogram("SendForward/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))
6466
, ReceiveTaskHistogram(TBase::GetHistogram("ReceiveTask/Duration/Us", NMonitoring::ExponentialHistogram(25, 2, 50)))

0 commit comments

Comments
 (0)