-
Notifications
You must be signed in to change notification settings - Fork 30
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
Optimized Tracing and Restoring Replay Support #261
Conversation
Don’t write currentActor in every actorContext recording This seems just in the wrong place, and just writes itself, even if not necessary. Signed-off-by: Stefan Marr <git@stefan-marr.de>
This one is needed for all buffer changes Remove recordActorCreation, was replaced by node Signed-off-by: Stefan Marr <git@stefan-marr.de>
Reduce code duplication in received message handling Move more of the old tracing also intro the received call targets Factor our redundant code Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
This avoids many recurring specializations in the tracing nodes we need. Signed-off-by: Stefan Marr <git@stefan-marr.de>
[Fix] id tracing, remove unneeded code Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
ByteBuffer didn’t do much useful things, and cost another indirection for tracing. Let’s see whether this makes any difference. Signed-off-by: Stefan Marr <git@stefan-marr.de>
@@ -302,9 +302,6 @@ private void execute(final EventualMessage msg, | |||
if (VmSettings.KOMPOS_TRACING) { | |||
KomposTrace.scopeEnd(DynamicScopeType.TURN); | |||
} | |||
if (VmSettings.ACTOR_TRACING) { | |||
ActorExecutionTrace.recordMessage(msg); | |||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this removal correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, messages are now traced in ReceivedRootNode.
- add options for constants - make buffer recycling optional
109d8d8
to
a1479ab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you.
Looks good to me.
Will merge once the benchmarks completed.
This PR contains the second half of the changes to the tracing implementation.
The changes include a move away from ByteBuffer, instead byte arrays and unsafe are used.
Furthermore, Truffle Nodes are used for tracing to achieve lower overhead.