Google Summer of Code (GSoC) 2020 is an international annual program run by Google for college students interested in getting a stipend to contribute to open source projects.
Percona, a leader in open source database software and services, has been a dedicated supporter of the open source community since starting as a business in 2006, and has actively contributed to the community by providing bug fixes for open source projects, engineering open source software for use and redistribution, and hosting the Percona Live Open Source Database Conferences twice a year.
Percona is participating* in the GSoC 2020, and sees it as an excellent opportunity for students to participate in the active and vibrant open source community.
Our GSoC Projects are focussed on improving Percona Monitoring and Management (PMM) , which is an open source platform for managing and monitoring MySQL, PostgresQL & MongoDB performance. It provides thorough time-based analysis for MySQL, PostgresQL & MongoDB servers to ensure that your data works as efficiently as possible.
*Percona has applied to GSoC 2020 program, and is awaiting results for organization selection. This will be announced by Google on Feb. 21, 2020.
If you are a student, you can also post your interests on our Google Group and we will add you to our community chat platform. This allows you to engage further in project discussions and talk to mentors directly on slack.
If you are student and are interested in participating, the following is useful information:
Before applying as a Percona contributor, we suggest you review the points below. It can help you with creating a strong proposal:
- Read about Percona open source software products
- Go through the list of ideas for GSoC 20
- Start contributing to the project and engage within the community.
- Please read about Percona Monitoring and Management here.
- To understand how or what PMM does, please take a look at our Demo
Application Template for Students
If you are planning to send us a proposal, please make sure you have addressed the following elements:
- About you (your background, experience, education, hobbies)
- Project background (current state of what exist)
- Design/description of work
- Benefit of your work to the project users and developers
- Other commitments (i.e., exams, part time work, holidays, lectures, etc.)
- Community engagement (involvement, sample PR's, forum discussions, other open source involvement)
Percona GSoC 2020 Idea’s List
Project I: Refactor PMM Framework
Project Description: We currently use PMM-Framework to setup Percona Monitoring and Management with different Database for our Internal testing and creating our development instances. A major part of this framework needs a lot of refactoring and we need help with that.
- Use our Internal PXC-QA startup script and use it with PMM-framework to setup PXC with PMM, to understand better, just read this blog
- Use our Internal PSMDB-QA startup script and use it with PMM-framework to setup MongoDB with PMM
- Add support for Load testing with Sysbench or some other tool on similar lines.
- Refactor the Framework and distribute different implementation in different shell scripts, and increase logging to improve debugging.
- Add support for setting up Different versions of DB’s.
Knowledge Prerequisite: Shell Scripting, Dockers, Linux, Jenkins-Pipeline
Possible Mentors: Nailya Kutlubaeva, Puneet Kala
Project II: Preparing Prometheus alerting rules files
Project Description: ITo work on this project, it is required to go through the technologies involved, so please read about Grafana and Prometheus, understand the need for alerting and how it works here.
Create alerting rules files for possible elements in Grafana Dashboards Alerting rules allow to define alert conditions based on Prometheus expression language expressions and to send notifications about firing alerts to an external service.
- To check whether a rule file is syntactically correct, install and run Prometheus's promtool command-line utility tool .
- Find out elements on each dashboard that could be used for an alerting purpose and prepare rules files for dashboards.
Knowledge Prerequisite: Grafana, Prometheus, PromQL
Possible Mentors:Vadim Yalovets, Roma Novikov
Project III: Query Analytics for ProxySQL
Project Description: Add ProxySQL as an additional source of Query metrics in PMM
- Add collecting data from ProxySQL as Data source.
- Integrate it into Query Analytics in PMM.
- Add Views in UI to present data
Knowledge Prerequisite: Golang, ProxySQL, Clickhouse
Possible Mentors: Andrii Skomorokhov, Roma Novikov