I’m starting a project where the frontend is in Grafana running in docker, using plugins developed in React that communicate with a backend written in Python with Flask, the thing is that I do not know how to start because I’m looking at the folder containing the entire project and I do not locate me very well.
I’ve thought of starting a small project where I use this to familiarize myself with concepts and how they communicate.
Can anyone help me on how I should start?
Any help would be greatly appreciated. Thank you.
Good starting point is to start with developer documentation:
Thank you very much! I have spent the past week reviewing the documentation and what has helped me the most is this Introduction to Grafana plugin development | Grafana Plugin Tools.
Now I have a question as I need to create a plugin to:
- Run tests in JMeter
- Upload the files needed for the test
- A feedback table of the actions
I want the frontend of the plugin to be in React and communicate with a backend in Python in the same instance. Do I need to create a plugin of type APP? For communication with the backend I need to create another Plugin, or simply being in the same instance would be to communicate via HTTP localhost?
Any help would be greatly appreciated. Thank you
@jcabello It’d be best if you explain further what you want your project to do. What is the problem you want to solve?
How you write and run tests is something you decide in your project. The standard way to write tests in a grafana plugin is using jest for js/ts and standard go tests for go. Anything beyond this is up to you to figure out and setup
I want the frontend of the plugin to be in React and communicate with a backend in Python in the same instance
Best if you describe what you are planning to do. There’s no way anyone can give you a recommendation without knowing the problem you want to solve.
It is also good to keep in mind, the backend of plugins for grafana must be written in go (golang) no other language is supported. You could have a separate service that you could run as the backend for your plugin in python if you want, but if you want it to be an integral part of your plugin, must be in go.
Right, my problem by not communicating it better, sorry.
The problem I want to solve is that the process of running tests in JMeter becomes very complicated to understand for my colleagues since quite a lot of commands are used via console, preparing the necessary files in the corresponding folders, etc. For this reason I decided to implement a plugin in Grafana to speed up the process and make it much easier to carry out the execution of the tests. In addition, I have an AMI where I have Grafana in Docker.
Yes, I will indeed have a separate service with the Python backend running with sistemcmd.
My doubts come about how I could implement this plugin, either from the type of plugin needed to solve this problem to how to communicate with the backend as I imagine it is simply doing it via HTTP, and not creating another plugin.
Thanks so much.
@jcabello I’m a bit confused. Is your project about showing the status of JMeter or to use Grafana as a dashboard to run tests in JMeter? (or both?)
I have continued with the development of the project and I have already created the App plugin using the command npx @grafana/create-plugin@latest.
In addition, I will use Grafana Labs as a library for the development of the interface.