Bench-routes | production grade monitoring, benchmarks and alerting

MentorHarkishen Singh (Harkishen-Singh)
Project Websitehttps://bench-routes.netlify.com/
Project Repositoryhttps://github.com/zairza-cetb/bench-routes
Suitable for Beginners?yes
TagsGolang React Monitoring Benchmarking Web-Sockets Scalability ChartJS
Stateaccepted
Applications (1st Choice)4 (4 submitted | 0 in-progress)
Applications (2nd Choice)3 (1 submitted | 2 in-progress)
Code of Conducthttps://github.com/zairza-cetb/bench-routes/blob/master/CODE_OF_CONDUCT.md
LicenseBSD 3-Clause License

Project Description

Bench-routes is a GUI-powered highly scalable monitoring and performance testing industry-grade application that monitors the performance of the routes in any web/routing - application and the deployed virtual-machine instance. Bench-routes would perform a series of networking algorithms and calculations involved to find the real-time state of routes in an application and saving the result in a time-series database. It monitors the routes at regular intervals and analyzes the response and the time involved in the same. The moment, the delta in response rises above a threshold limit, an alert would be sent to the admin of the respective manager. The entire result of the metrics can be visualised in the form of continuous charts from which necessary conclusions can be drawn.

Join the discussion on gitter

Contact Information of maintainers

Aquib Baig - aquibbaig97@gmail.com (react-ui, monitoring, querier, website and docs, tsdb)
Ganesh Patro - ganeshpatro321@gmail.com (react-ui, querier, API, benchmarks, testing)
Ankit Jena - ankitjena13@gmail.com (API, benchmarks, testing)
Harkishen Singh - harkishensingh@hotmail.com (admin)

Project's Requirements

The only requirement is to have an interest in developing core and scalable applications and basic knowledge of Golang and React.

Tasks And Features

Following are the set of tasks that need attention:

  1. Currently, we have metrics for process collection (process-metrics) and system information (system-metrics). There can be more metrics related to deployment and monitoring the performance of the host system (running the bench-routes) or the target system for which the scraping is done. This will need some research related to which metrics are important for any web-server and will help monitor important aspects of a system and visualise the same on the existing graphs.

  2. Designing a reliable benchmarking algorithm related to the performance aspect of the virtual machines or routes of a web application.

  3. Enhancing the UI of bench-routes-web (website), updating the latest features present in the application on the website.

  4. Preparing reliable documentation on the website of the features possessed by bench-routes for the users. Students can take help of the mentors by enquiring on the Gitter channel.

  5. Making the UI consistent with the dashboard and improving the UX. Example: The multi-graphs in flood-ping involve 2 graphs one below the other. This can be improved by using tabs.

  6. Querier support for returning time-series that fall in the specified time range.

  7. Dashboard v1.1 using react. Dashboard v1.0 will serve as the base.

  8. Writing unit-test cases for golang, react and end-to-end tests for dashboard UI using selenium and mocha.

  9. Build APIs and link with the frontend. Refer https://github.com/zairza-cetb/bench-routes/issues/183 for related information.

  10. Support for POST, DELETE, PUT, HEAD operations in monitoring component of BR.

  11. Support for Cirrus CI. For extra carefulness, we want to have Cirrus CI as a CI platform other than Travis.

Apart from these, students can get involved in the project by opening issues, reporting bugs or by creating pull-requests for contributing the codebase. They can also propose new ideas related to the field (other than the ones mentioned) and collaborate with the mentors.

Contributions can be done to the service (project backend) using Golang and React UI.

The project idea write-up can be found here (link)


If you are thinking of applying to this project for RGSoC 2020 and have any questions, feel free to contact the project mentor by leaving a comment below or using the following channels:

Comments

You must be logged in to comment on this project.


tea-n-biccies RGSoC, Friday, March 20, 13:42 UTC

Dear RGSoC applicants - we have added a new FAQ page to the website. Please check this out before asking mentors your questions, as we may already have an answer for you :)
https://railsgirlssummerofcode.org/students/faq

Further details of how to apply to RGSoC (by 23:00 UTC on 30 March 2020) can be found at https://railsgirlssummerofcode.org/students