From 79872e28871c49cc61bfd1477ae092bf0a81c5aa Mon Sep 17 00:00:00 2001 From: emeric Date: Sat, 19 Jul 2025 22:57:05 +0200 Subject: [PATCH] Fixed stats --- src/libs/services/scanner/impl/ScannerService.cpp | 6 ++++++ .../scanner/impl/steps/ScanStepScanFiles.cpp | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/libs/services/scanner/impl/ScannerService.cpp b/src/libs/services/scanner/impl/ScannerService.cpp index b944dafb..b5b8a84b 100644 --- a/src/libs/services/scanner/impl/ScannerService.cpp +++ b/src/libs/services/scanner/impl/ScannerService.cpp @@ -388,6 +388,12 @@ namespace lms::scanner refreshTracingLoggerStats(); LMS_LOG(DBUPDATER, INFO, "Scan " << (_abortScan ? "aborted" : "complete") << ". Changes = " << stats.getChangesCount() << " (added = " << stats.additions << ", removed = " << stats.deletions << ", updated = " << stats.updates << ", failures = " << stats.failures << "), Not changed = " << stats.skips << ", Scanned = " << stats.scans << " (errors = " << stats.errorsCount << "), features fetched = " << stats.featuresFetched << ", duplicates = " << stats.duplicates.size()); + { + auto transaction{ _db.getTLSSession().createReadTransaction() }; + const db::FileStats stats{ _db.getTLSSession().getFileStats() }; + LMS_LOG(DBUPDATER, INFO, stats.getTotalFileCount() << " total files: " << stats.artistInfoCount << " artist info, " << stats.imageCount << " images, " << stats.playListCount << " playlists, " << stats.trackCount << " tracks, " << stats.trackLyricsCount << " lyrics"); + } + if (!_abortScan) { stats.stopTime = Wt::WDateTime::currentDateTime(); diff --git a/src/libs/services/scanner/impl/steps/ScanStepScanFiles.cpp b/src/libs/services/scanner/impl/steps/ScanStepScanFiles.cpp index 6f319ddf..85af7f8c 100644 --- a/src/libs/services/scanner/impl/steps/ScanStepScanFiles.cpp +++ b/src/libs/services/scanner/impl/steps/ScanStepScanFiles.cpp @@ -98,11 +98,14 @@ namespace lms::scanner : _fileScanners{ fileScanners } , _mediaLibrary{ mediaLibrary } , _fullScan{ fullScan } + , _processCount{} + , _skipCount{} , _files{ std::cbegin(files), std::cend(files) } { } - std::size_t getFileCount() const { return _files.size(); }; + std::size_t getFileCount() const { return _processCount; }; + std::size_t getSkipCount() const { return _skipCount; } std::span> getScanOperations() { @@ -140,12 +143,18 @@ namespace lms::scanner } _scanOperations.push_back(std::move(scanOperation)); } + else + _skipCount++; + + _processCount++; } } const FileScanners& _fileScanners; const MediaLibraryInfo& _mediaLibrary; const bool _fullScan; + std::size_t _processCount; + std::size_t _skipCount; std::vector _files; std::vector> _scanOperations; }; @@ -182,6 +191,7 @@ namespace lms::scanner operations.push_back(std::move(scanOperation)); context.currentStepStats.processedElems += fileScanJob.getFileCount(); + context.stats.skips += fileScanJob.getSkipCount(); } if (!_abortScan)