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

feat(15311): Add metrics charting to the links in the worspace #215

Merged
merged 40 commits into from
Dec 5, 2023

Conversation

vanch3d
Copy link
Contributor

@vanch3d vanch3d commented Nov 28, 2023

See https://hivemq.kanbanize.com/ctrl_board/57/cards/15311/details/

This PR is the first step of an initiative to add basic observability to the Edge web application. It extends the existing Metrics visualisation by adding two sets of features:

  • an extended list of configurable visual charts for the existing metrics
  • the operationalisation of the "connectors" in the Workspace to provide context for the selection and visualisation of the metrics

Charts are reusing the existing pattern designed for the basic metric Stat, i.e. the selection of one of the available metrics for visualisation. This time, the users are allowed to choose one of the available chart types for visualisation. For this PR, we are adding support for Line Chart and Bar Chart visualisation.

While metrics Stat was available in the side panel opened by clicking on one of the "nodes" (adapter or bridge), this PR exploits the connector between the nodes and the edge by reifying that connection and providing a full "observability" panel designated to the flow of data going through it. It allows us to provide a strong context to the available metrics (only those related to the nodes connected by the connectors) but also interesting extensibility with dynamic grouping of nodes.

The expected UX is as follows:

  • users click on the "observability" button on a connector
  • the side panel opens, with the default metric(s) already configured
  • By clicking on the "configuration" option, users have access to a dual selector.
  • First users select, among a defined list of options, the metric to display
  • Then, the users select one of the visualisation charts for rendering
  • By clicking on the "add to panel", the metric is now visualised on the panel
  • Multiple charts can be added but without a repeat of an already configured metric
  • existing metrics/charts can be removed from the panel or resized across one or two columns. They cannot be re-ordered
  • the metric name used in a chart can be copied to the clipboard

Out-of-scope

Before

screenshot-localhost_3000-2023 11 28-19_08_31

After

screenshot-localhost_3000-2023 11 28-21_28_23

screenshot-localhost_3000-2023 11 28-19_09_39

screenshot-localhost_3000-2023 11 28-20_20_41

screenshot-localhost_3000-2023 11 28-20_21_45

screenshot-localhost_3000-2023 11 28-20_22_52

@vanch3d vanch3d requested a review from sfrehse November 28, 2023 21:26
@vanch3d vanch3d self-assigned this Nov 28, 2023
@cla-bot cla-bot bot added the cla-signed label Nov 28, 2023
@vanch3d vanch3d marked this pull request as ready for review November 29, 2023 12:18
@vanch3d vanch3d force-pushed the feat/15311/edge-observability branch 2 times, most recently from 6b4ca2e to c6ec4e0 Compare November 30, 2023 20:56
Copy link
Collaborator

@simon622 simon622 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Question - I struggled to initially figure out that graphs were only available by clicking on the icon on the connectors versus the node of the object itself. I was wondering why we have decided to break up the functionality, when it seems like the component could be reusable on the main flyout (since we already have counters, just not the graphs)?

@simon622
Copy link
Collaborator

simon622 commented Dec 5, 2023

The question RE: the different visual approach has been answered, and we have exciting new features coming that require this.

@vanch3d vanch3d force-pushed the feat/15311/edge-observability branch from c2fe1ba to 2ff7cfc Compare December 5, 2023 11:55
@vanch3d vanch3d merged commit e4b6df9 into master Dec 5, 2023
10 checks passed
@vanch3d vanch3d deleted the feat/15311/edge-observability branch December 5, 2023 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants