forked from microsoft/perfview
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve ctf trace event source #1
Open
gleocadie
wants to merge
1,350
commits into
criteo
Choose a base branch
from
ImproveCtfTraceEventSource
base: criteo
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Consume TraceEvent.SupportFiles 1.0.13
TraceParserGen: fix provider opcodes loading
1. Translate SQL BeginExecute EndExecute into start stop (so durations are calculated). We do this for other events as well. 2. Add the SQL command text (first 50 chars) if it is available in the StartStop Activity view. Also asked git to ignore internal docs.
This is bringing back old code that was removed because it was not available on NetStandard 1.6 and seemed to not matter. Fixes issue microsoft#571
gleocadie
pushed a commit
that referenced
this pull request
Feb 26, 2018
* Code compete, started tesing. * Make EventPipeEventSource be the EventPipeFile object * Added More asserts, fixed a few bugs * More fixes. File now loads completely * Remove hack that I accidently commited * More cleaup * Add Comments. Minor cleanup * Remove Old EvetnPipeEventSource code * More comments * Fix comments because I misunderstood the meaning of EventSize * [WIP] Event pipe v3 (#1) * getting the old tests pass * support V3 (extra fields) * Disable EventPipe test * Remove files accidently included in the change
…ckageversion Increase TraceEvent Package Version
Fix trace relogger ref
Add Docs for TraceEvent
Improved performance of drawing Flame Graph
This reverts commit f8c3c26.
Also added some docs Fixed a manifest generation bug that cause TraceParserGen to fail.
Also fixed some other doc typos.
Add details about making SupportFiles Nuget packages
…-getpayloadvalueat Short-circuit DynamicTraceEventParser::GetPayloadValueAt for arrays of bytes
…ceEventDlr Add DLR support for TraceEvent dynamic properties
There is an issue where doubles are written in one local and read in another. This was already fixed in the data, but there was a lingering problem in the FilterState (e.g. the values in the Start and End TextBoxes are also persisted in the XML). This fix only makes the reader robust (that is it will ignore bad data.
Fix bug in reading PerfView.xml files
Bug fixes for source lookup of traces collected on Linux. Make thread names a bit prettier if we don't have CPU information Doc improvement for pinning views.
Support .netperf.zip files, small fixes.
* Reactivate tests with new inputs * Remove old input files
ef7ede8
to
8c1a48f
Compare
- Add interfaces to enable Ctf event external source - Implement the CtfTraceEventSource in a callback way (like ETWTraceEventSource) - Extract file(zip)-based implementation to its own file and implementing the contracts - Ensure that events are dispatched following their timestamp
This method is on the critical path and generate a huge amount of short-lived byte[] => many gen 0/1 By having a already allocated buffer and using other API we can avoid those extra allocation.
This conversion is on the critical path and generate a huge amount of object instances which come from the boxing of integer type. By using generic + interface magic we can avoid boxing and improve the performance drastically. + Tests
8c1a48f
to
29431ab
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The idea is to improve the CTF traces management.
First, we update the test inputs (are old, contains old trace types which that do not exist anymore in the manifest file…) and reactivate 2 tests.
Currently, the CtfTraceEventSource is file-based (zip file containing the CTF traces).
We would like the CtfTraceEventSource to have a live mode (like ETWTraceEventSource). To achieve this, we introduce interfaces (contracts) that must be implemented by component(s) (internal, zip-based, or external) to have their CTF events decoded and translated to TraceEvent object.
See LTTng and CtfTraceEventSource