mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add more Prometheus metrics (#12274)
This commit is contained in:
parent
c2898f53bc
commit
f5a8593b11
10 changed files with 225 additions and 120 deletions
|
@ -61,7 +61,9 @@ public:
|
|||
|
||||
void cancelPendingItems();
|
||||
|
||||
static void runCompletionCallbacks(
|
||||
protected:
|
||||
|
||||
void runCompletionCallbacks(
|
||||
const v3s16 &pos, EmergeAction action,
|
||||
const EmergeCallbackList &callbacks);
|
||||
|
||||
|
@ -138,7 +140,7 @@ EmergeParams::EmergeParams(EmergeManager *parent, const BiomeGen *biomegen,
|
|||
//// EmergeManager
|
||||
////
|
||||
|
||||
EmergeManager::EmergeManager(Server *server)
|
||||
EmergeManager::EmergeManager(Server *server, MetricsBackend *mb)
|
||||
{
|
||||
this->ndef = server->getNodeDefManager();
|
||||
this->biomemgr = new BiomeManager(server);
|
||||
|
@ -156,6 +158,17 @@ EmergeManager::EmergeManager(Server *server)
|
|||
|
||||
enable_mapgen_debug_info = g_settings->getBool("enable_mapgen_debug_info");
|
||||
|
||||
STATIC_ASSERT(ARRLEN(emergeActionStrs) == ARRLEN(m_completed_emerge_counter),
|
||||
enum_size_mismatches);
|
||||
for (u32 i = 0; i < ARRLEN(m_completed_emerge_counter); i++) {
|
||||
std::string help_str("Number of completed emerges with status ");
|
||||
help_str.append(emergeActionStrs[i]);
|
||||
m_completed_emerge_counter[i] = mb->addCounter(
|
||||
"minetest_emerge_completed", help_str,
|
||||
{{"status", emergeActionStrs[i]}}
|
||||
);
|
||||
}
|
||||
|
||||
s16 nthreads = 1;
|
||||
g_settings->getS16NoEx("num_emerge_threads", nthreads);
|
||||
// If automatic, leave a proc for the main thread and one for
|
||||
|
@ -489,6 +502,12 @@ EmergeThread *EmergeManager::getOptimalThread()
|
|||
return m_threads[index];
|
||||
}
|
||||
|
||||
void EmergeManager::reportCompletedEmerge(EmergeAction action)
|
||||
{
|
||||
assert((int)action < ARRLEN(m_completed_emerge_counter));
|
||||
m_completed_emerge_counter[(int)action]->increment();
|
||||
}
|
||||
|
||||
|
||||
////
|
||||
//// EmergeThread
|
||||
|
@ -540,6 +559,8 @@ void EmergeThread::cancelPendingItems()
|
|||
void EmergeThread::runCompletionCallbacks(const v3s16 &pos, EmergeAction action,
|
||||
const EmergeCallbackList &callbacks)
|
||||
{
|
||||
m_emerge->reportCompletedEmerge(action);
|
||||
|
||||
for (size_t i = 0; i != callbacks.size(); i++) {
|
||||
EmergeCompletionCallback callback;
|
||||
void *param;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue