-
Notifications
You must be signed in to change notification settings - Fork 45
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
[UI] Compare Node Metrics with Average #2925
Comments
Actually, I am thinking about 3 distinct use cases where this feature could help:
|
Could be useful to compare with the average (and maybe percentiles), not just any node(s) / all of them.
Again, comparing with aggregate values could be both easier for a user to read, and for a developer to handle. |
Yes, I think it is a very good idea @gdemonet (especially for use case 1). |
Very good point!! @gdemonet So I guess we should limit the number of nodes/volumes the user can select @thomasdanan? |
This "use case 3" is specific > the user doesn't have to start from a specific node, but want to identify the outliers from the full total. As for the moment, the logic is still to start from a selected node, what we can do is to have 4 ways of displaying the values
I don't know how to define the top 5 / bottom 5 > for example, to take the nodes with the current "top latency" values, or to take the one with the "top latency" values over the period? |
Thanks @Cuervino for the fast proposal 👌 I agree that the four proposed scenarios are likely covering most, if not all, our use cases.
|
Yes. I would agree with @gdemonet, with so many choices this metrics tab will become extremely crowded. Maybe we should build the top 3/5/10 in the Grafana dashboard or overview page. At the same time, I am not sure to have a "fake" node appearing in the list. Where this node should locate when we add sorting or filtering? I am thinking more to have an average/base line displayed in the graph when we active the multi-node comparison mode. |
Before starting the implementation, I would like to summary a few details, so we can finalize the design. 1. The URL when the multi-node comparsion mode is enabled:
2. The query I should use to get the average metrics of all the nodes?
Let's take CPU Usage as an example: For a specific node:
Cluster-wide query from Grafana:CPU Usage
3. Need to figure out how to dynamically add the line(s) in the chart4. Need to have at least 6 colors (including variant color) ready for the line chart. |
I'm not sure how pertinent would it be to enable node to node comparison. Also the purposed screen design attached let me feel that all the tabs should contain aggregated values corresponding to the selected nodes in the table, which is not what we want to represent as the selection should only impact the metrics tab. The use cases that I would see is comparing each single node with the average of others as Guillaume purposed to enable detection of nodes deviating from classical metrics level. Additionally we might want to offer the possibility to compare average of metrics by groups of nodes based on their labels (for eg in multisite deployment or segregated network zones we will probably have nodes labelled with those availability information) so it might be interesting to see how the charge is spreaded across those different areas. |
@ChengYanJin @gdemonet @Cuervino @JBWatenbergScality |
@Cuervino TBH, I find the dotted lines to be almost invisible (maybe I'm blind 😅). Is there any way we can increase contrast so it's easier to spot? |
Updated charts legend labels and tooltip labels to include node name and fix typos to fit the design Refs: #2925
This version enables strokeDash property on LineChart Refs: #2925
Slightly decrease height because adding the legend made the charts overlow Refs: #2925
.1f formatting in tooltips, slightly smaller font in Legends Refs: #2925
Change e.target to e.currentTarget to match React synthetic events Refs: #2925
In case showAvg is true we request the metrics average for the whole cluster aside from the regular metrics in monitoring duck Refs: #2925
Switch to enable/disable cluster avg metrics (data lives in URL) Display cluster avg as a dashed line in node metrics charts Refs: #2925
Slightly adapt charts titles and charts dimensions to fit the new design Refs: #2925
In order to make node cluster avg display work Refs: #2925
In case showAvg is true we request the metrics average for the whole cluster aside from the regular metrics in monitoring duck Refs: #2925
Switch to enable/disable cluster avg metrics (data lives in URL) Display cluster avg as a dashed line in node metrics charts Refs: #2925
Slightly adapt charts titles and charts dimensions to fit the new design Refs: #2925
In order to make node cluster avg display work Refs: #2925
In case showAvg is true we request the metrics average for the whole cluster aside from the regular metrics in monitoring duck Refs: #2925
Switch to enable/disable cluster avg metrics (data lives in URL) Display cluster avg as a dashed line in node metrics charts Refs: #2925
Slightly adapt charts titles and charts dimensions to fit the new design Refs: #2925
In order to make node cluster avg display work Refs: #2925
Component: ui, nodes
Why this is needed:
We want to provide the System Admin a way to compare the select node with the average metric value.
What should be done:
The design:
toggle OFF
toggle ON
toggle ON with hover popup
Implementation proposal (strongly recommended):
Please consider using avg (calculate the average over dimensions) to get the average value of the nodes instead of implementing JS Code.
tooltip
totrue
inLineChart
in order to enable the tooltip in the charts.Test plan:
TBD
The text was updated successfully, but these errors were encountered: