Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a user dashboard #94

Open
kinow opened this issue Jun 27, 2019 · 15 comments
Open

Create a user dashboard #94

kinow opened this issue Jun 27, 2019 · 15 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Milestone

Comments

@kinow
Copy link
Member

kinow commented Jun 27, 2019

Could overlap a bit with current work related to Analytics. Could also display per suite/task metrics, etc. Which components to be used in this dashboard?

Raised by @matthewrmshin during the Exeter meetup 2019/06.

@kinow kinow added enhancement good first issue Good for newcomers help wanted Extra attention is needed labels Jun 27, 2019
@hjoliver
Copy link
Member

hjoliver commented Jul 7, 2019

The dashboard can probably be quite minimal initially, with more info added post cylc-8.0.0.

@matthewrmshin
Copy link
Contributor

Some ideas of what to display:

  • General health of the workflows the user is running. Information that tells users to take action and/or warn users of IT issues. E.g. Number of failed tasks/jobs and a link to a list of them. A plot of top queuing times for jobs in submitted state. Response time of any running servers. Number of active tasks/jobs in all workflows.
  • Resource usage. Information that enable users to better plan resource usage. E.g.: Plot of tasks/jobs using the most computing resources (per cluster). Plot of number of active tasks against time (i.e. when are the busiest times during the day of your workflows).
  • Links to relevant site status pages and docs?

@hjoliver
Copy link
Member

hjoliver commented Jul 8, 2019

First step (easy):

  • Links to docs.

I guess we need something configurable, for:

  • Links to relevant site status pages.

@kinow
Copy link
Member Author

kinow commented Jul 8, 2019

Would users be able to customize their dashboards, or should we leave it for another release post cylc8.0? I guess it depends on the other issue for user preferences as well.

@hjoliver
Copy link
Member

hjoliver commented Jul 8, 2019

I suggest:

  • 8.0.0: just Cylc logo and doc links, maybe with some site configurable links (e.g. to local system status info)
  • post 8.0.0 - OR earlier IF we have time after doing the critical path stuff - useful analytics such as suggested by @matthewrmshin
  • and not necessary to allow user-customization until we have multiple dashboard content options to choose between?

(it might be a bit of work to do the analytics)

@kinow
Copy link
Member Author

kinow commented Jul 8, 2019

+1 Sounds good. Incremental and small tasks, easier to see progress and close this ticket with a few follow ups for next releases.

@sadielbartholomew
Copy link
Contributor

sadielbartholomew commented Jul 8, 2019

Just a thought on your suggestion, @hjoliver:

I suggest:

8.0.0: just Cylc logo and doc links, maybe with some site configurable links (e.g. to local system status info)
post 8.0.0 - OR earlier IF we have time after doing the critical path stuff - useful analytics

@matthewrmshin mentioned to me in conversion (along the lines of this, though of course only Matt can describe his own ideas & vision, so he's the one to hear from), & I agree, that displaying some very basic analytics, namely stats that we already have accessible from the data we currently fetch, such as:

  • the total number of suites the user has running (perhaps broken down by suite state);
  • the times they have been running for;
  • the number of tasks in each suite which are in important states such as failed,

etc. would not be difficult to add in for 8.0.0, & more useful than just the links on their own.

More fancy analytics e.g. plots, charts etc. could indeed be trickier or time-consuming, though, so I agree otherwise. There is a lot of potential for very sophisticated & useful components on the analytics side for the dashboard, & it is the first thing users will see when they open the UI, so I certainly wouldn't want us to rush the "final" dashboard implementation.

@hjoliver
Copy link
Member

hjoliver commented Jul 8, 2019

@sadielbartholomew - agreed, if we can add that stuff easily enough, let's do it.

@oliver-sanders oliver-sanders mentioned this issue Jul 17, 2019
14 tasks
@oliver-sanders
Copy link
Member

oliver-sanders commented Jul 17, 2019

Couple of quick things we may want to be accessible from the Dashboard:

  • User settings
    • Application theme
    • Job icon theme
    • etc
  • Cylc Hub
    • Link to hub
    • Stop Server?
  • Help
    • Documentation
    • Suite Design Guide
    • Quickstart (in-app tour of the Cylc GUI)?

See also design document which as an illustrative example has the number of workflows in each state (x running, y held, z stopped) and workflow events of severity warning or higher (may be more interesting to implement).

@kinow
Copy link
Member Author

kinow commented Jul 17, 2019

I think we can implement the initial version of the design document. Leaving these links in the dashboard, instead of in the menu, would also tidy it up a bit.

Then later we can create other issues about customization of dashboards, and other improvements.

@sadielbartholomew
Copy link
Contributor

sadielbartholomew commented Aug 6, 2019

Then later we can create other issues about customization of dashboards, and other improvements.

I'm hoping to create a largely self-contained store of ideas & of user feedback & requests regarding suite & task analytics, since there is a lot of information building up in that respect that we should collate, & I cannot see a dedicated Issue for that in any repo. This Issue seems to have converged on the nature of the minimal 8.0.0 dashboard, so I am going to open a new one accordingly for the full-featured "ideal future" dashboard. Update: actually, #57 will do, as that is essentially analytics only, it just needs a wider scope, so I might edit the title & note as such in a comment there. Saying that, it is not clear whether we would want all analytics aspects to be on the dashboard, we could have a whole separate page...

This particular Issue can then pertain to the dashboard for 8.0.0, is that okay @kinow? The question here then becomes what more we want in the dashboard than has been implemented in #149. Is there anything, say in Matt's suggestions #94 (comment), that we think should go in now? The low hanging fruit, perhaps?

@oliver-sanders
Copy link
Member

oliver-sanders commented Aug 6, 2019

store of ideas & of user feedback & requests regarding suite & task analytics,

We do have a plan to add an "analytics view" (suite+task info), this would be a per-suite view alongside graph, dot, etc. There used to be an issue on Cylc Flow for this, (the cylc report-timings command was linked to this), there should be a new issue for this.

@matthewrmshin
Copy link
Contributor

For task analytics, I believe users would probably want per-suite as well as a view for groups of suites. E.g. they may want to analyse all tasks running a similar model with different configurations in a set of trials. Or a production user may want to know how much HPC node-hours they have consumed in a time series. Or the failure rate of the archiving tasks across all suites. Etc.

@kinow
Copy link
Member Author

kinow commented Aug 7, 2019

@sadielbartholomew all good for me. I thought this would be one of those issues that take a while to close, and have multiple PR's (e.g. #149).

@oliver-sanders
Copy link
Member

they may want to analyse all tasks running a similar model with different configurations in a set of trials

Hmm, that could be interesting. Hierarchical suites give us a convenient landing page to display analytics for a group but I think a rigid hierarchy probably won't suffice for this.

@kinow kinow added this to the 1.0 milestone Sep 14, 2019
@kinow kinow modified the milestones: 1.0, 2.0 Sep 10, 2021
@oliver-sanders oliver-sanders removed this from the 2.0.0 milestone Jun 8, 2022
@oliver-sanders oliver-sanders added this to the Pending milestone Jun 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants