Files
UnrealEngineUWP/Engine/Source/Editor/UnrealEd/Classes/Commandlets/SummarizeTraceCommandlet.h
han chu ca83a97e34 Refactor SummarizeTraceCommandlet.cpp
Moved a significant portion of code from `SummarizeTraceCommandlet.cpp` to `SummarizeTraceUtils.cpp`.

Grouped the CSV utility functions under the `CsvUtil` namespace for improved organization and clarity.

Modified the `FSummarizeScope` struct to include two double arrays for recording time interval data required for editor workflows test.

#jira UE-189267
#review @Francis.Hurteau @logan.buchy

[CL 26466722 by han chu in ue5-main branch]
2023-07-19 14:34:24 -04:00

36 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
SummarizeTraceCommandlet.cpp:
Commandlet for summarizing utrace cpu events into to csv
=============================================================================*/
#pragma once
#include "Commandlets/Commandlet.h"
#include "Commandlets/SummarizeTraceUtils.h"
#include "TraceServices/Model/Counters.h"
#include "SummarizeTraceCommandlet.generated.h"
UCLASS(config=Editor)
class USummarizeTraceCommandlet : public UCommandlet
{
GENERATED_UCLASS_BODY()
public:
//~ Begin UCommandlet Interface
virtual int32 Main(const FString& CmdLineParams) override;
//~ End UCommandlet Interface
private:
TUniquePtr<IFileHandle> OpenCSVFile(const FString& Name);
bool GenerateScopesCSV(const TArray<FSummarizeScope>& SortedScopes);
bool GenerateCountersCSV(const class FSummarizeCountersProvider& CountersProvider);
bool GenerateBookmarksCSV(const class FSummarizeBookmarksProvider& BookmarksProvider);
bool GenerateTelemetryCSV(const FString& TestName, bool bAllTelemetry, const TArray<FSummarizeScope>& SortedScopes, const
FSummarizeCountersProvider& CountersProvider, const FSummarizeBookmarksProvider& BookmarksProvider, bool SkipBaseline);
FString TracePath;
FString TraceFileBasename;
};