Files
UnrealEngineUWP/Engine/Source/Developer/MeshBuilder/Private/BuildStatisticManager.h
Ryan Vance 7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -05:00

43 lines
1.1 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "CoreTypes.h"
DECLARE_LOG_CATEGORY_EXTERN(LogMeshDescriptionBuildStatistic, Log, All);
namespace BuildStatisticManager
{
struct FStatisticData
{
public:
FStatisticData()
: TotalTime(0.0)
, Counter(0)
{ }
double TotalTime;
uint32 Counter;
};
class FBuildStatisticScope
{
public:
FBuildStatisticScope(const FString& InTimerDescription, FStatisticData& InStatisticData)
: TimerDescription(InTimerDescription)
, StatisticData(InStatisticData)
{
StartTime = FPlatformTime::Cycles();
}
~FBuildStatisticScope()
{
double ScopeTime = FPlatformTime::ToSeconds64(FPlatformTime::Cycles() - StartTime);
StatisticData.TotalTime += ScopeTime;
StatisticData.Counter += 1;
UE_LOG(LogMeshDescriptionBuildStatistic, Log, TEXT("%s: %f seconds - Counter: %d - Total Time: %f"), *TimerDescription, ScopeTime, StatisticData.Counter, StatisticData.TotalTime);
}
private:
FString TimerDescription;
int32 StartTime;
FStatisticData& StatisticData;
};
}