A helper class with static methods to perform hierarchical profiling
The FStatsHierarchical class / namespace can be used to record profiling data in a hierarchical fashion - by nesting scopes in functions that call each other. Profiling entries are recorded per invocation as raw data to ensure minimal impact on the runtime performance - and then can be compacted into a tree at a later time for reporting / display.
Users should refer to the DECLARE_SCOPE_HIERARCHICAL_COUNTER macro instead to place scopes.
Users need to call FStatsHierarchical::BeginMeasurements() and FStatsHierarchical::EndMeasurements() to enable / disable the profiling.
Note: This system is not thread-safe. You want to call it from a single thread only.