21 Commits

Author SHA1 Message Date
johan berg
b40e8ba538 Remove usage of MessageLog in analysis.
Usage of MessageLog in non-ui threads is tricky and need to be carefully managed to avoid flushing memory on the wrong thread. With this change direct usage of MessageLog in the analysis engine is removed and replaced with a callback system which allows the user of TraceAnalysis to implement display of the messages themselves. In the case of InsightsManager this means queuing up the messages in analysis session and regularly polled from the UI thread.

#rb ionut.matasaru
#jira UE-185528

[CL 26087858 by johan berg in 5.3 branch]
2023-06-19 08:52:43 -04:00
Johan Berg
84495298d7 [Insights] Surface error messages from analysis engine to the user
We have previously relied on UE_LOG messages to indicate problems in analysis. This change converts those log messages to use MessageLog functionality which is routed to a visual log representation inside the application (but also the log file).

Additionally adds functionality to show the Insights log windows when ever (new) errors are encountered.

#rb ionut.matasaru
#jira UE-154022
#preflight 63c91aa80225f00e14758d19

[CL 23771338 by Johan Berg in ue5-main branch]
2023-01-19 05:33:25 -05:00
ionut matasaru
f319b6cd6e Fixed CIS error (-NoPCH -DisableUnity).
#rb trivial
#jira UE-152669
#preflight skip

[CL 20246426 by ionut matasaru in ue5-main branch]
2022-05-17 13:24:57 -04:00
ionut matasaru
1c905ca529 [Insights] Added "TraceAnalysis" and "Trace/CpuProfile" LLM_SCOPEs (in an effort to reduce the Untagged allocations):
- "TraceAnalysis" -- captures all mem allocated by the FAnalysisProcessor.
  - "Trace/CpuProfile" -- captures allocation of per-thread buffers used by the cpu profiler trace.

#jira UE-147172 (partially)
#rb Johan.Berg
#preflight 6281fc9fd819c085e0ad0fe5

[CL 20222034 by ionut matasaru in ue5-main branch]
2022-05-16 07:37:42 -04:00
Martin Ridgers
c3874dabf2 Backed out 18978509
#rb jb
#rnx
#preflight 620d159a6202a22eedecf839

[CL 19014593 by Martin Ridgers in ue5-main branch]
2022-02-16 10:23:17 -05:00
Martin Ridgers
0e00b638ae Call OnData() one last time after reaching the end of the input trace stream.
Newer protocol traces consume as much data as they can before returning from OnData(). Older protocol support however can return will data still to process that will be continued on the next OnData() call. However, if the end of input stream has already been met the subsequent OnData() call is not made. The bug's always been present but hidden by a small input buffer.

#rb jb
#rnx
#preflight 620a5b00803d9066e67bf24d

[CL 18978509 by Martin Ridgers in ue5-main branch]
2022-02-14 08:55:31 -05:00
Martin Ridgers
42fe03350e Read much larger chunks of trace data to improve throughput and ease analysis engine's poor behaviour when it is waiting on a dependent event to arrive.
#rb jb
#rnx
#preflight 6204ce8d000261ff89f8933e

[CL 18933162 by Martin Ridgers in ue5-main branch]
2022-02-10 03:53:13 -05:00
Martin Ridgers
12df3999e2 Over time the framework behind the analysis of traces has grown reactively and organically without little thought to structure. The monolithic class has been refactored to derive some structure that will ease future maintenance (and protocol changes in particular).
#rb johan.berg
#jira ue-114532
#rnx

[CL 16979281 by Martin Ridgers in ue5-main branch]
2021-07-28 02:24:21 -04:00
Martin Ridgers
e21a54a5a6 A strategic balancing of an End() call with a Begin() call.
#rb jberg
#jira UE-114532
#rnx

[CL 16966340 by Martin Ridgers in ue5-main branch]
2021-07-27 04:32:25 -04:00
Martin Ridgers
be972be826 Moved the Trace namespace into the UE namespace.
#rb jb
#rnx

[CL 14762673 by Martin Ridgers in ue5-main branch]
2020-11-17 06:54:28 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
Martin Ridgers
f82864c80a Explicitly end analysis on exit from the inner loop. Doing it implicitly in the destructor opens up the analysis framework for order of destruction problems.
#rb trivial
#rnx

[CL 11154133 by Martin Ridgers in Dev-Core branch]
2020-01-29 08:18:18 -05:00
Martin Ridgers
0c0596093d Allow TraceAnalysis' Processor objects to be move-assigned as well as move-contructed.
#rb trivial
#rnx

[CL 11154045 by Martin Ridgers in Dev-Core branch]
2020-01-29 08:16:27 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Stefan Boberg
d2f9a61b06 Copy-up from Dev-Core
#rb none

[CL 10419044 by Stefan Boberg in Main branch]
2019-11-25 12:03:09 -05:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00
Stefan Boberg
8607ecb30d Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6815521 by Stefan Boberg in Main branch]
2019-06-03 15:32:00 -04:00
Martin Ridgers
a8cbde104e Addressed copyright notice false positives.
#rb none

[CL 6532994 by Martin Ridgers in Dev-Core branch]
2019-05-16 04:54:01 -04:00
Martin Ridgers
649c7c0200 Copy up of Unreal Insights from //Tasks/UE4/Dev-Core-Trace.
#rb none

[CL 6426511 by Martin Ridgers in Dev-Core branch]
2019-05-13 09:05:12 -04:00