Google Summer of Code Updates from Week #3

Week 3 of GSoC finished, and some nice work has been done so far. The contributors keep working after classes, and we are conducting mentorship. The hard part of mentorship is to actually teach to do things in a certain way and not to provide all the answers.

Updates from Sebastian, our GSoC admin and mentor

From our side, the project related to GSoC also moved forward quite a bit, with some large modifications. Luckily this does not greatly affect the contributors since they are still designing and not in heavy implementation yet. 

Updates from Daniel, our Slips Performance Contributor

The CPUProfiler class started to look a little messy as I was adding if-else blocks to check for the live/dev modes and choosing execution flow accordingly. To clean up the code a little bit, I defined an abstract interface called ProfilerInterface and created subclasses called DevProfiler and LiveProfiler that inherit the interface. The main CPUProfiler class also inherits the interface but also has an internal variable called self.profiler which is an object of DevProfiler or LiveProfiler depending on the slips.conf settings. Calling the self.profiler methods in the CPUProfiler function calls makes the code much simpler and easier to modify in the future.

In order to get multiprocess profiling to work, I went to fix a bunch of zombie process errors, mainly a result from old initialization code using outdated subprocess invocations or libraries. After fixing them so there would no longer be a \<defunct\> error next to the process name, viztracer still wasn't terminating. After ~20 hours of working on this, I realized that viztracer was too slow for proper multiprocess profiling on the scale of Slips. To get multiprocess to work, I would have to either write a new profiler or make slips run faster with less nested calls, which would pretty much defeat the point of the profiler in the first place. I think I will have to make do with only being able to see the main process profile for now.

Updates from Shubhangi, our Slips Web UI Contributor

I designed the 2nd navbar on Figma and side by side implemented it on code. I didn't install any other library and used the pre-installed bootstrap. I've now been working on making the sidebar more responsive. I've figured out the way I can achieve this and now I'm implementing it and plan on opening a PR for the same. I tried to solve the bugs I was assigned, but couldn't replicate the errors. 

I'll focus on creating further tasks revolving around the general profile/ the sidebar and solving bugs side by side. The overall design is focussed on extracting colors from the stratosphere logo and using them.

Read more about Shubhangi’s work on Slips Web UI.

Before you go…

Slips has grown quite a lot in the last few years. See all the latest features in the last demo presented at BlackHat Asia 2023 Arsenal.