Don't print all block saves to verbosestream; rather print counts of distinct modifiers

This commit is contained in:
Perttu Ahola 2011-11-21 13:35:32 +02:00
parent 1b765b9740
commit 616bad96af

@ -1391,6 +1391,9 @@ void Map::timerUpdate(float dtime, float unload_timeout,
{ {
bool save_before_unloading = (mapType() == MAPTYPE_SERVER); bool save_before_unloading = (mapType() == MAPTYPE_SERVER);
// Profile modified reasons
Profiler modprofiler;
core::list<v2s16> sector_deletion_queue; core::list<v2s16> sector_deletion_queue;
u32 deleted_blocks_count = 0; u32 deleted_blocks_count = 0;
u32 saved_blocks_count = 0; u32 saved_blocks_count = 0;
@ -1423,9 +1426,7 @@ void Map::timerUpdate(float dtime, float unload_timeout,
if(block->getModified() != MOD_STATE_CLEAN if(block->getModified() != MOD_STATE_CLEAN
&& save_before_unloading) && save_before_unloading)
{ {
verbosestream<<"Saving block before unloading, " modprofiler.add(block->getModifiedReason(), 1);
<<"modified by: "
<<block->getModifiedReason()<<std::endl;
saveBlock(block); saveBlock(block);
saved_blocks_count++; saved_blocks_count++;
} }
@ -1462,6 +1463,9 @@ void Map::timerUpdate(float dtime, float unload_timeout,
if(save_before_unloading) if(save_before_unloading)
infostream<<", of which "<<saved_blocks_count<<" were written"; infostream<<", of which "<<saved_blocks_count<<" were written";
infostream<<"."<<std::endl; infostream<<"."<<std::endl;
PrintInfo(infostream); // ServerMap/ClientMap:
infostream<<"Blocks modified by: "<<std::endl;
modprofiler.print(infostream);
} }
} }
@ -2823,6 +2827,9 @@ void ServerMap::save(bool only_changed)
saveMapMeta(); saveMapMeta();
} }
// Profile modified reasons
Profiler modprofiler;
u32 sector_meta_count = 0; u32 sector_meta_count = 0;
u32 block_count = 0; u32 block_count = 0;
u32 block_count_all = 0; // Number of blocks in memory u32 block_count_all = 0; // Number of blocks in memory
@ -2853,9 +2860,7 @@ void ServerMap::save(bool only_changed)
if(block->getModified() >= MOD_STATE_WRITE_NEEDED if(block->getModified() >= MOD_STATE_WRITE_NEEDED
|| only_changed == false) || only_changed == false)
{ {
verbosestream<<"Saving block because of MOD_STATE_WRITE_NEEDED, " modprofiler.add(block->getModifiedReason(), 1);
<<"modified by: "
<<block->getModifiedReason()<<std::endl;
saveBlock(block); saveBlock(block);
block_count++; block_count++;
@ -2881,6 +2886,9 @@ void ServerMap::save(bool only_changed)
<<block_count<<" block files" <<block_count<<" block files"
<<", "<<block_count_all<<" blocks in memory." <<", "<<block_count_all<<" blocks in memory."
<<std::endl; <<std::endl;
PrintInfo(infostream); // ServerMap/ClientMap:
infostream<<"Blocks modified by: "<<std::endl;
modprofiler.print(infostream);
} }
} }