Canonical представляє утиліту etrace, багатоцільовий інструмент профілювання додатків

Канонічний

Canonical представив etrace, утиліта призначений для відстеження активності під час виконання програми. Програма нагадує утиліти strace і ltrace, а також використовує ptrace під час виконання.

Мета etrace основний здійснює налагодження та аналіз запущених програм from snap Утиліта дозволяє швидко оцінити, які програми та файли використовуються під час запуску пакета оснащення.

Надано дві команди, "exec" і "file", для отримання інформації про те, як отримати доступ до файлів та запустити інші процеси. У першому випадку відстежується робота системних викликів, пов’язаних з файлами, а в другому перехоплюється сімейство виконавчих системних викликів.

Etrace - це загальний додаток для відстеження, корисний для трьох широких цілей вимірювання та налагодження:

  • Скільки часу потрібно програмі для відображення вікна (графічного / інтерфейсу користувача) на екрані.
  • Послідовність завдань, створених і виконаних основною програмою за час її виконання. Список файлів, доступ до яких здійснюється під час виконання програми.

Ці показники можна використовувати для налагодження потенційних проблем швидко і швидко зрозуміти, що пакет намагається миттєво зафіксувати або знайти вузькі місця у роботі.

Звичайно, також працює з власними пакунками Linux або будь-якою виконуваною програмою, хоч і з трохи зменшеною функціональністю (не перевстановлює власний пакет, наприклад), але ви все одно можете сканувати програму та вимірювати, скільки часу потрібно для відображення вікна.

Утиліта також може бути використана для виявлення вузьких місць продуктивність графічних додатків на базі X11 і показує, скільки часу потрібно для ініціалізації програми перед початком візуалізації вікна.

Крім того, доступні конкретні параметри прив'язки "–перевстановити-прив’язати" та „–очистити-прив’язати-користувацькі дані”, що дозволяє перевстановити пакет прив’язки, щоб виконати вимірювання без кешу або видалити дані користувача, пов’язані з пакетом, перед тим, як запуску.

Основне використання

Etrace доступний у вигляді пакета оснащення, тому спочатку його слід встановити. Оскільки etrace використовується для запуску довільних програм, включаючи інші пакети оснащення та навіть традиційні пакети Linux, для цього потрібні загальносистемні дозволи за допомогою класичного блокування, яке можна прийняти, використовуючи прапорець –classic під час виконання наступної команди.

Щоб встановити etrace:

snap install etrace --candidate --classic

Перший випадок використання etrace полягає у вимірюванні того, скільки часу потрібно графічному додатку для відображення вікна на екрані.

Почнемо з простого плагіна, gnome-калькулятор, і прокрутіть його 10 разів, щоб побачити, скільки часу триває це виконання. Зверніть увагу, що вам потрібно встановити gnome-calculator - встановіть gnome-calculator. Тут ми використовуємо опцію –no-trace, оскільки ми не хочемо повний стек трасування, ми просто хочемо etrace, щоб виміряти, скільки часу потрібно для запуску; ми розглянемо всі можливості відстеження пізніше.

etrace --repeat = 10 exec --use-snap-run --no-trace gnome-calculator --cmd-stderr = /dev/null
Total startup time: 1.531152957s
Total startup time: 513.948576ms
Total startup time: 512.980061ms
Total startup time: 515.576753ms
Total startup time: 508.354472ms
Total startup time: 515.734329ms
Total startup time: 508.414271ms
Total startup time: 514.258788ms
Total startup time: 508.407346ms
Total startup time: 511.950964ms

Крім того, Canonical оголосила про впровадження швидкої підтримки для алгоритм стиснення ЛЗО. Алгоритм LZO фокусується на досягненні максимальної швидкості декомпресії за рахунок збільшення розміру отриманого файлу. При тестуванні пакету за допомогою Chromium використання LZO замість алгоритму XZ за замовчуванням дозволяє пришвидшити випуск пакета оснащення у 2-3 рази за рахунок скорочення часу, необхідного для декомпресії образу SquashFS.

Зокрема, перший запуск Chromium, встановлений із звичайного пакета deb, займає близько 1,7 секунди.

Перше звільнення від оснащення при використанні XZ займає 8.1 секунди, а при використанні LZO - 3.1 секунди. Під час перезавантаження з кешованими даними час запуску становить 0,6, 0,7 та 0,6 секунди. відповідно.

Розмір пакета оснащення збільшився зі 150 МБ до 250 МБ за допомогою LZO.