Skip to content

Commit 04968d0

Browse files
va-kuznecovVlad Kuznecov
andauthored
Merge 24-3. Fix ColorBorderOccupancy in PDisk (#8872)
Co-authored-by: Vlad Kuznecov <va-kuznecov@nebius.com>
1 parent 1bb608a commit 04968d0

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

ydb/core/blobstorage/pdisk/blobstorage_pdisk_chunk_tracker.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,16 +163,20 @@ class TPerOwnerQuotaTracker {
163163
str << "</tr>";
164164
}
165165

166-
void PrintHTML(IOutputStream &str, TQuotaRecord *sharedQuota, NKikimrBlobStorage::TPDiskSpaceColor::E *colorBorder) {
166+
void PrintHTML(IOutputStream &str, TQuotaRecord *sharedQuota, NKikimrBlobStorage::TPDiskSpaceColor::E *colorBorder, double *borderOccupancy) {
167167
str << "<pre>";
168168
str << "ColorLimits#\n";
169169
ColorLimits.Print(str);
170170
str << "\nTotal# " << Total;
171171
str << "\nExpectedOwnerCount# " << ExpectedOwnerCount;
172172
str << "\nActiveOwners# " << ActiveOwnerIds.size();
173173
if (colorBorder) {
174-
str << "\nColorBorder# " << NKikimrBlobStorage::TPDiskSpaceColor::E_Name(*colorBorder) << "\n";
174+
str << "\nColorBorder# " << NKikimrBlobStorage::TPDiskSpaceColor::E_Name(*colorBorder);
175175
}
176+
if (borderOccupancy) {
177+
str << "\nColorBorderOccupancy# " << *borderOccupancy;
178+
}
179+
str << "\n";
176180
str << "</pre>";
177181
str << "<table class='table table-sortable tablesorter tablesorter-bootstrap table-bordered'>";
178182
str << R"_(<tr>
@@ -531,9 +535,9 @@ using TColor = NKikimrBlobStorage::TPDiskSpaceColor;
531535

532536
void PrintHTML(IOutputStream &str) {
533537
str << "<h4>GlobalQuota</h4>";
534-
GlobalQuota->PrintHTML(str, nullptr, nullptr);
538+
GlobalQuota->PrintHTML(str, nullptr, nullptr, nullptr);
535539
str << "<h4>OwnerQuota</h4>";
536-
OwnerQuota->PrintHTML(str, SharedQuota.Get(), &ColorBorder);
540+
OwnerQuota->PrintHTML(str, SharedQuota.Get(), &ColorBorder, &ColorBorderOccupancy);
537541
}
538542

539543
ui32 ColorFlagLimit(TOwner owner, NKikimrBlobStorage::TPDiskSpaceColor::E color) {

ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct TDiskColor {
2626
}
2727

2828
double CalculateOccupancy(i64 total) const {
29-
return (double)CalculateQuota(total) / total;
29+
return 1 - (double)CalculateQuota(total) / total;
3030
}
3131
};
3232

@@ -92,15 +92,15 @@ struct TColorLimits {
9292

9393
double GetOccupancyForColor(NKikimrBlobStorage::TPDiskSpaceColor::E color, i64 total) {
9494
switch (color) {
95-
case NKikimrBlobStorage::TPDiskSpaceColor::GREEN: return Cyan.CalculateOccupancy(total);
96-
case NKikimrBlobStorage::TPDiskSpaceColor::CYAN: return LightYellow.CalculateOccupancy(total);
97-
case NKikimrBlobStorage::TPDiskSpaceColor::LIGHT_YELLOW: return Yellow.CalculateOccupancy(total);
98-
case NKikimrBlobStorage::TPDiskSpaceColor::YELLOW: return LightOrange.CalculateOccupancy(total);
99-
case NKikimrBlobStorage::TPDiskSpaceColor::LIGHT_ORANGE: return PreOrange.CalculateOccupancy(total);
100-
case NKikimrBlobStorage::TPDiskSpaceColor::PRE_ORANGE: return Orange.CalculateOccupancy(total);
101-
case NKikimrBlobStorage::TPDiskSpaceColor::ORANGE: return Red.CalculateOccupancy(total);
102-
case NKikimrBlobStorage::TPDiskSpaceColor::RED: return Black.CalculateOccupancy(total);
103-
case NKikimrBlobStorage::TPDiskSpaceColor::BLACK: return 1.0;
95+
case NKikimrBlobStorage::TPDiskSpaceColor::GREEN: return 0.0;
96+
case NKikimrBlobStorage::TPDiskSpaceColor::CYAN: return Cyan.CalculateOccupancy(total);
97+
case NKikimrBlobStorage::TPDiskSpaceColor::LIGHT_YELLOW: return LightYellow.CalculateOccupancy(total);
98+
case NKikimrBlobStorage::TPDiskSpaceColor::YELLOW: return Yellow.CalculateOccupancy(total);
99+
case NKikimrBlobStorage::TPDiskSpaceColor::LIGHT_ORANGE: return LightOrange.CalculateOccupancy(total);
100+
case NKikimrBlobStorage::TPDiskSpaceColor::PRE_ORANGE: return PreOrange.CalculateOccupancy(total);
101+
case NKikimrBlobStorage::TPDiskSpaceColor::ORANGE: return Orange.CalculateOccupancy(total);
102+
case NKikimrBlobStorage::TPDiskSpaceColor::RED: return Red.CalculateOccupancy(total);
103+
case NKikimrBlobStorage::TPDiskSpaceColor::BLACK: return Black.CalculateOccupancy(total);
104104

105105
case NKikimrBlobStorage::TPDiskSpaceColor_E_TPDiskSpaceColor_E_INT_MIN_SENTINEL_DO_NOT_USE_:
106106
case NKikimrBlobStorage::TPDiskSpaceColor_E_TPDiskSpaceColor_E_INT_MAX_SENTINEL_DO_NOT_USE_:

ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,8 @@ struct TPDiskConfig : public TThrRefBase {
298298
str << " OrangeLogChunksMultiplier# " << OrangeLogChunksMultiplier << x;
299299
str << " WarningLogChunksMultiplier# " << WarningLogChunksMultiplier << x;
300300
str << " YellowLogChunksMultiplier# " << YellowLogChunksMultiplier << x;
301+
str << " MaxMetadataMegabytes# " << MaxMetadataMegabytes << x;
302+
str << " SpaceColorBorder# " << SpaceColorBorder << x;
301303
str << "}";
302304
return str.Str();
303305
}

0 commit comments

Comments
 (0)