netdata / netdata-cloud

The public repository of Netdata Cloud. Contribute with bug reports and feature requests.
GNU General Public License v3.0
41 stars 16 forks source link

[Feat]: Pin or star a section to always show it on top #527

Open shyamvalsan opened 2 years ago

shyamvalsan commented 2 years ago

Problem

I am primarily using Netdata to monitor metrics from a particular collector, let's call it X.

Problem is that if I have enough metrics being collected and collectors enabled, I have to scroll down to even see the section I am interested in the TOC.

Out of sight is out of mind - and I don't want to have to extra "scroll" and "click" to see the stuff I consider most important while all of the other generic stuff Netdata collects is always on the screen (TOC) whether I want them there or not.

Description

Allow users to pin or star a section in the TOC so it shows up on top and is easily accessible

NOTE: for our demo space (https://app.netdata.cloud/spaces/netdata-demo) we need to have a predefined definition for the favourites, since we want specific section to be shown on top

Importance

really want

Value proposition

  1. Allow Netdata to be used for specific use-cases rather than just as a general monitoring tool

Proposed implementation

For example, if I cared most about Postgres monitoring I would be able to click and star Postgres so it showed up on top for me.

image

Debatable if we should show starred sections above "System Overview" or after it.

For now this is FE only dependency, use browser's local storage and the settings are to be stored for the user at Space / War Room level.

sashwathn commented 2 years ago

This was also discussed with @hugovalente-pm @ralphm @amalkov and @ktsaou. And we definitely need a way to either pin a section of interest to the top of the TOC or have an option to open it in a dedicated tab.

@christophidesp : Do you have any thoughts on this?

hugovalente-pm commented 2 years ago

just for cross-referencing, this had been previously discussed as Custom ordering on the table of contents netdata/product/issues/2329

this one had been pushed-back because:

being these two yet unknown when they will be tackled, we can bring this for discussion

shyamvalsan commented 2 years ago

Hopefully this one is a quick win.

hugovalente-pm commented 2 years ago

after chatting with @amalkov the approach should be, for now:

updating ticket above

hugovalente-pm commented 2 years ago

@novykh could you take a look at this one to get a sense of the estimate to delivery this?

novykh commented 2 years ago

So what we need is a star functionality:

hugovalente-pm commented 2 years ago

I can give my view, but would be interesting to get also @shyamvalsan 's and @sashwathn 's

Every starred section will be on top. Does it mean above the gauges (system overview)?

Would probably put on top of System Overview gauges, if user wanted those to be on top he could pin the System Overview section (this would mean bringing also the charts under that)

What's the order of the starred sections (the default priority of the charts?)

At a start would probably have the pinning sequence, I pin one chart and then another first one pinned is on top. Later user could probably re-arrange them with drag&drop

Starred sections will be working only for user on the same browser (since we will use localstorage for persistence)

Correct

What's happening when user stars postgres in overview? Is it starred on single node as well? Is it starred on overview pages of other rooms and spaces for this user?

If not too much effort added, would consider pin definitions for Overview different from Single Node views, since different Nodes can have different sets of charts/sections

Is this something we need for sections only or also for subsections?

For now would say just Sections

shyamvalsan commented 2 years ago

So what we need is a star functionality:

  • Every starred section will be on top. Does it mean above the gauges (system overview)?

Good question. Personally I think the user should be able to see this above system overview if they so wish - the sections will eventually have their own summary dashboard (including gauges etc.) so it shouldn't look too dissimilar. That being said, I am OK if we can show starred sections underneath System Overview.

  • What's the order of the starred sections (the default priority of the charts?)

Did not consider priority ordering, expectation is that user will have some but not too many starred sections. Wonder if we should initially have some sort of limit (5?) for starred sections. But for now maybe persist existing ordering of pinning. Eventually drag drop would be great.

  • Starred sections will be working only for user on the same browser (since we will use localstorage for persistence)

For now, yes.

  • What's happening when user stars postgres in overview? Is it starred on single node as well? Is it starred on overview pages of other rooms and spaces for this user?

I would limit it to Overview page for now. But should work across the space imo. And limit the ability to star to admins.

  • Is this something we need for sections only or also for subsections?

Only sections.

novykh commented 2 years ago

I would limit it to Overview page for now. But should work across the space imo. And limit the ability to star to admins.

@shyamvalsan why is this? Since it's a user setting and viewed/starred only by the same user is it really necessary to limit the functionality to admins only?

shyamvalsan commented 2 years ago

Hmm, I think you are right @novykh That brings up the other question that this will need to be done by each user individually and can't be done via a space wide setting by admin.

So options are:

If they have use-case specific rooms then per room might make sense. For example we have a Postgres specific room in the test space where Ilya is adding metrics at the moment.

Thoughts @hugovalente-pm @sashwathn @cakrit ?

hugovalente-pm commented 2 years ago

I had shared this previously https://github.com/netdata/netdata-cloud/issues/527#issuecomment-1200988458 to not overcomplicate, so having this User specific, available to all users: per room

for scenarios were there are use-case specific rooms and we want to have a custom default display on it I think we would need to go a different way, probably once we get back to the https://github.com/netdata/product/issues/2555 and users can define what will be their and/or the Room specific home screen

sashwathn commented 2 years ago

@novykh / @shyamvalsan : Comments from me below:

  • Every starred section will be on top. Does it mean above the gauges (system overview)?

This is subjective but in my opinion if the user has starred a section specifically, it is the "most important" stuff and can show up above the System Overview section.

  • What's the order of the starred sections (the default priority of the charts?)

I think the order of the starred sections could be kept simple and in the order in which they are starred and we need not order them as per our default priorities.

  • Starred sections will be working only for user on the same browser (since we will use localstorage for persistence)

Yes, indeed this is an interim solution and is a good start.

  • What's happening when user stars postgres in overview? Is it starred on single node as well? Is it starred on overview pages of other rooms and spaces for this user?

In my opinion, the ordering is only valid for the specific room where the user has starred this section. To keep this feature as simple and light as possible we can limit its applicability to the "Overview" section only.

  • Is this something we need for sections only or also for subsections?

This option is only needed for sections. We need not touch the ordering of sub-sections within each section or pin individual subsections to the top of the TOC.

  • I had shared this previously #527 (comment) to not overcomplicate, so having this User specific, available to all users: per room

I agree with @hugovalente-pm and this option should be available for all users and is a user specific setting per room.

shyamvalsan commented 2 years ago

@novykh are there any more questions or concerns regarding scope for this one? do you think this is something we could target in this short term?

christophidesp commented 2 years ago

Sharing a video prototype showing the interactions for marking a section as favourite

https://user-images.githubusercontent.com/96468003/189076775-767ce715-d22e-49fa-842e-90eb594be783.mov

hugovalente-pm commented 2 years ago

as discussed with @sashwathn @shyamvalsan and @novykh this work as a special scenario that needs to be handled in a different way, for our demo space (https://app.netdata.cloud/spaces/netdata-demo) we need to have a predefined definition for the favourites, since we want specific section to be shown on top

for example:

will add this to the ticket

for future iterations we will need to move the storing of these settings/configs from the browser local storage a BE Space/Room/User settings @netdata/cloud-be will open a ticket to start discussing this

hugovalente-pm commented 2 years ago

an update, an initial iteration of this has been delivered but only for the demo environments.

this ticket will go back to ideation since it was agreed to have the actual release of this when we have storage of the favourites on the BE. the main questions around this are:

I personally think the favourites should be specific to the user but it would be nice to have "suggested" favourites defined for a Space/Room, this last bit would be a "nice to have" from my perspective

any thoughts @amalkov @novykh @papazach @ralphm @sashwathn @shyamvalsan?

sashwathn commented 2 years ago

@hugovalente-pm From my perspective the favourites should always be a user specific customisation and may be we can have an additional capability for an admin user to set default favourites for all users - alterable by the users.

Suggestions on favourites per room / space can be a tricky thing especially since we do not have the services concept - but may be worth evaluating.

amalkov commented 2 years ago

I agree, in general, user specific only. War room level only for use cases scenario

shyamvalsan commented 2 years ago

Admins should be able to set favorites at room and/or space level imo.

Also, how will we make users aware about this functionality once it exists. Expecting them to discover it on their own may not be the best strategy. Is there a gainsight engagement we could pair this with?

p.s: along the lines of what @hugovalente-pm was suggesting with "suggestions" it might be useful if on enabling a new collector the user is "asked" if they want to favorite it on TOC. But not something we need to worry atm.

shyamvalsan commented 1 year ago

@hugovalente-pm @novykh what was the pending work to get this released to users?

hugovalente-pm commented 1 year ago

@shyamvalsan the pending work is the Cloud BE "storage" that needs to be made available so the FE can store this per Space / War Room / User level, I believe there was a recent discussion about this on slack

christophidesp commented 5 months ago

Sharing an updated design for this one to be aligned with the new ToC https://www.figma.com/design/Du1UtbkU1uMRwEozaYq7b6/Favourite-Section?node-id=0-1&t=JWZxcv8YbptjCso1-1

https://github.com/netdata/netdata-cloud/assets/96468003/f7c628d3-cbbb-4a54-be5c-1df884266059

kapantzak commented 3 weeks ago

@shyamvalsan have we decided the way that we want to store the information?

I guess we save per user/room. If we want to allow admins (or anyone else) to save per space, we need to show this option to the UI somehow.

shyamvalsan commented 3 weeks ago

@kapantzak I think per user/room is good enough to start with but ideally we make it just like the chart settings

image

kapantzak commented 3 weeks ago

Cool, let's do it like chart settings from the beginning