summaryrefslogtreecommitdiffstats
path: root/library/cpp/actors/core/harmonizer.h
diff options
context:
space:
mode:
authorDaniil Cherednik <[email protected]>2023-05-05 11:09:01 +0300
committerDaniil Cherednik <[email protected]>2023-05-05 11:09:01 +0300
commitb5a989b16cafa8a3b3bc076f1097a0eda6f48c06 (patch)
tree4da744117a5aab37758921fa43b95a3068e5aec1 /library/cpp/actors/core/harmonizer.h
parentfc1cffcfa7f0497a1f97b384a24bcbf23362f3be (diff)
Ydb stable 23-1-2623.1.26
x-stable-origin-commit: 22184a7e157553d447f17a2dffc4ea2d32dfd74d
Diffstat (limited to 'library/cpp/actors/core/harmonizer.h')
-rw-r--r--library/cpp/actors/core/harmonizer.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/library/cpp/actors/core/harmonizer.h b/library/cpp/actors/core/harmonizer.h
index bc6b938fe88..7c66ff54c67 100644
--- a/library/cpp/actors/core/harmonizer.h
+++ b/library/cpp/actors/core/harmonizer.h
@@ -6,16 +6,27 @@
namespace NActors {
class IExecutorPool;
- struct TPoolHarmonizedStats {
+ struct TPoolHarmonizerStats {
ui64 IncreasingThreadsByNeedyState = 0;
ui64 DecreasingThreadsByStarvedState = 0;
ui64 DecreasingThreadsByHoggishState = 0;
+ i64 MaxConsumedCpu = 0.0;
+ i64 MinConsumedCpu = 0.0;
+ i64 MaxBookedCpu = 0.0;
+ i64 MinBookedCpu = 0.0;
i16 PotentialMaxThreadCount = 0;
bool IsNeedy = false;
bool IsStarved = false;
bool IsHoggish = false;
};
+ struct THarmonizerStats {
+ i64 MaxConsumedCpu = 0.0;
+ i64 MinConsumedCpu = 0.0;
+ i64 MaxBookedCpu = 0.0;
+ i64 MinBookedCpu = 0.0;
+ };
+
// Pool cpu harmonizer
class IHarmonizer {
public:
@@ -24,7 +35,8 @@ namespace NActors {
virtual void DeclareEmergency(ui64 ts) = 0;
virtual void AddPool(IExecutorPool* pool, TSelfPingInfo *pingInfo = nullptr) = 0;
virtual void Enable(bool enable) = 0;
- virtual TPoolHarmonizedStats GetPoolStats(i16 poolId) const = 0;
+ virtual TPoolHarmonizerStats GetPoolStats(i16 poolId) const = 0;
+ virtual THarmonizerStats GetStats() const = 0;
};
IHarmonizer* MakeHarmonizer(ui64 ts);