Details
| Title | Perfly - портативная статическая сборка perf и ее интеграция в контейнерную среду: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта» = Perfly – portable static build and its integration into container environment |
|---|---|
| Creators | Панкова Полина Алексеевна |
| Scientific adviser | Молодяков Сергей Александрович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | perf ; профилирование ; статическая сборка ; Linux ; Cmake ; статическая компоновка ; контейнер ; profiling ; static build ; static linking ; container |
| Document type | Master graduation qualification work |
| Language | Russian |
| Level of education | Master |
| Speciality code (FGOS) | 09.04.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-4888 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\45061 |
| Record create date | 9/4/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
| Group | Anonymous |
|---|---|
| Network | Internet |
Объектом исследования является процесс сборки инструмента анализа производительности perf из состава ядра Linux. Цель работы – разработать систему сборки, обеспечивающую получение статически скомпонованного, переносимого между различными версиями ядра и дистрибутивами исполняемого файла perf. В ходе работы из исходного кода ядра Linux версии 6.18 выделено подмножество каталогов (tools/perf, tools/lib, tools/include, tools/arch), необходимое для автономной сборки. Сформировано фиксированное сборочное окружение на базе контейнера openSUSE Leap 15.2, описанное средствами Dockerfile. Внешние зависимости (binutils, elfutils, libunwind, libtraceevent, libpfm4, opencsd и другие) собраны из исходных текстов в статическом виде сценарием deps.sh. Штатная система сборки на основе GNU Make переработана в систему на основе CMake с использованием механизма пресетов, что позволило получить статическую (perfly) конфигурацию. Результатом является воспроизводимый процесс сборки и переносимый бинарный файл, пригодный для применения на целевых системах с устаревшими версиями ядра.
The subject of the research is the build process of the perf performance analysis tool shipped within the Linux kernel. The aim of the work is to develop a build system that produces a statically linked perf executable portable across different kernel versions and Linux distributions. During the work, a subset of directories (tools/perf, tools/lib, tools/include, tools/arch) required for a standalone build was extracted from the Linux kernel source tree version 6.18. A fixed build environment based on an openSUSE Leap 15.2 container was created and described by means of a Dockerfile. External dependencies (binutils, elfutils, libunwind, libtraceevent, libpfm4, opencsd and others) were built from source as static libraries by the deps.sh script. The original GNU Make based build system was reworked into a CMake based one using the presets mechanism, which made it possible to obtain a static (perfly) configuration. The result is a reproducible build process and a portable binary suitable for use on target systems with outdated kernel versions.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|