Extended run-time monitoring and stats: an ability to collect info about event-handlers working time. This info can be very helpful for detecting situations when some event-handlers are working too long (or event hang forever).
Note. With feature was in v.5.5.17's wish list, but it required a lot of work and was removed from scope of v.5.5.17.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Special signals for run-time stats distribution: stats::messages::distribution_started and stats::distribution_finished. These signals simplify implementation of some stats listeners. For example first signal tells about new portion of run-time statistics and second tells about end of that portion.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
NOTE. Attempt to change state when another state switch is in progress will throw an exception. But this excepton will lead to std::terminate if it is not handled in on_enter/on_exit handler. It is because on_enter/on_exit handlers must be noexcept functions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Please add features which you like to see in v.5.5.18 as replies to this topic.
Extended run-time monitoring and stats: an ability to collect info about event-handlers working time. This info can be very helpful for detecting situations when some event-handlers are working too long (or event hang forever).
Note. With feature was in v.5.5.17's wish list, but it required a lot of work and was removed from scope of v.5.5.17.
Implemented in 5.5.18--dev-trunk branch.
Speed up of coops registration and deregistration operations. May be just as optimization for anonymous coops only.
A support for
send_case
forselect
function for mchains.Special signals for run-time stats distribution:
stats::messages::distribution_started
andstats::distribution_finished
. These signals simplify implementation of some stats listeners. For example first signal tells about new portion of run-time statistics and second tells about end of that portion.Implemented in 5.5.18--dev-trunk branch.
It is good to have a run-time error on attempt to change agent state in state's on_enter/on_exit handler.
For example this code is not good:
Such behaviour can lead to infinite recursion in on_enter/on_exit calls.
Implemented in 5.5.18--dev-trunk branch.
NOTE. Attempt to change state when another state switch is in progress will throw an exception. But this excepton will lead to std::terminate if it is not handled in on_enter/on_exit handler. It is because on_enter/on_exit handlers must be noexcept functions.