Skip to content

Commit 0e49556

Browse files
committed
chore: enhance ImportStatistics with detailed phase-specific metrics and progress tracking
- Added detailed progress tracking for phase 1.1.1, phase 1.1.2, and phase 2.1. - Improved readability of PBF and POI processing statistics. - Included percentage-based progress for POI processing relative to phase 1 totals.
1 parent 67bab12 commit 0e49556

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

src/main/java/com/dedicatedcode/paikka/service/importer/ImportStatistics.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,16 @@ public void startProgressReporter() {
427427
// Add step indicator
428428
sb.append(String.format("\033[1;90m[%d/%d]\033[0m ", currentStep, TOTAL_STEPS));
429429

430-
if (phase.contains("1.1.1") || phase.contains("1.1.2")) {
430+
if (phase.contains("1.1.1")) {
431+
long pbfPerSec = phaseSeconds > 0 ? (long)(getEntitiesRead() / phaseSeconds) : 0;
432+
sb.append(String.format("\033[1;36m[%s]\033[0m \033[1mScanning PBF Structure\033[0m", formatTime(elapsed)));
433+
sb.append(String.format(" │ \033[32mPBF Entities:\033[0m %s \033[33m(%s/s)\033[0m",
434+
formatCompactNumber(getEntitiesRead()), formatCompactRate(pbfPerSec)));
435+
sb.append(String.format(" │ \033[37mNodes Found:\033[0m %s", formatCompactNumber(getNodesFound())));
436+
sb.append(String.format(" │ \033[34mWays Found:\033[0m %s", formatCompactNumber(getWaysProcessed())));
437+
sb.append(String.format(" │ \033[35mRelations:\033[0m %s", formatCompactNumber(getRelationsFound())));
438+
439+
} else if (phase.contains("1.1.2")) {
431440
long pbfPerSec = phaseSeconds > 0 ? (long)(getEntitiesRead() / phaseSeconds) : 0;
432441
sb.append(String.format("\033[1;36m[%s]\033[0m \033[1mScanning PBF Structure\033[0m", formatTime(elapsed)));
433442
sb.append(String.format(" │ \033[32mPBF Entities:\033[0m %s \033[33m(%s/s)\033[0m",
@@ -454,9 +463,13 @@ public void startProgressReporter() {
454463
} else if (phase.contains("2.1")) {
455464
long poisPerSec = phaseSeconds > 0 ? (long)(getPoisProcessed() / phaseSeconds) : 0;
456465
long poisReadSec = phaseSeconds > 0 ? (long)(getPoiIndexRecRead() / phaseSeconds) : 0;
466+
long totalFromPhase1 = getNodesFound() + getWaysProcessed();
467+
double percentage = totalFromPhase1 > 0 ? (double) getPoisProcessed() / totalFromPhase1 * 100.0 : 0.0;
468+
457469
sb.append(String.format("\033[1;36m[%s]\033[0m \033[1mProcessing POIs & Sharding\033[0m", formatTime(elapsed)));
458470
sb.append(String.format(" │ \033[32mPOI Index Rec Read:\033[0m %s \033[33m%s\033[0m", formatCompactNumber(getPoiIndexRecRead()), isPoiIndexRecReadDone() ? "(done)" : String.format("(%s/s)",formatCompactRate(poisReadSec))));
459471
sb.append(String.format(" │ \033[32mPOIs Processed:\033[0m %s \033[33m(%s/s)\033[0m", formatCompactNumber(getPoisProcessed()), formatCompactRate(poisPerSec)));
472+
sb.append(String.format(" │ \033[35mProgress:\033[0m %.4f%%", percentage));
460473
sb.append(String.format(" │ \033[36mQueue:\033[0m %s", formatCompactNumber(getQueueSize())));
461474
sb.append(String.format(" │ \033[37mThreads:\033[0m %d", getActiveThreads()));
462475

0 commit comments

Comments
 (0)