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
Thomas Sarkanen
3d5d6697a6
Added TArrayView access support for array fields
...
Also fixed div-by-zero in Num() when a field does not exist
#rb Martin.Ridgers
[CL 11041970 by Thomas Sarkanen in Dev-Core branch]
2020-01-17 07:31:56 -05:00
Johan Berg
6e8c16c4b7
Trace channels
...
This change introduces the concept of "channels" to TraceLog. When an event is emitted a channel now needs to be supplied. Channels are disabled by default and can be be enabled individually, allowing the user to limit the amount of events the tracing application produces. Channels can be enabled by the recording application (e.g. UnrealInsights) or enabled by default using a commandline argument, "-tracechannels" to enable a comma separated list of channels.
There are two new events related to channels, the announce event describing the channel, and the toggle event which notifies any changes in state. Note that all channels are enabled during static initialization in order to guarantee that any event emitted during that phase is recorded.
#rb martin.ridgers, ionut.matasaru
[CL 10950760 by Johan Berg in Dev-Core branch]
2020-01-13 07:16:09 -05:00
ryan durand
84e0b188d8
Updating copyright for Engine Developer.
...
#rnx
#rb none
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902 via CL 10870584
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v626-10872990)
[CL 10897060 by ryan durand in Dev-Core branch]
2020-01-07 15:07:57 -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
Johan Berg
c2f3229f0c
Fix issue with undefined events types.
...
When event types that are not yet know is encountered in a buffer, switch to other buffers to read up until the type is encountered.
#rb martin.ridgers
[CL 10808580 by Johan Berg in Dev-Core branch]
2019-12-19 07:12:34 -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
Martin Ridgers
930f375759
Validate an event's ID before doing anything else with it.
...
#rb tricial
#rnx
[CL 10635163 by Martin Ridgers in Dev-Core branch]
2019-12-10 08:36:28 -05:00
Martin Ridgers
4f45f29b52
Fixed incorrect return value if no header's found. That's not a failure.
...
#rb tribial
#rnx
[CL 10634983 by Martin Ridgers in Dev-Core branch]
2019-12-10 07:26:08 -05:00
Martin Ridgers
ced2caaf78
Assigned more bits to the event serial numbers to prevent confusion during analysis when it wraps around.
...
#rb none
#rnx
#ushell-unshelve of 10634350
[CL 10634881 by Martin Ridgers in Dev-Core branch]
2019-12-10 06:21:14 -05:00
Martin Ridgers
490e598178
Expose Trace's internal ThreadId to analyzers. Note that this will not the same as the OS' thread id.
...
#rb none
#rnx
#ushell-unshelve of 10632436
[CL 10632722 by Martin Ridgers in Dev-Core branch]
2019-12-10 03:11:20 -05:00
Martin Ridgers
80d5f05111
Fixed divergence of protocol version numbers between Main and Dev-Core.
...
#rb trivial
#rnx
[CL 10589805 by Martin Ridgers in Dev-Core branch]
2019-12-06 04:36:46 -05:00
Martin Ridgers
3705f07d22
Implemented dynamically sized array-type fields for trace events.
...
#rb none
[CL 10478704 by Martin Ridgers in Dev-Core branch]
2019-11-28 11:30:28 -05:00
Martin Ridgers
cd8f24b21a
Extended trace protocol so events can be marked as possibly expecting auxilary data. Such events are terminated with a null byte so if the following byte is non-zero it is expected to be an additional payload for the event. Nothing is currently using this.
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10478300 by Martin Ridgers in Dev-Core branch]
2019-11-28 08:04:10 -05:00
Martin Ridgers
dc9787ea8c
Send the important flag one the one-time trace event that describes and event instead of tagging each event sent
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10477742 by Martin Ridgers in Dev-Core branch]
2019-11-28 04:08:28 -05:00
Martin Ridgers
901707327b
Moved the enum of known event IDs into the protocol so it can be changed while maintaining backwards compatibility.
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10477715 by Martin Ridgers in Dev-Core branch]
2019-11-28 03:32:18 -05:00
Martin Ridgers
dffee30340
Build field's properties outside of the dispatch builder so that different protocol versions can adapt to suit
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10470513 by Martin Ridgers in Dev-Core branch]
2019-11-27 11:27:27 -05:00
Martin Ridgers
c8872777a7
Encapsulated the look up of a field's index by name into a method of FDispatch.
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10470137 by Martin Ridgers in Dev-Core branch]
2019-11-27 11:16:39 -05:00
Martin Ridgers
06bcc0ffe9
Let's not sort fields. We're not leveraging the sorted order and we will soon be relying on field indices so it'd be convenient to keep the original order.
...
#rb none
#rnx
#ushell-unshelve of 9957048
[CL 10468501 by Martin Ridgers in Dev-Core branch]
2019-11-27 10:14:05 -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
Martin Ridgers
9c5edb26bb
Don't increment the log serial until the full event can be processed.
...
#rb none
#rnx
[CL 10385428 by Martin Ridgers in Dev-Core branch]
2019-11-24 08:56:29 -05:00
Martin Ridgers
a59776ecd8
Resynchronised traced events across threads by using a rolling serial number. The coordination of the serialised order happens at analysis time.
...
#rb none
#rnx
[CL 10241774 by Martin Ridgers in Dev-Core branch]
2019-11-15 09:28:16 -05:00
Martin Ridgers
79b8a7d48f
Having these as scoped enums really doesn't work very well when their purposes to give some symantic meaning to bytes in a stream received across the wire.
...
#rb none
#rnx
[CL 10236876 by Martin Ridgers in Dev-Core branch]
2019-11-15 08:47:47 -05:00
Martin Ridgers
2c7a039131
Store the protocol version instead of comparing function pointers
...
#rb none
#rnx
[CL 10236834 by Martin Ridgers in Dev-Core branch]
2019-11-15 08:36:49 -05:00