Martin Ridgers
3fb2b8b6b3
Moved a few classes out of FAnalysisEngine's scope.
...
#rnx
[CL 16670167 by Martin Ridgers in ue5-main branch]
2021-06-15 02:55:20 -04:00
Martin Ridgers
3642e263af
Removed a few redundant "using namespace" statements.
...
#rnx
[CL 16654394 by Martin Ridgers in ue5-main branch]
2021-06-13 15:53:51 -04:00
Martin Ridgers
0e39eaf9df
Delete redundant variable.
...
#rnx
[CL 16653294 by Martin Ridgers in ue5-main branch]
2021-06-13 02:15:35 -04:00
Martin Ridgers
732332d367
Added some Vim fold markers to help navigate this file more easily.
...
#rnx
[CL 16638910 by Martin Ridgers in ue5-main branch]
2021-06-11 06:27:46 -04:00
Martin Ridgers
60c59e13e2
Extend lifetime of thread info objects. Previously there was a slim chance that they would get moved while someone else was holding on to a pointer to them.
...
#rb jb
#rnx
[CL 16192808 by Martin Ridgers in ue5-main branch]
2021-05-04 09:01:07 -04:00
Martin Ridgers
b8523e1c46
Guard against reading too much of an event's header from the trace data stream
...
#rb im
#rnx
[CL 16156223 by Martin Ridgers in ue5-main branch]
2021-04-29 08:18:34 -04:00
Martin Ridgers
e92804c644
Fixed typo in a comment
...
#rb im
#rnx
[CL 16156203 by Martin Ridgers in ue5-main branch]
2021-04-29 08:16:23 -04:00
Martin Ridgers
1d840cfe34
Use uint32 to store the UID instead of uint16. If anything the code generation is a little better as there are no prefixes.
...
#rb im
#rnx
[CL 16156198 by Martin Ridgers in ue5-main branch]
2021-04-29 08:15:47 -04:00
Martin Ridgers
75898aaf65
Guard against some legacy paths taken when analyzing old traces as they set the auxilary data collector object to null.
...
#rb im
#rnx
[CL 16156193 by Martin Ridgers in ue5-main branch]
2021-04-29 08:14:42 -04:00
Martin Ridgers
7107dca2f6
EventData.GetString() was incorrectly returning false if the requested field did exist but was empty.
...
#rb im
#rnx
[CL 16156188 by Martin Ridgers in ue5-main branch]
2021-04-29 08:12:58 -04:00
Martin Ridgers
8c25a5e19c
Added a EventData.GetSize() method to report the size in bytes of a traced event to the curious.
...
#rb trivial
#rnx
[CL 16112307 by Martin Ridgers in ue5-main branch]
2021-04-26 03:35:01 -04:00
Martin Ridgers
ef3e0711d7
Added an EventTypeInfo.GetSize() to get the unadorned size of an trace event.
...
#rb trivial
#rnx
[CL 16112306 by Martin Ridgers in ue5-main branch]
2021-04-26 03:33:22 -04:00
Martin Ridgers
47783d686d
Moved trace's transport enums into their own include file.
...
#rb jb
#rnx
[CL 15929693 by Martin Ridgers in ue5-main branch]
2021-04-06 09:35:47 -04:00
Martin Ridgers
5f768247a4
Fixed PVS-Studio analysis warning.
...
#jira UE-106046
#rb trivial
#rnx
[CL 15047378 by Martin Ridgers in ue5-main branch]
2021-01-12 04:25:33 -04:00
Martin Ridgers
33b3b9d0db
Indicate when it is okay for analysis to derive the starting log serial. This mitigates against cases where the data sent in one update of the run time has fragmented delivery when analysed (e.g. due to TCP overhead or read buffer sizes). Fragmentation results in analysis making decisions based on a partial view of the world.
...
#rb none
#rnx
[CL 15035044 by Martin Ridgers in ue5-main branch]
2021-01-11 04:15:10 -04:00
Martin Ridgers
4c8225b424
An alternative API for reading fields' values. A opaque handle can be retrieved when an event is first described instead of hashing a string and traversing a table for each GetValue() call. Bast-case can be an instruction or two instead of much work.
...
#rb none
#rnx
[CL 15034179 by Martin Ridgers in ue5-main branch]
2021-01-10 16:26:31 -04:00
Martin Ridgers
2cf9a89ea2
Moved event data pointer to the start of an internal struct so it is a little bit easier to find from the outside.
...
#rb none
#rnx
[CL 15034159 by Martin Ridgers in ue5-main branch]
2021-01-10 16:18:43 -04:00
Martin Ridgers
5a6316dbf8
Fixed pointer invalidation when new thread events were received.
...
Events marked as important are associated internally to a pseudo thread with id 0 [A]. New-thread events are considered important and thus appear as if they were traced on thread 0. They will add thread N which will modify the Infos array. If someone was holding a A& = Infos[0] when Infos[N] was added then A can become stale. To combat this edge-case we'll thread 0 as a special case so it doesn't invalidate itself with its own events.
#rb arciel.rekman (indirectly)
#rnx
[CL 14989274 by Martin Ridgers in ue5-main branch]
2021-01-05 05:37:24 -04:00
Martin Ridgers
e5c40b10b8
Trace's analysis' FThreads::GetInfo() was always returning thread 0 (the important "thread"). Since they were marked as important, thread-info events have no longer been sent on the thread the present but instead carry the thread ID in a field.
...
#rb none
#rnx
[CL 14968643 by Martin Ridgers in ue5-main branch]
2020-12-30 06:06:38 -04:00
Martin Ridgers
67d7dcba9b
Homogenised return type of Thread::GetInfo() across all its overloads.
...
#rb none
#rnx
[CL 14968631 by Martin Ridgers in ue5-main branch]
2020-12-30 05:35:41 -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
Martin Ridgers
71f829c710
Simple provision for prefixing metadata at the start of a trace stream
...
#rb jb
#rnx
[CL 14750258 by Martin Ridgers in ue5-main branch]
2020-11-16 04:06:18 -04:00
Martin Ridgers
889b2d647c
Implementation of Trace's important events. Some events are only traced once. CPU scope names or log format strings for example. Those trace-once events get lost if a user then connects to trace late (or reconnects a second time). To combat that important events are traced to a separate stream internally so that they can be identified, cached off to one side, and resent when a connection is first established.
...
#rb johan.berg
#rnx
[CL 14572080 by Martin Ridgers in ue5-main branch]
2020-10-26 03:29:23 -04:00
Marcus Wassmer
3b81cf8201
Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
...
autoresolved files
#rb none
[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -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