Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.46 KB

README.md

File metadata and controls

65 lines (42 loc) · 2.46 KB

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.