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 1 year ago

shyamvalsan commented 1 year 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 1 year 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 1 year 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 1 year ago

Hopefully this one is a quick win.

hugovalente-pm commented 1 year ago

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

updating ticket above

hugovalente-pm commented 1 year ago

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

novykh commented 1 year ago

So what we need is a star functionality:

hugovalente-pm commented 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year ago

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

shyamvalsan commented 1 year 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 3 weeks 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