Clean up progress bar text and fix verbose logging visibility

🎯 PROGRESS BAR TEXT CLEANUP:

 REMOVED REDUNDANT PART INFO:
  • Before: 'Uploading Win10ISO.zip - 1.75 GB/4.57 GB (Part 34/74) at 18.28 MB/s'
  • After: 'Uploading Win10ISO.zip - 1.75 GB/4.57 GB at 18.28 MB/s'
  • Cleaner display - part info is already visible in individual chunk bars

🔧 FIXED VERBOSE LOGGING VISIBILITY:

 IMMEDIATE PROCESSING OF START MESSAGES:
  • Added ProcessQueuedUpdates() after task creation loop
  • 'Starting upload' messages now appear immediately
  • All parts now show start messages, not just first 4

 ENHANCED LOGGING COVERAGE:
   Removed 32MB threshold - now logs all chunk starts
   Better visibility into parallel upload activity
   Shows all concurrent uploads as they begin

 EXPECTED VERBOSE OUTPUT:
  VERBOSE: Starting upload of part 1/74 (64.00 MB)
  VERBOSE: Starting upload of part 2/74 (64.00 MB)
  VERBOSE: Starting upload of part 3/74 (64.00 MB)
  VERBOSE: Starting upload of part 4/74 (64.00 MB)
  VERBOSE: Starting upload of part 5/74 (64.00 MB)
  ... (continues for all parts as they start)

 PROGRESS BAR HIERARCHY:
  Multipart Upload Collection: Processing Win10ISO.zip [] 50%
   File Upload: Uploading Win10ISO.zip - 2.28 GB/4.57 GB at 45.2 MB/s [] 50%
       Uploading Chunk: Part 35 of 74 - 32.1 MB/64.0 MB [] 50%
       Uploading Chunk: Part 36 of 74 - 45.2 MB/64.0 MB [] 70%
       Uploading Chunk: Part 37 of 74 - 12.8 MB/64.0 MB [] 20%

Perfect balance of clean UI and comprehensive logging!
This commit is contained in:
PSMinIO Developer
2025-07-14 23:00:34 -04:00
parent 13091ea1b1
commit da378e5d9b
2 changed files with 7 additions and 7 deletions
Binary file not shown.
+7 -7
View File
@@ -136,12 +136,9 @@ namespace PSMinIO.Core.S3
};
parts.TryAdd(partNum, partInfo);
// Log chunk start (not too verbose - only for larger chunks)
if (partSize >= 32 * 1024 * 1024) // Log for chunks >= 32MB
{
_progressCollector.QueueVerboseMessage("Starting upload of part {0}/{1} ({2})",
partNum, totalParts, SizeFormatter.FormatBytes(partSize));
}
// Log chunk start for all chunks (provides better visibility)
_progressCollector.QueueVerboseMessage("Starting upload of part {0}/{1} ({2})",
partNum, totalParts, SizeFormatter.FormatBytes(partSize));
// Update status to transferring
partInfo.Status = PartStatus.Transferring;
@@ -164,7 +161,7 @@ namespace PSMinIO.Core.S3
// Update file progress (Layer 2) with intelligent size formatting
var sizeDisplay = SizeFormatter.FormatBytesIntelligent(currentUploaded, totalSize);
_progressCollector.QueueProgressUpdate(2, "File Upload",
$"Uploading {fileInfo.Name} - {sizeDisplay} (Part {partNum}/{totalParts}) at {SizeFormatter.FormatSpeed(speed)}",
$"Uploading {fileInfo.Name} - {sizeDisplay} at {SizeFormatter.FormatSpeed(speed)}",
(int)fileProgress, 1);
// Log completion for larger chunks or milestone parts
@@ -201,6 +198,9 @@ namespace PSMinIO.Core.S3
uploadTasks.Add(uploadTask);
}
// Process initial "starting upload" messages immediately
_progressCollector.ProcessQueuedUpdates();
// Wait for all uploads to complete with periodic progress updates
var allTasks = uploadTasks.ToArray();
while (!Task.WaitAll(allTasks, 1000)) // Wait 1 second at a time