The openSUSE build service could build hundreds of packages in parallel but in practice serial package dependencies prevent that. So packages have to be built one after another which takes a rather long time and slows down development.

The diststats tools can simulate and visualize distribution rebuilds

It's also integrated in OBS, see for example Leap 15.0

In this graph one can see the time on the X axis and the number of packages on the Y axis. The three shades of blue indicate the package status. The brightest blue are packages building at the given point in time. The medium blue is packages that are ready to build but can't due to no free worker. The dark blue ones are packages that wait for depenencies to build. Ideally the graph should have a light blue line on the bottom that is exactly as high as the amount of workers available. Ie all workers busy all the time. In practice one can see that workers are not working fully to capacity. There are not enough parallel buildable packages due to dependencies.

The goal of this hack week project is to identify and fix bottlenecks in the build dependency graph. You can use the 'mkdiststats' and 'analyze' tools or by write your own tools that analyze the graph. Check the mkdiststats tool to find out how to get the information from obs.

Packages that have been identified as bottlenecks need to be analyzed and solution discussed and implemented. In case of Mesa, e.g. splitting out a Mesa-mini could be an option.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 16

Activity

  • about 7 years ago: dsterba liked this project.
  • about 7 years ago: gmoro started this project.
  • about 7 years ago: wanghaisu liked this project.
  • about 7 years ago: elvigia liked this project.
  • about 7 years ago: jordimassaguerpla liked this project.
  • about 7 years ago: mkubecek liked this project.
  • almost 8 years ago: michal-m liked this project.
  • almost 8 years ago: mlin7442 liked this project.
  • almost 8 years ago: alarrosa liked this project.
  • almost 8 years ago: mvidner liked this project.
  • almost 8 years ago: sleep_walker liked this project.
  • over 8 years ago: locilka liked this project.
  • over 8 years ago: fcrozat liked this project.
  • over 8 years ago: a_faerber liked this project.
  • over 8 years ago: lnussel originated this project.

  • Comments

    • mvidner
      almost 8 years ago by mvidner | Reply

      Not knowing about this, we made another tool, to analyze the rebuild graph for YaST and wrote about it in Reducing YaST rebuild time by 30%.

    Similar Projects

    This project is one of its kind!