bull-board icon indicating copy to clipboard operation
bull-board copied to clipboard

Feature: Dashboard page

Open felixmosh opened this issue 3 years ago • 22 comments

There are several requests for a single place that will summarize queues status, number of fails, etc... Lets make a list of requirements from this page.

Requirements:

  1. Numbers of jobs per each queue

Design inspirations image

Related to #252 #178 #163

felixmosh avatar Apr 22 '21 20:04 felixmosh

@felixmosh exprected to see dashboard looks like it was in version 0.x where were list of all queues and task statuses in one page.

Deadly0 avatar May 14 '21 06:05 Deadly0

@felixmosh Is it possible to use Chart.js (https://www.chartjs.org/docs/latest/samples/bar/vertical.html) as the UI of the dashboard

PengWeibin-Mars avatar Jun 22 '21 08:06 PengWeibin-Mars

@felixmosh Is it possible to use Chart.js (https://www.chartjs.org/docs/latest/samples/bar/vertical.html) as the UI of the dashboard

Thank you for the suggestion, looks like a cool chart lib :]

felixmosh avatar Jun 22 '21 08:06 felixmosh

Hey @felixmosh ,When is this feature expected to go live

PengWeibin-Mars avatar Jun 28 '21 07:06 PengWeibin-Mars

I don't have an estimation time, this is an open source project, You can contribute to it :]

Any PR regarding this feature is welcomed

felixmosh avatar Jun 28 '21 07:06 felixmosh

I would prefer proper bar charts rather then wheels to show things like response/execution times and throughput during a day.

I might have some time to work on this as I will definitely make use of it!

Jivings avatar Aug 06 '21 11:08 Jivings

The original dashboard was useful. Could we bring that back with each category linking to appropriate queue's tab?

Screenshot 2021-08-26 at 14 20 38

nojacko avatar Aug 26 '21 13:08 nojacko

Dashboard page should be split into 2 areas, a global stats & per queue stats.

The main purpose of this page should be a quick view of the entire queues. (maybe suitable to show on monitors).

felixmosh avatar Apr 02 '22 06:04 felixmosh

Are there any updates on this? I would love to see some graphs of my jobs :)

wootwoot1234 avatar Jul 30 '22 01:07 wootwoot1234

@wootwoot1234 actually I didn't started it yet... there are some other features that are in line.

Can you make a simple PR, and we will evolve it from there?

felixmosh avatar Jul 30 '22 06:07 felixmosh

@felixmosh sure, I would be happy to play with it a little. Can you help me get started by creating a branch with a new dashboard/metrics tab for each queue? Then I'll add the graphs.

You want to use chart.js? I don't personally have a favorite library for charts.

wootwoot1234 avatar Jul 30 '22 11:07 wootwoot1234

Just thought I might throw in my two cents, I like the way drone.io presents build stats:

image

each run is a column, with the run time as the height, and the status as the color.

I suppose my gripe with other graph insights is that they spread duration and status over a time graph, which can become useless because of the time scale different tasks can run at (looking at you aws lambda). The example above answers the main question, are they mostly currently running?

mrfrase3 avatar Nov 09 '22 02:11 mrfrase3

@mrfrase3 I think that design is great.

I agree, I want an easy and quick way to tell if everything is running smoothly.

I would be great to also have a way to see the failures on all jobs. A way to at a glance, see if any queues have failing jobs and how many.

wootwoot1234 avatar Nov 09 '22 02:11 wootwoot1234

@mrfrase3 thank for sharing this screenshot 🙏🏼 We need to think how to split it between queues since runs=jobs in our case. If we will be able to make such a design I'm free to implement it.

felixmosh avatar Nov 09 '22 05:11 felixmosh

@felixmosh I'd imagine it doesn't need to be as big, Google cloud implements a similar one that they often put inline where it's relevant:

image image image

mrfrase3 avatar Nov 14 '22 04:11 mrfrase3

I will publish some basic dashboard page which will solve most requested feature, we will be able to refactor & improve it over time...

WDYT? image

felixmosh avatar Apr 23 '23 18:04 felixmosh

That's great, I'll check it out when you publish it and give you my feedback. Thanks!

On Sun, Apr 23, 2023 at 1:37 PM Felix Mosheev @.***> wrote:

I will publish some basic dashboard page which will solve most requested feature, we will be able to refactor & improve it over time...

WDYT? [image: image] https://user-images.githubusercontent.com/9304194/233858480-69a230cf-7fa5-4c43-a6e4-be2d5d1044c2.png

— Reply to this email directly, view it on GitHub https://github.com/felixmosh/bull-board/issues/258#issuecomment-1519128654, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADGOGM5OYQEGWGNQN7VSWDXCVZFJANCNFSM43NKCWTA . You are receiving this because you were mentioned.Message ID: @.***>

wootwoot1234 avatar Apr 23 '23 20:04 wootwoot1234

It is available in v5.1.1

felixmosh avatar Apr 23 '23 20:04 felixmosh

it's really good, thanks

jaroslaw-weber avatar May 16 '23 02:05 jaroslaw-weber

Thinking of migrating from Taskforce dashboard. One thing worth mentioning - the metrics from the issue description have to be enabled per Queue Worker.

https://docs.bullmq.io/guide/metrics

Peeking into Redis these metrics seem to be available in bull:<QUEUE_NAME>:metrics

alko89 avatar Aug 03 '23 12:08 alko89

Hi @alko89, can you open a separate issue for this. Please provide the usage of these metrics in Taskforce dashboard.

felixmosh avatar Aug 03 '23 18:08 felixmosh

@felixmosh sure thing. Thought this issue includes this. Basically the entire bottom part of the screenshot in the issue description seems to get the data from the metrics endpoint (Response time, Process time and Throughput), these dials are empty if metrics are not enabled. I'm also seeing this graph which also gets the data from metrics.

image

alko89 avatar Aug 03 '23 19:08 alko89