Skip to content

emizio/eventstore-dashboard

 
 

Repository files navigation

EventStore Dashboard

EventStore Dashboard is a tool to analyze EventStore databases. It provides access to events, streams, snapshots, and subscriptions.

It works as an additional page for the Phoenix LiveDashboard.

eventstore-dashboard-streams

eventstore-dashboard-stream-events

eventstore-dashboard-event

Integration with Phoenix LiveDashboard

You can add this page to your Phoenix LiveDashboard by adding as a page in the live_dashboard macro at your router file.

live_dashboard "/dashboard",
  additional_pages: [
    eventstores: {EventStore.Dashboard, event_stores: [MyEventStore]}
  ]

The :event_stores option accept event store names (the :name option of your EventStore). By omitting the :event_stores option, EventStore Dashboard will try to auto discover your event stores.

live_dashboard "/dashboard",
  additional_pages: [
    eventstores: EventStore.Dashboard
  ]

Once configured, you will be able to access the EventStore Dashboard at /dashboard/eventstore.

Installation

Add the following to your mix.exs and run mix deps.get:

def deps do
  [
    {:eventstore_dashboard, github: "commanded/eventstore-dashboard"}
  ]
end

After that, proceed with instructions described in Integration with Phoenix LiveDashboard above.

Known limitations

  • Dynamic event stores are not currently supported.
  • Subscriptions and snapshots have not yet been implemented.

Contributing

For those planning to contribute to this project, you can run a dev version of the dashboard with the following commands:

$ mix setup
$ mix dev

Alternatively, run iex -S mix dev [flags] if you also want a shell.

Acknowledgment

This project is based on the Broadway Dashboard tool which is used to analyse Broadway pipelines. Thank you to the entire Dashbit team for their inspiration! It also builds upon the excellent Phoenix LiveDashboard project, thank you to the Phoenix framework team.

About

Real-time dashboard for EventStore

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%