diff options
author | niksaveliev <[email protected]> | 2024-09-20 18:22:26 +0500 |
---|---|---|
committer | GitHub <[email protected]> | 2024-09-20 18:22:26 +0500 |
commit | 6dc4fe795dc3d6261eed1eb2699e74ee826740d5 (patch) | |
tree | 7f900ed49037218e12f224dab5dc409b362c5fa0 | |
parent | 317acd4e519ef082939f6fe1168321cee7fe205b (diff) |
Add auto partitioning fields to CLI describe (#9559)
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/ydb_service_scheme.cpp | 51 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp | 6 |
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 |