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

Graphical view of ERSAP/RTDP configuration #13

Open
faustus123 opened this issue Oct 25, 2023 · 7 comments
Open

Graphical view of ERSAP/RTDP configuration #13

faustus123 opened this issue Oct 25, 2023 · 7 comments
Assignees

Comments

@faustus123
Copy link
Contributor

faustus123 commented Oct 25, 2023

We need a way to visualize an RTDP configuration. This should include visualizations of relevant telemetry from the individual components that updates as the platform runs the simulation/workflow. For example, if an FPGA component is in the configuration, values for data in/out rates, utilization, etc..

A web interface might be nice, but a native linux app that can be run in a container with GUI support would work (e.g. X11).

@gurjyan
Copy link
Collaborator

gurjyan commented Oct 28, 2023

Several packages were evaluated for the purpose of composing ERSAP applications, specifically focusing on a dataflow graphical editor and visualization tools. These options ranged from CODA JCEdit to BPMN (business process modeling notation) editors. My investigation led me to examine the open-source COMUNDA framework.

@faustus123
Copy link
Contributor Author

I found a Camunda framework (https://camunda.com/) that looks related. The open source part on github is here: https://github.com/camunda .

This looks like a lot more than just a visualization tool. I think you're right that this warrants a deeper look to see how much of it we can leverage.

@cissieAB
Copy link
Collaborator

cissieAB commented Nov 3, 2023

Interactive framework:

Visualization

Chart type: Sankey, DAG, or more flexible?

@gurjyan
Copy link
Collaborator

gurjyan commented Nov 3, 2023

Graphviz aligns more closely with our needs, particularly as a tool for visualizing workflows. Additionally, please explore the following: https://decisions.com/no-code-platform
It is crucial to obtain an XML or an alternative programmatic depiction of the workflow's directed graph, which can then be transformed into ERSAP YAML or CODA COOL format.

@cissieAB
Copy link
Collaborator

cissieAB commented Dec 18, 2023

Advised by ChatGPT, I utilized the [dash_cytoscape](https://dash.plotly.com/cytoscape) library to implement the above PRs.

More feutures needs to be implemented:
- [ ] Configurable edge width based on some backend data.
- [ ] "Real-time" Prometheus metrics display on the frontend UI.

dash_cytoscape is going to be taken over by the Grafana.

@cissieAB
Copy link
Collaborator

cissieAB commented Jan 8, 2024

Grafana "node-graph" visualization:

@cissieAB
Copy link
Collaborator

cissieAB commented Jan 22, 2024

image

@faustus123 @gurjyan
I found the nodegraph-api-plugin and was able to got a first-step demo based on the HelloWorld configuration. Use a Python code to start a Flask backend at localhost:5000 and generate some data in JSON. After installing the Grafana plugin, tell Grafana to use the data source from localhost:5000, it will displaythe above visualization. "thickness" is a field of the "edges". I set one of them "5" and the other "1", so they look a little different.

Commit is at: b32a5f5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants