aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/memtrack/memorytrace.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-08-22 18:16:09 +0200
committerGitHub Enterprise <[email protected]>2025-08-22 18:16:09 +0200
commitfb6426127354415505dbedacd63b3a16116dac2f (patch)
treebbc39a085433b1e837fb07ea4e4399ba932dbdca /src/zencore/memtrack/memorytrace.cpp
parentavoid new in static IoBuffer (#472) (diff)
downloadzen-fb6426127354415505dbedacd63b3a16116dac2f.tar.xz
zen-fb6426127354415505dbedacd63b3a16116dac2f.zip
clean up trace options parsing (#473)
* clean up trace command line options explicitly shut down worker pools * some additional startup trace scopes
Diffstat (limited to 'src/zencore/memtrack/memorytrace.cpp')
-rw-r--r--src/zencore/memtrack/memorytrace.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/zencore/memtrack/memorytrace.cpp b/src/zencore/memtrack/memorytrace.cpp
index e4ae8148e..8f723866d 100644
--- a/src/zencore/memtrack/memorytrace.cpp
+++ b/src/zencore/memtrack/memorytrace.cpp
@@ -294,7 +294,7 @@ static FUndestructed<FTraceMalloc> GTraceMalloc;
////////////////////////////////////////////////////////////////////////////////
static EMemoryTraceInit
-MemoryTrace_ShouldEnable()
+MemoryTrace_ShouldEnable(const TraceOptions& Options)
{
EMemoryTraceInit Mode = EMemoryTraceInit::Disabled;
@@ -328,19 +328,7 @@ MemoryTrace_ShouldEnable()
}
};
- constexpr std::string_view TraceOption = "--trace="sv;
-
- std::function<void(const std::string_view&)> ProcessArg = [&](const std::string_view& Arg) {
- if (Arg.starts_with(TraceOption))
- {
- const std::string_view OptionArgs = Arg.substr(TraceOption.size());
-
- IterateCommaSeparatedValue(OptionArgs, ProcessTraceArg);
- }
- };
-
- IterateCommandlineArgs(ProcessArg);
-
+ IterateCommaSeparatedValue(Options.Channels, ProcessTraceArg);
return Mode;
}
@@ -388,17 +376,17 @@ MemoryTrace_CreateInternal(FMalloc* InMalloc, EMemoryTraceInit Mode)
////////////////////////////////////////////////////////////////////////////////
FMalloc*
-MemoryTrace_CreateInternal(FMalloc* InMalloc)
+MemoryTrace_CreateInternal(FMalloc* InMalloc, const TraceOptions& Options)
{
- const EMemoryTraceInit Mode = MemoryTrace_ShouldEnable();
+ const EMemoryTraceInit Mode = MemoryTrace_ShouldEnable(Options);
return MemoryTrace_CreateInternal(InMalloc, Mode);
}
////////////////////////////////////////////////////////////////////////////////
FMalloc*
-MemoryTrace_Create(FMalloc* InMalloc)
+MemoryTrace_Create(FMalloc* InMalloc, const TraceOptions& Options)
{
- FMalloc* OutMalloc = MemoryTrace_CreateInternal(InMalloc);
+ FMalloc* OutMalloc = MemoryTrace_CreateInternal(InMalloc, Options);
if (OutMalloc != InMalloc)
{