-
Notifications
You must be signed in to change notification settings - Fork 1k
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
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.
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.
@@ -41,36 +41,39 @@ public Timer(object key, object msg, bool repeat, int generation, ICancelable ta | |||
} | |||
} | |||
|
|||
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.
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
IWithTimer
heavily. 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):