Files
UnrealEngine/Engine/Source/Developer/TraceServices/Private/Analyzers/MemoryAnalysis.h
2025-05-18 13:04:45 +08:00

41 lines
891 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Trace/Analyzer.h"
#include "TraceServices/Containers/Allocators.h"
#include "Model/MemoryPrivate.h"
#include "Containers/UnrealString.h"
#include "Common/PagedArray.h"
namespace TraceServices
{
class IAnalysisSession;
class FMemoryAnalyzer
: public UE::Trace::IAnalyzer
{
public:
FMemoryAnalyzer(IAnalysisSession& Session, FMemoryProvider* InProvider);
~FMemoryAnalyzer();
virtual void OnAnalysisBegin(const FOnAnalysisContext& Context) override;
virtual void OnAnalysisEnd() override;
virtual bool OnEvent(uint16 RouteId, EStyle Style, const FOnEventContext& Context) override;
private:
enum : uint16
{
RouteId_TagsSpec,
RouteId_TagSetSpec,
RouteId_TrackerSpec,
RouteId_TagValue,
};
IAnalysisSession& Session;
FMemoryProvider* Provider;
uint64 Sample = 0;
};
} // namespace TraceServices