Commit Graph

116 Commits

Author SHA1 Message Date
Martin Ridgers
a847f9df28 Consolidated the dispatching of trace events to analyzers into one place to reduce redundancy and to make it easier to iterate on.
#rb jb
#rnx

[CL 9545742 by Martin Ridgers in Dev-Core branch]
2019-10-11 04:42:36 -04:00
Martin Ridgers
9f0ee7e724 Use to pointers instead of references when getting to the underlying object
#rb trivial
#rnx

[CL 9545740 by Martin Ridgers in Dev-Core branch]
2019-10-11 04:41:33 -04:00
Martin Ridgers
3e02891420 Retire analyzers by pointer instead of analyzer index as that will be more convenient in the future.
#rb jans
#rnx

[CL 9487645 by Martin Ridgers in Dev-Core branch]
2019-10-09 11:15:36 -04: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
Martin Ridgers
027dc84fc5 Improved Trace analysis' tolerance against corrupt traces
#rb none
#rnx

[CL 9313924 by Martin Ridgers in Dev-Core branch]
2019-10-01 03:06:51 -04:00
Martin Ridgers
899e4e8d94 Protocol0 doesn't exist yet.
#rb trivial
#rnx

[CL 9031983 by Martin Ridgers in Dev-Core branch]
2019-09-24 09:13:24 -04:00
Martin Ridgers
d4dc08c5ef Analysis can't rely on details such as constants and enums from the runtime as it should be version agnostic.
#rb none

[CL 9031716 by Martin Ridgers in Dev-Core branch]
2019-09-24 09:10:24 -04:00
Martin Ridgers
fd20638717 Moved TraceLog's internal-but-public header files from the confusingly named "Private/" folder to a "Detail/" folder.
#fyi ben.marsh
#rb trivial

[CL 8741682 by Martin Ridgers in Dev-Core branch]
2019-09-17 08:12:49 -04:00
Martin Ridgers
1062a97b00 Moved the various different transport implementations out of Engine.cpp into their own units
#rb trivial

[CL 8740515 by Martin Ridgers in Dev-Core branch]
2019-09-17 07:05:38 -04:00
Martin Ridgers
67ae835e34 Removed the commented out Lz4-compressed trace stream support.
#rb trivial

[CL 8734520 by Martin Ridgers in Dev-Core branch]
2019-09-17 04:28:22 -04:00
Martin Ridgers
f27f409a02 - Analyzers can now indicate that they've finished analysing.
- Updated the TraceServices module following return value change to IAnalyzer::On*Event()

#rb jb

[CL 8672553 by Martin Ridgers in Dev-Core branch]
2019-09-13 09:31:57 -04:00
Martin Ridgers
68ade15dcf New thread-local buffering scheme for Trace events.
#rb cm

[CL 8633639 by Martin Ridgers in Dev-Core branch]
2019-09-11 04:51:37 -04:00
Martin Ridgers
ec781205f5 Added option to subscribe to all of a trace stream's events
#rb jb

[CL 8571397 by Martin Ridgers in Dev-Core branch]
2019-09-09 07:11:04 -04:00
Martin Ridgers
600d01b5ce Plugged a memory leak.
#rb trivial

(ushell-p4-stage of 8325528)

[CL 8571392 by Martin Ridgers in Dev-Core branch]
2019-09-09 07:09:46 -04:00
Martin Ridgers
c3a02569e2 Gracefully handle invalid event IDs.
#rb trivial

[CL 8398201 by Martin Ridgers in Dev-Core branch]
2019-09-02 08:26:49 -04:00
Martin Ridgers
eb861eb4ee Extended analyzer API to issue callbacks when a new event type is registered from the trace stream.
#rb jb

[CL 8396233 by Martin Ridgers in Dev-Core branch]
2019-09-02 06:32:14 -04:00
Martin Ridgers
1700cd784a Strategic rename of OnNewEvent() to OnNewEventInternal().
#rb trivial

[CL 8395522 by Martin Ridgers in Dev-Core branch]
2019-09-02 04:38:38 -04:00
Martin Ridgers
14a0adc807 Instead of using a magic sentinal route at the end of the routes array, default the first route to something that will be out of bounds and simply bounds check.
#rb jb

[CL 8395469 by Martin Ridgers in Dev-Core branch]
2019-09-02 04:10:35 -04:00
Martin Ridgers
e23ac3b5ec Granted access to the raw event data.
#rb trivial

[CL 8383045 by Martin Ridgers in Dev-Core branch]
2019-08-30 09:29:10 -04:00
Martin Ridgers
a7ac8178e6 Added a public API to be able to query type/reflection information about events in a trace stream.
#rb jb

[CL 8382837 by Martin Ridgers in Dev-Core branch]
2019-08-30 08:30:36 -04:00
Martin Ridgers
dad1049ccd Store various names associated with an event when they appear in the event stream
#rb jb

[CL 8382313 by Martin Ridgers in Dev-Core branch]
2019-08-30 04:54:42 -04:00
Martin Ridgers
c5cc0811ee Changed the IAnalysis interface to be optional as not everyone is interested in all calls made in to analyzers.
#rb jb

[CL 8382304 by Martin Ridgers in Dev-Core branch]
2019-08-30 04:49:04 -04:00
Martin Ridgers
5b90b890d6 Made analysis a little more efficient when reading events' fields by eliminating FEventData's vtable
#rb jb

[CL 8370958 by Martin Ridgers in Dev-Core branch]
2019-08-29 07:25:09 -04:00
Martin Ridgers
75c91c82a4 Change some constants to be enums to give some context to other humans.
#rb trivial

[CL 8370732 by Martin Ridgers in Dev-Core branch]
2019-08-29 04:41:54 -04:00
Martin Ridgers
95c763783c Store subscription hashes directly in routes instead of deduplicating into an additional array. Reduces complexity.
#rb jb

[CL 8370706 by Martin Ridgers in Dev-Core branch]
2019-08-29 04:19:18 -04:00