Skip to content

Commit 531e359

Browse files
authored
Statistics: SendBaseStatsToSA return delta for schedule next event (#8119)
1 parent baf6413 commit 531e359

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

ydb/core/tx/schemeshard/schemeshard_impl.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7321,10 +7321,8 @@ void TSchemeShard::Handle(TEvTxProxySchemeCache::TEvNavigateKeySetResult::TPtr&
73217321
}
73227322

73237323
void TSchemeShard::Handle(TEvPrivate::TEvSendBaseStatsToSA::TPtr&, const TActorContext& ctx) {
7324-
SendBaseStatsToSA();
7325-
auto seconds = SendStatsIntervalMaxSeconds - SendStatsIntervalMinSeconds;
7326-
ctx.Schedule(TDuration::Seconds(SendStatsIntervalMinSeconds + RandomNumber<ui64>(seconds)),
7327-
new TEvPrivate::TEvSendBaseStatsToSA());
7324+
TDuration delta = SendBaseStatsToSA();
7325+
ctx.Schedule(delta, new TEvPrivate::TEvSendBaseStatsToSA());
73287326
}
73297327

73307328
void TSchemeShard::InitializeStatistics(const TActorContext& ctx) {
@@ -7371,15 +7369,15 @@ void TSchemeShard::ConnectToSA() {
73717369
<< ", at schemeshard: " << TabletID());
73727370
}
73737371

7374-
void TSchemeShard::SendBaseStatsToSA() {
7372+
TDuration TSchemeShard::SendBaseStatsToSA() {
73757373
if (!EnableStatistics) {
7376-
return;
7374+
return TDuration::Max();
73777375
}
73787376

73797377
if (!SAPipeClientId) {
73807378
ResolveSA();
73817379
if (!StatisticsAggregatorId) {
7382-
return;
7380+
return TDuration::Seconds(30);
73837381
}
73847382
}
73857383

@@ -7411,6 +7409,13 @@ void TSchemeShard::SendBaseStatsToSA() {
74117409
++count;
74127410
}
74137411

7412+
if (!count) {
7413+
LOG_DEBUG_S(TlsActivationContext->AsActorContext(), NKikimrServices::STATISTICS,
7414+
"SendBaseStatsToSA() No tables to send"
7415+
<< ", at schemeshard: " << TabletID());
7416+
return TDuration::Seconds(30);
7417+
}
7418+
74147419
TString stats;
74157420
stats.clear();
74167421
Y_PROTOBUF_SUPPRESS_NODISCARD record.SerializeToString(&stats);
@@ -7425,6 +7430,9 @@ void TSchemeShard::SendBaseStatsToSA() {
74257430
"SendBaseStatsToSA()"
74267431
<< ", path count: " << count
74277432
<< ", at schemeshard: " << TabletID());
7433+
7434+
return TDuration::Seconds(SendStatsIntervalMinSeconds
7435+
+ RandomNumber<ui64>(SendStatsIntervalMaxSeconds - SendStatsIntervalMinSeconds));
74287436
}
74297437

74307438
} // namespace NSchemeShard

ydb/core/tx/schemeshard/schemeshard_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,7 @@ class TSchemeShard
13961396
void InitializeStatistics(const TActorContext& ctx);
13971397
void ResolveSA();
13981398
void ConnectToSA();
1399-
void SendBaseStatsToSA();
1399+
TDuration SendBaseStatsToSA();
14001400

14011401

14021402

0 commit comments

Comments
 (0)