aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/include
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2024-12-16 15:37:47 +0100
committerGitHub Enterprise <[email protected]>2024-12-16 15:37:47 +0100
commit0cf7291ee2c4ae7461b4dcc082fb3778532e3df3 (patch)
tree7735061b5c242a34baea0b4497cbb9381efe76b3 /src/zenutil/include
parent5.5.16 (diff)
downloadzen-0cf7291ee2c4ae7461b4dcc082fb3778532e3df3.tar.xz
zen-0cf7291ee2c4ae7461b4dcc082fb3778532e3df3.zip
more memory tagging and fixes (#263)
This change adds more instrumentation for memory tracking, so that as little as possible comes through as Unknown in Insights analysis.
Diffstat (limited to 'src/zenutil/include')
-rw-r--r--src/zenutil/include/zenutil/logging/fullformatter.h10
-rw-r--r--src/zenutil/include/zenutil/logging/jsonformatter.h3
-rw-r--r--src/zenutil/include/zenutil/logging/rotatingfilesink.h2
-rw-r--r--src/zenutil/include/zenutil/logging/testformatter.h10
4 files changed, 23 insertions, 2 deletions
diff --git a/src/zenutil/include/zenutil/logging/fullformatter.h b/src/zenutil/include/zenutil/logging/fullformatter.h
index 64010ac1e..07ad408fa 100644
--- a/src/zenutil/include/zenutil/logging/fullformatter.h
+++ b/src/zenutil/include/zenutil/logging/fullformatter.h
@@ -2,6 +2,7 @@
#pragma once
+#include <zencore/memory/llm.h>
#include <zencore/zencore.h>
#include <string_view>
@@ -26,10 +27,17 @@ public:
full_formatter(std::string_view LogId) : m_LogId(LogId), m_LinePrefix(128, ' '), m_UseFullDate(true) {}
- virtual std::unique_ptr<formatter> clone() const override { return std::make_unique<full_formatter>(m_LogId, m_Epoch); }
+ virtual std::unique_ptr<formatter> clone() const override
+ {
+ ZEN_MEMSCOPE(ELLMTag::Logging);
+ // Note: this does not properly clone m_UseFullDate
+ return std::make_unique<full_formatter>(m_LogId, m_Epoch);
+ }
virtual void format(const spdlog::details::log_msg& msg, spdlog::memory_buf_t& OutBuffer) override
{
+ ZEN_MEMSCOPE(ELLMTag::Logging);
+
// Note that the sink is responsible for ensuring there is only ever a
// single caller in here
diff --git a/src/zenutil/include/zenutil/logging/jsonformatter.h b/src/zenutil/include/zenutil/logging/jsonformatter.h
index 40fdb94e2..3f660e421 100644
--- a/src/zenutil/include/zenutil/logging/jsonformatter.h
+++ b/src/zenutil/include/zenutil/logging/jsonformatter.h
@@ -2,6 +2,7 @@
#pragma once
+#include <zencore/memory/llm.h>
#include <zencore/zencore.h>
#include <string_view>
@@ -23,6 +24,8 @@ public:
virtual void format(const spdlog::details::log_msg& msg, spdlog::memory_buf_t& dest) override
{
+ ZEN_MEMSCOPE(ELLMTag::Logging);
+
using std::chrono::duration_cast;
using std::chrono::milliseconds;
using std::chrono::seconds;
diff --git a/src/zenutil/include/zenutil/logging/rotatingfilesink.h b/src/zenutil/include/zenutil/logging/rotatingfilesink.h
index e01b86cb7..3eb9021dd 100644
--- a/src/zenutil/include/zenutil/logging/rotatingfilesink.h
+++ b/src/zenutil/include/zenutil/logging/rotatingfilesink.h
@@ -26,6 +26,8 @@ public:
, m_MaxFiles(MaxFiles)
{
ZEN_MEMSCOPE(ELLMTag::Logging);
+
+ ZEN_MEMSCOPE(ELLMTag::Logging);
std::error_code Ec;
if (RotateOnOpen)
{
diff --git a/src/zenutil/include/zenutil/logging/testformatter.h b/src/zenutil/include/zenutil/logging/testformatter.h
index bdeb287be..0b0c191fb 100644
--- a/src/zenutil/include/zenutil/logging/testformatter.h
+++ b/src/zenutil/include/zenutil/logging/testformatter.h
@@ -2,6 +2,8 @@
#pragma once
+#include <zencore/memory/llm.h>
+
#include <spdlog/spdlog.h>
namespace zen::logging {
@@ -13,12 +15,18 @@ public:
{
}
- virtual std::unique_ptr<formatter> clone() const override { return std::make_unique<full_test_formatter>(m_LogId, m_Epoch); }
+ virtual std::unique_ptr<formatter> clone() const override
+ {
+ ZEN_MEMSCOPE(ELLMTag::Logging);
+ return std::make_unique<full_test_formatter>(m_LogId, m_Epoch);
+ }
static constexpr bool UseDate = false;
virtual void format(const spdlog::details::log_msg& msg, spdlog::memory_buf_t& dest) override
{
+ ZEN_MEMSCOPE(ELLMTag::Logging);
+
using namespace std::literals;
if constexpr (UseDate)