GSoc/2023/StatusReports/KaranjotSingh

From KDE Community Wiki
Revision as of 18:39, 18 August 2023 by Drquark1 (talk | contribs) (Week 5 and Week 6)

MEASURING ENERGY CONSUMPTION USING REMOTE LAB

The Remote Eco Lab project aims to provide a streamlined process for measuring software energy consumption remotely using a CI/CD pipeline. By automating the measurement process and integrating with the OSCAR tool, developers can make informed decisions to improve code efficiency and work towards software eco-certification

Mentor

Volker Krause

Benson muite

Nicolas Fella

Merge Request

The official repo of the project is : https://invent.kde.org/teams/eco/remote-eco-lab

As this project required a lot of CI Testing / CI changes, so most of the work is done on this test repo : https://invent.kde.org/drquark/kecolabtestci

Most the changes related to testing on the CI are mentioned in : https://invent.kde.org/drquark/kecolabtestci/-/merge_requests/9

To download the latest artifacts and final report : https://invent.kde.org/drquark/kecolabtestci/-/pipelines/457169

Blog Posts

Google Summer of Code : KEcolab

Timeline

Week 1 and Week 2

During the community bonding period, we set up a communication channel (https://matrix.to/#/#kde-eco-dev:kde.org) to foster open collaboration and maintain a public record of discussions. This also helped for other people to get involved in the project. Also we set up a regular internal meetups (ie on Thursdays every week) and discussed about the project to the community in the monthly meetup. During the week 1 and week 2, with the help of mentors we were able to set up the infrastructure involving setting up ssh keys, rasberry pi1, lab test PC etc. I worked upon configuring the X server on the lab test PC to run the gui application. In this week, I started working on the installing flatpak stage of the CI Pipeline as well. I also wrote a blog post to show my project to the larger community of KDE and helping them to get involved as well.

Week 3 and Week 4

I completed working on the installing flatpak stage. During these two weeks, I started working upon the energy measurement stage of the CI Pipeline. I got myself encountered with some errors related to copying files (scp) from the repository to the lab test PC, setting up environment variables. These were solved with the help of mentors and the solution was mainly straight forwarded and related to resolving all the commands in a single session. Coming to the end of the week 4 i was able to run and complete the energy measurement stage. We were able to generate the artifacts as well that involved power meter readings and hardware readings which are further passed to the next stage for analysing and generating a report.

Week 5 and Week 6

I started working on the last stage of the measurement pipeline i.e the result stage. It required me to learn R language so during my 5th week, i learned about using R and then worked upon writing preprocessing scripts for the OSCAR tool (Open source Software Consumption Analysis in R developed by Umwelt-Campus Birkenfeld students). OSCAR is very challenging tool to work with when it comes to formatting so to fix the formatting issue, it was necessary to preprocess the scripts before providing it to OSCAR. In the Preprocessing script, I mainly worked upon taking arguments from the user on the script and also converting from epoch time and formatting the date and time for OSCAR. Also I tried installing OSCAR and R on our Rasberry PI but as the process requires a lot of resources so it wasn't suitable so after discussing this with the mentors i settled of using the gitlab ci pipeline for installing and running OSCAR.