Add record counter to processed count

This commit is contained in:
2025-11-03 13:25:29 -05:00
parent d7bfb0d377
commit b4fddfaf78
4 changed files with 41 additions and 33 deletions

View File

@@ -128,7 +128,8 @@ void TagServiceWidget::updateTime()
const auto hours = time_elapsed / 3600000;
const auto minutes = ( time_elapsed % 3600000 ) / 60000;
const auto seconds = ( time_elapsed % 60000 ) / 1000;
ui->statusLabel->setText( QString( "Finished: %1:%2:%3" )
ui->statusLabel->setText(
QString( "Finished: %1:%2:%3" )
.arg( hours, 2, 10, QChar( '0' ) )
.arg( minutes, 2, 10, QChar( '0' ) )
.arg( seconds, 2, 10, QChar( '0' ) ) );
@@ -147,7 +148,8 @@ void TagServiceWidget::updateTime()
const double current_rate = getMappingsPerSecond();
const double avg_rate = getAverageMappingsPerMinute();
ui->statusLabel->setText( QString( "ETA: %1:%2:%3 | Rate: %L4/s | Avg: %L5/min" )
ui->statusLabel->setText(
QString( "ETA: %1:%2:%3 | Rate: %L4/s | Avg: %L5/min" )
.arg( hours, 2, 10, QChar( '0' ) )
.arg( minutes, 2, 10, QChar( '0' ) )
.arg( seconds, 2, 10, QChar( '0' ) )
@@ -171,15 +173,19 @@ void TagServiceWidget::updateProcessed()
ui->progressBar->setMaximum( static_cast< int >( to_process / multip ) );
}
void TagServiceWidget::processedMappings( std::size_t count )
void TagServiceWidget::processedMappings( std::size_t count, std::size_t record_count )
{
mappings_processed += count;
records_processed += record_count;
recordMappingProcessed( count );
QLocale locale { QLocale::English, QLocale::UnitedStates };
locale.setNumberOptions( QLocale::DefaultNumberOptions );
ui->mappingsCount
->setText( QString( "Mappings: %L1 (%L2 processed)" ).arg( m_info.num_mappings ).arg( mappings_processed ) );
ui->mappingsCount->setText(
QString( "Mappings: %L1 (%L2 processed)\nRecords: (%L3 Records)" )
.arg( m_info.num_mappings )
.arg( mappings_processed )
.arg( records_processed ) );
updateProcessed();
updateTime();
@@ -188,8 +194,8 @@ void TagServiceWidget::processedMappings( std::size_t count )
void TagServiceWidget::processedParents( std::size_t count )
{
parents_processed += count;
ui->parentsCount
->setText( QString( "Parents: %L1 (%L2 processed)" ).arg( m_info.num_parents ).arg( parents_processed ) );
ui->parentsCount->setText(
QString( "Parents: %L1 (%L2 processed)" ).arg( m_info.num_parents ).arg( parents_processed ) );
updateProcessed();
updateTime();
@@ -198,8 +204,8 @@ void TagServiceWidget::processedParents( std::size_t count )
void TagServiceWidget::processedAliases( std::size_t count )
{
aliases_processed += count;
ui->aliasesCount
->setText( QString( "Aliases: %L1 (%L2 processed)" ).arg( m_info.num_aliases ).arg( aliases_processed ) );
ui->aliasesCount->setText(
QString( "Aliases: %L1 (%L2 processed)" ).arg( m_info.num_aliases ).arg( aliases_processed ) );
updateProcessed();
updateTime();
@@ -215,9 +221,11 @@ void TagServiceWidget::setMaxMappings( std::size_t count )
{
m_info.num_mappings = count;
if ( mappings_processed > 0 )
ui->mappingsCount->setText( QString( "Mappings: %L1 (%L2 processed)" )
ui->mappingsCount->setText(
QString( "Mappings: %L1 (%L2 processed)\nRecords: (%L3 Records)" )
.arg( m_info.num_mappings )
.arg( mappings_processed ) );
.arg( mappings_processed )
.arg( records_processed ) );
else
ui->mappingsCount->setText( QString( "Mappings: %L1" ).arg( m_info.num_mappings ) );
}
@@ -226,8 +234,8 @@ void TagServiceWidget::setMaxParents( std::size_t count )
{
m_info.num_parents = count;
if ( parents_processed > 0 )
ui->parentsCount
->setText( QString( "Parents: %L1 (%L2 processed)" ).arg( m_info.num_parents ).arg( parents_processed ) );
ui->parentsCount->setText(
QString( "Parents: %L1 (%L2 processed)" ).arg( m_info.num_parents ).arg( parents_processed ) );
else
ui->parentsCount->setText( QString( "Parents: %L1" ).arg( m_info.num_parents ) );
}
@@ -236,8 +244,8 @@ void TagServiceWidget::setMaxAliases( std::size_t count )
{
m_info.num_aliases = count;
if ( aliases_processed > 0 )
ui->aliasesCount
->setText( QString( "Aliases: %L1 (%L2 processed)" ).arg( m_info.num_aliases ).arg( aliases_processed ) );
ui->aliasesCount->setText(
QString( "Aliases: %L1 (%L2 processed)" ).arg( m_info.num_aliases ).arg( aliases_processed ) );
else
ui->aliasesCount->setText( QString( "Aliases: %L1" ).arg( m_info.num_aliases ) );
}

View File

@@ -21,6 +21,7 @@ class TagServiceWidget : public QWidget
std::size_t mappings_processed { 0 };
std::size_t parents_processed { 0 };
std::size_t aliases_processed { 0 };
std::size_t records_processed { 0 };
idhan::hydrus::ServiceInfo m_info;
QString m_name;
bool m_preprocessed { false };
@@ -63,7 +64,7 @@ class TagServiceWidget : public QWidget
void updateProcessed();
void processedMappings( std::size_t count );
void processedMappings( std::size_t count, std::size_t record_count );
void processedParents( std::size_t count );
void processedAliases( std::size_t count );

View File

@@ -230,11 +230,11 @@ void TagServiceWorker::processMappingsBatch(
auto dumpMappings = [ & ]()
{
const auto record_count { hash_id_set.size() };
hash_id_set.clear();
processPairs( pairs );
pairs.clear();
// pairs.reserve( pair_limit ); Not needed as clear() does not affect the result of capacity()
emit processedMappings( mappings_counter );
emit processedMappings( mappings_counter, record_count );
mappings_counter = 0;
};
@@ -254,8 +254,6 @@ void TagServiceWorker::processMappingsBatch(
}
dumpMappings();
emit processedMappings( mappings_counter );
}
void TagServiceWorker::importMappings()

View File

@@ -61,13 +61,14 @@ class TagServiceWorker final : public QObject, public QRunnable
void processSiblings( const std::vector< std::pair< idhan::TagID, idhan::TagID > >& pairs ) const;
void processMappingsBatch(
const idhan::hydrus::TransactionBaseCoro& mappings_tr, const std::string& current_mappings_name );
const idhan::hydrus::TransactionBaseCoro& mappings_tr,
const std::string& current_mappings_name );
public:
signals:
void finished();
void processedMappings( std::size_t count );
void processedMappings( std::size_t count, std::size_t record_count );
void processedParents( std::size_t count );
void processedAliases( std::size_t count );
void processedMaxMappings( std::size_t count );