summaryrefslogtreecommitdiff
path: root/src/emerge.h
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2022-05-09 21:20:58 +0200
committerGitHub <noreply@github.com>2022-05-09 21:20:58 +0200
commitf5a8593b11382b70ee969dc93b71f34fb0cad5df (patch)
treebb3b782a61147b9052bac3de578b808f7abd315f /src/emerge.h
parentc2898f53bc3eb1f22daf93b37608156885fe5c5a (diff)
downloadminetest-f5a8593b11382b70ee969dc93b71f34fb0cad5df.tar.gz
minetest-f5a8593b11382b70ee969dc93b71f34fb0cad5df.tar.bz2
minetest-f5a8593b11382b70ee969dc93b71f34fb0cad5df.zip
Add more Prometheus metrics (#12274)
Diffstat (limited to 'src/emerge.h')
-rw-r--r--src/emerge.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/emerge.h b/src/emerge.h
index 61e7bda63..1bac4b708 100644
--- a/src/emerge.h
+++ b/src/emerge.h
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "network/networkprotocol.h"
#include "irr_v3d.h"
#include "util/container.h"
+#include "util/metricsbackend.h"
#include "mapgen/mapgen.h" // for MapgenParams
#include "map.h"
@@ -69,6 +70,14 @@ enum EmergeAction {
EMERGE_GENERATED,
};
+const static std::string emergeActionStrs[] = {
+ "cancelled",
+ "errored",
+ "from_memory",
+ "from_disk",
+ "generated",
+};
+
// Callback
typedef void (*EmergeCompletionCallback)(
v3s16 blockpos, EmergeAction action, void *param);
@@ -138,7 +147,7 @@ public:
MapSettingsManager *map_settings_mgr;
// Methods
- EmergeManager(Server *server);
+ EmergeManager(Server *server, MetricsBackend *mb);
~EmergeManager();
DISABLE_CLASS_COPY(EmergeManager);
@@ -197,6 +206,9 @@ private:
u32 m_qlimit_diskonly;
u32 m_qlimit_generate;
+ // Emerge metrics
+ MetricCounterPtr m_completed_emerge_counter[5];
+
// Managers of various map generation-related components
// Note that each Mapgen gets a copy(!) of these to work with
BiomeGen *biomegen;
@@ -218,5 +230,7 @@ private:
bool popBlockEmergeData(v3s16 pos, BlockEmergeData *bedata);
+ void reportCompletedEmerge(EmergeAction action);
+
friend class EmergeThread;
};