From 51f0294c18a32f5e299b17576e673d6c92bf0201 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Sat, 24 Jul 2021 14:50:30 +0200 Subject: 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 96dc110f4a353871ac74c82ff4b1bcc4c34156f3) --- src/server/database/Database/DatabaseWorkerPool.cpp | 6 ++++++ src/server/database/Database/DatabaseWorkerPool.h | 2 ++ 2 files changed, 8 insertions(+) (limited to 'src/server/database/Database') diff --git a/src/server/database/Database/DatabaseWorkerPool.cpp b/src/server/database/Database/DatabaseWorkerPool.cpp index 043db148a1e..7aa1a1e46d1 100644 --- a/src/server/database/Database/DatabaseWorkerPool.cpp +++ b/src/server/database/Database/DatabaseWorkerPool.cpp @@ -414,6 +414,12 @@ void DatabaseWorkerPool::Enqueue(SQLOperation* op) _queue->Push(op); } +template +size_t DatabaseWorkerPool::QueueSize() const +{ + return _queue->Size(); +} + template T* DatabaseWorkerPool::GetFreeConnection() { diff --git a/src/server/database/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h index 9852ded374e..66d5a55dffa 100644 --- a/src/server/database/Database/DatabaseWorkerPool.h +++ b/src/server/database/Database/DatabaseWorkerPool.h @@ -213,6 +213,8 @@ class DatabaseWorkerPool #endif } + size_t QueueSize() const; + private: uint32 OpenConnections(InternalIndex type, uint8 numConnections); -- cgit v1.2.3