This is just to expose some ideas I have.
Although Akka has logging support, I feel that for Even to be easy to use, it should include some instrumentation support. In essence, I'd like Even to have some built-in way to generate either a data structure or an automatically generated HTML report with information like:
- Overall status of the system telling things like how many aggregates/projections exist and how many events the system saw since it started
- A list of all projections, if they are up-to-date or rebuilding, and the sequence of each one
- Which aggregates are loaded in memory
- How many messages each component processed
- How many accepted and rejected commands aggregates/command processors had
- How many restarts (failures) projections or aggregates had
It should expose a simple API expose system status to ASP.NET (probably exposing some url with all the information available). The HTML generation could be an external component, but basic instrumentation would need to be built into core.
Some ideas may come from Akka Monitoring, but the idea is that it shouldn't require the user to add code to aggregates or projections (but the user could possibly use it to manually add instrumentation events).
Instrumentation would be turned off by default and turnd on on during Even setup, as:
sys.SetupEven()
.WithInstrumentation()
.Start();
This is just to expose some ideas I have.
Although Akka has logging support, I feel that for Even to be easy to use, it should include some instrumentation support. In essence, I'd like Even to have some built-in way to generate either a data structure or an automatically generated HTML report with information like:
It should expose a simple API expose system status to ASP.NET (probably exposing some url with all the information available). The HTML generation could be an external component, but basic instrumentation would need to be built into core.
Some ideas may come from Akka Monitoring, but the idea is that it shouldn't require the user to add code to aggregates or projections (but the user could possibly use it to manually add instrumentation events).
Instrumentation would be turned off by default and turnd on on during Even setup, as: