summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniksaveliev <[email protected]>2024-09-20 18:22:26 +0500
committerGitHub <[email protected]>2024-09-20 18:22:26 +0500
commit6dc4fe795dc3d6261eed1eb2699e74ee826740d5 (patch)
tree7f900ed49037218e12f224dab5dc409b362c5fa0
parent317acd4e519ef082939f6fe1168321cee7fe205b (diff)
Add auto partitioning fields to CLI describe (#9559)
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp51
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp6
2 files changed, 40 insertions, 17 deletions
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp b/ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp
index c7ae3f8b18d..875b6346fa5 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp
+++ b/ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp
@@ -10,6 +10,13 @@
namespace NYdb {
namespace NConsoleClient {
+THashMap<NTopic::EAutoPartitioningStrategy, TString> AutoPartitioningStrategiesStrs = {
+ std::pair<NTopic::EAutoPartitioningStrategy, TString>(NTopic::EAutoPartitioningStrategy::Disabled, "disabled"),
+ std::pair<NTopic::EAutoPartitioningStrategy, TString>(NTopic::EAutoPartitioningStrategy::ScaleUp, "up"),
+ std::pair<NTopic::EAutoPartitioningStrategy, TString>(NTopic::EAutoPartitioningStrategy::ScaleUpAndDown, "up-and-down"),
+ std::pair<NTopic::EAutoPartitioningStrategy, TString>(NTopic::EAutoPartitioningStrategy::Paused, "paused"),
+};
+
TCommandScheme::TCommandScheme()
: TClientCommandTree("scheme", {}, "Scheme service operations")
{
@@ -316,7 +323,35 @@ namespace {
Cout << "Written size per minute: " << PrettySize(topicStats.GetBytesWrittenPerMinute()) << Endl;
Cout << "Written size per hour: " << PrettySize(topicStats.GetBytesWrittenPerHour()) << Endl;
Cout << "Written size per day: " << PrettySize(topicStats.GetBytesWrittenPerDay()) << Endl;
+ }
+ void PrintMain(const NTopic::TTopicDescription& topicDescription) {
+ Cout << Endl << "Main:";
+ Cout << Endl << "RetentionPeriod: " << topicDescription.GetRetentionPeriod().Hours() << " hours";
+ if (topicDescription.GetRetentionStorageMb().Defined()) {
+ Cout << Endl << "StorageRetention: " << *topicDescription.GetRetentionStorageMb() << " MB";
+ }
+ Cout << Endl << "PartitionsCount: " << topicDescription.GetTotalPartitionsCount();
+ Cout << Endl << "PartitionWriteSpeed: " << topicDescription.GetPartitionWriteSpeedBytesPerSecond() / 1_KB << " KB";
+ Cout << Endl << "MeteringMode: " << (TStringBuilder() << topicDescription.GetMeteringMode());
+ if (!topicDescription.GetSupportedCodecs().empty()) {
+ Cout << Endl << "SupportedCodecs: " << FormatCodecs(topicDescription.GetSupportedCodecs()) << Endl;
+ }
+ }
+
+ void PrintAutopartitioning(const NTopic::TTopicDescription& topicDescription) {
+ auto autoPartitioningStrategyIt = NYdb::NConsoleClient::AutoPartitioningStrategiesStrs.find(topicDescription.GetPartitioningSettings().GetAutoPartitioningSettings().GetStrategy());
+ if (!autoPartitioningStrategyIt.IsEnd()) {
+ Cout << Endl << "AutoPartitioning:";
+ Cout << Endl << "Strategy: " << autoPartitioningStrategyIt->second;
+ if (topicDescription.GetPartitioningSettings().GetAutoPartitioningSettings().GetStrategy() != NTopic::EAutoPartitioningStrategy::Disabled) {
+ Cout << Endl << "MinActivePartitions: " << topicDescription.GetPartitioningSettings().GetMinActivePartitions();
+ Cout << Endl << "MaxActivePartitions: " << topicDescription.GetPartitioningSettings().GetMaxActivePartitions();
+ Cout << Endl << "DownUtilizationPercent: " << topicDescription.GetPartitioningSettings().GetAutoPartitioningSettings().GetDownUtilizationPercent();
+ Cout << Endl << "UpUtilizationPercent: " << topicDescription.GetPartitioningSettings().GetAutoPartitioningSettings().GetUpUtilizationPercent();
+ Cout << Endl << "StabilizationWindowSeconds: " << topicDescription.GetPartitioningSettings().GetAutoPartitioningSettings().GetStabilizationWindow().Seconds() << Endl;
+ }
+ }
}
void PrintPartitionStatistics(const NTopic::TTopicDescription& topicDescription) {
@@ -356,20 +391,10 @@ namespace {
}
int TCommandDescribe::PrintTopicResponsePretty(const NYdb::NTopic::TTopicDescription& description) const {
- Cout << Endl << "RetentionPeriod: " << description.GetRetentionPeriod().Hours() << " hours";
- if (description.GetRetentionStorageMb().Defined()) {
- Cout << Endl << "StorageRetention: " << *description.GetRetentionStorageMb() << " MB";
- }
- Cout << Endl << "PartitionsCount: " << description.GetTotalPartitionsCount();
- Cout << Endl << "PartitionWriteSpeed: " << description.GetPartitionWriteSpeedBytesPerSecond() / 1_KB << " KB";
- Cout << Endl << "MeteringMode: " << (TStringBuilder() << description.GetMeteringMode());
- if (!description.GetSupportedCodecs().empty()) {
- Cout << Endl << "SupportedCodecs: " << FormatCodecs(description.GetSupportedCodecs()) << Endl;
- }
+ PrintMain(description);
+ PrintAutopartitioning(description);
PrintTopicConsumers(description.GetConsumers());
-
PrintPermissionsIfNeeded(description);
-
if (ShowStats) {
PrintStatistics(description);
}
@@ -799,8 +824,6 @@ namespace {
Cout << "Created: " << FormatTime(tableDescription.GetCreationTime()) << Endl;
}
-
-
void PrintPartitionInfo(const NTable::TTableDescription& tableDescription, bool showBoundaries, bool showStats) {
const TVector<NTable::TKeyRange>& ranges = tableDescription.GetKeyRanges();
const TVector<NTable::TPartitionStats>& stats = tableDescription.GetPartitionStats();
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp b/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
index f7c81964c05..db2fdff0a65 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
+++ b/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
@@ -46,7 +46,7 @@ namespace NYdb::NConsoleClient {
std::pair<TString, NTopic::EAutoPartitioningStrategy>("disabled", NTopic::EAutoPartitioningStrategy::Disabled),
std::pair<TString, NTopic::EAutoPartitioningStrategy>("up", NTopic::EAutoPartitioningStrategy::ScaleUp),
std::pair<TString, NTopic::EAutoPartitioningStrategy>("up-and-down", NTopic::EAutoPartitioningStrategy::ScaleUpAndDown),
- std::pair<TString, NTopic::EAutoPartitioningStrategy>("puased", NTopic::EAutoPartitioningStrategy::Paused),
+ std::pair<TString, NTopic::EAutoPartitioningStrategy>("paused", NTopic::EAutoPartitioningStrategy::Paused),
};
THashMap<NTopic::EAutoPartitioningStrategy, TString> AutoscaleStrategiesDescriptions = {
@@ -325,8 +325,8 @@ namespace {
auto autoscaleSettings = NTopic::TAutoPartitioningSettings(
GetAutoPartitioningStrategy() ? *GetAutoPartitioningStrategy() : NTopic::EAutoPartitioningStrategy::Disabled,
GetAutoPartitioningStabilizationWindowSeconds() ? TDuration::Seconds(*GetAutoPartitioningStabilizationWindowSeconds()) : TDuration::Seconds(0),
- GetAutoPartitioningUpUtilizationPercent() ? *GetAutoPartitioningUpUtilizationPercent() : 0,
- GetAutoPartitioninDownUtilizationPercent() ? *GetAutoPartitioninDownUtilizationPercent() : 0);
+ GetAutoPartitioninDownUtilizationPercent() ? *GetAutoPartitioninDownUtilizationPercent() : 0,
+ GetAutoPartitioningUpUtilizationPercent() ? *GetAutoPartitioningUpUtilizationPercent() : 0);
ui32 finalMaxActivePartitions = MaxActivePartitions_.Defined() ? *MaxActivePartitions_
: autoscaleSettings.GetStrategy() != NTopic::EAutoPartitioningStrategy::Disabled ? MinActivePartitions_ + 50