2019-12-26 15:32:37 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-06-03 15:32:00 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "TraceServices/ModuleService.h"
|
|
|
|
|
|
2020-11-13 05:29:37 -04:00
|
|
|
namespace TraceServices
|
2019-06-03 15:32:00 -04:00
|
|
|
{
|
|
|
|
|
|
|
|
|
|
class FLoadTimeProfilerModule
|
|
|
|
|
: public IModule
|
|
|
|
|
{
|
|
|
|
|
public:
|
[Insights]
- TraceServices: Changed ReadNetProfilerProvider, ReadMemoryProvider, ReadDiagnosticsProvider to return a pointer to the respective provider (instead of a reference). Can return nullptr. The UI should not assume the provider exists.
- TraceServices: Added GetNetProfilerProviderName, GetMemoryProviderName, GetDiagnosticsProviderName, GetAllocationsProviderName to return name of respective provider.
- TraceServices: Added ReadModuleProvider + GetModuleProviderName, ReadCallstacksProvider + GetCallstacksProviderName to access respective providers.
- TraceServices: Added a default empty implementation to IModule for GenerateReports, GetLoggers and GetCommandLineArgument.
- TraceServices: Changed FAnalysisService::StartAnalysis to not create default providers for Memory (LLM Stats), NetProfiler and Diagnostics, but to allow the respective modules (FMemoryModule, FNetProfilerModule, FDiagnosticsModule) to create the providers.
- TraceInsights: Fixed UI code to check if the Memory, NetProfiler and Diagnostics provider are available.
#rb Catalin.Dragoiu, Johan.Berg
[CL 16967698 by ionut matasaru in ue5-main branch]
2021-07-27 08:18:31 -04:00
|
|
|
#if WITH_EDITOR
|
|
|
|
|
virtual bool ShouldBeEnabledByDefault() const override { return false; }
|
|
|
|
|
#endif
|
2019-06-03 15:32:00 -04:00
|
|
|
virtual void GetModuleInfo(FModuleInfo& OutModuleInfo) override;
|
2019-10-03 16:26:48 -04:00
|
|
|
virtual void OnAnalysisBegin(IAnalysisSession& Session) override;
|
[Insights]
- TraceServices: Changed ReadNetProfilerProvider, ReadMemoryProvider, ReadDiagnosticsProvider to return a pointer to the respective provider (instead of a reference). Can return nullptr. The UI should not assume the provider exists.
- TraceServices: Added GetNetProfilerProviderName, GetMemoryProviderName, GetDiagnosticsProviderName, GetAllocationsProviderName to return name of respective provider.
- TraceServices: Added ReadModuleProvider + GetModuleProviderName, ReadCallstacksProvider + GetCallstacksProviderName to access respective providers.
- TraceServices: Added a default empty implementation to IModule for GenerateReports, GetLoggers and GetCommandLineArgument.
- TraceServices: Changed FAnalysisService::StartAnalysis to not create default providers for Memory (LLM Stats), NetProfiler and Diagnostics, but to allow the respective modules (FMemoryModule, FNetProfilerModule, FDiagnosticsModule) to create the providers.
- TraceInsights: Fixed UI code to check if the Memory, NetProfiler and Diagnostics provider are available.
#rb Catalin.Dragoiu, Johan.Berg
[CL 16967698 by ionut matasaru in ue5-main branch]
2021-07-27 08:18:31 -04:00
|
|
|
virtual void GenerateReports(const IAnalysisSession& Session, const TCHAR* CmdLine, const TCHAR* OutputDirectory) override;
|
|
|
|
|
virtual void GetLoggers(TArray<const TCHAR*>& OutLoggers) override;
|
2019-11-25 12:03:09 -05:00
|
|
|
virtual const TCHAR* GetCommandLineArgument() override
|
|
|
|
|
{
|
|
|
|
|
return TEXT("loadtimetrace");
|
|
|
|
|
}
|
2019-06-03 15:32:00 -04:00
|
|
|
};
|
|
|
|
|
|
2020-11-13 05:29:37 -04:00
|
|
|
} // namespace TraceServices
|