1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-13 08:35:20 +02:00

Add MetricsBackend with prometheus counter support

This commit is contained in:
Loic Blot
2020-04-27 08:31:37 +02:00
committed by Loïc Blot
parent a36c9c3e93
commit 56bababcdf
16 changed files with 427 additions and 25 deletions

View File

@@ -144,7 +144,7 @@ bool Map::isNodeUnderground(v3s16 p)
{
v3s16 blockpos = getNodeBlockPos(p);
MapBlock *block = getBlockNoCreateNoEx(blockpos);
return block && block->getIsUnderground();
return block && block->getIsUnderground();
}
bool Map::isValidPosition(v3s16 p)
@@ -1187,7 +1187,7 @@ bool Map::isBlockOccluded(MapBlock *block, v3s16 cam_pos_nodes)
ServerMap
*/
ServerMap::ServerMap(const std::string &savedir, IGameDef *gamedef,
EmergeManager *emerge):
EmergeManager *emerge, MetricsBackend *mb):
Map(dout_server, gamedef),
settings_mgr(g_settings, savedir + DIR_DELIM + "map_meta.txt"),
m_emerge(emerge)
@@ -1221,6 +1221,8 @@ ServerMap::ServerMap(const std::string &savedir, IGameDef *gamedef,
m_savedir = savedir;
m_map_saving_enabled = false;
m_save_time_counter = mb->addCounter("minetest_core_map_save_time", "Map save time (in nanoseconds)");
try {
// If directory exists, check contents and load if possible
if (fs::PathExists(m_savedir)) {
@@ -1777,6 +1779,8 @@ void ServerMap::save(ModifiedState save_level)
return;
}
u64 start_time = porting::getTimeNs();
if(save_level == MOD_STATE_CLEAN)
infostream<<"ServerMap: Saving whole map, this can take time."
<<std::endl;
@@ -1835,6 +1839,9 @@ void ServerMap::save(ModifiedState save_level)
infostream<<"Blocks modified by: "<<std::endl;
modprofiler.print(infostream);
}
auto end_time = porting::getTimeNs();
m_save_time_counter->increment(end_time - start_time);
}
void ServerMap::listAllLoadableBlocks(std::vector<v3s16> &dst)