-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Improve traceability of ITimerMsg
#7262
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 traceability of ITimerMsg
#7262
Conversation
This is mostly a Phobos-oriented improvement, aimed at making it easier to keep track of scheduled metrics in systems that use `IWithTimer` heavily.
Aaronontheweb
left a comment
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.
Detailed my changes - going to do a local POC with Phobos and see if this resolves my issue there.
| } | ||
|
|
||
| public interface ITimerMsg | ||
| public interface ITimerMsg : IWrappedMessage, INoSerializationVerificationNeeded |
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.
IWrappedMessage is how we can get access to the contents of the timer and record it via Phobos metrics.
| Key = key; | ||
| Generation = generation; | ||
| Owner = owner; | ||
| Message = message; |
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.
We're not even going to access this value directly in the main timer use-case, so none of that code path is affected.
All of these messages types are internal so there's no public API impact.
Arkatufus
left a comment
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.
LGTM
Changes
This is mostly a Phobos-oriented improvement, aimed at making it easier to keep track of scheduled metrics in systems that use
IWithTimerheavily. Specifically, we now include the content of the message being scheduled inside the payload so we can answer the question "what was scheduled?" without a lot of overhead.This doesn't affect the public API of Akka.NET at all.
Checklist
For significant changes, please ensure that the following have been completed (delete if not relevant):