Skip to content

Instrumentation and Statistics #13

@nvivo

Description

@nvivo

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();

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions