Core/DBLayer: Add QueueSize() method (#26733)

* Core/DBLayer: Add QueueSize() method

Add QueueSize() method to database objects (Login, Character and World) that returns how many tasks are queued.
Include the queue size of the 3 databases in ".server debug" command

* Make the code less threadsafe

* Send data to InfluxDB

* Update grafana dashboard

(cherry picked from commit 96dc110f4a)
This commit is contained in:
Giacomo Pozzoni
2021-07-24 14:50:30 +02:00
committed by Shauren
parent 21177487ea
commit 51f0294c18
6 changed files with 268 additions and 22 deletions

View File

@@ -281,6 +281,9 @@ extern int main(int argc, char** argv)
sMetric->Initialize(realm.Name, *ioContext, []()
{
TC_METRIC_VALUE("online_players", sWorld->GetPlayerCount());
TC_METRIC_VALUE("db_queue_login", LoginDatabase.QueueSize());
TC_METRIC_VALUE("db_queue_character", CharacterDatabase.QueueSize());
TC_METRIC_VALUE("db_queue_world", WorldDatabase.QueueSize());
});
TC_METRIC_EVENT("events", "Worldserver started", "");