Обзор Бенчмаркинга
Большинство результатов бенчмаркинга носит временный характер. Они исчезают, как только ваш терминал достигает своего предела прокрутки. Некоторые системы бенчмаркинга позволяют кэшировать результаты, но в большинстве случаев это происходит только локально. Bencher позволяет вам отслеживать результаты своих тестов как в локальном, так и в CI режимах и сравнивать их с историческими данными.
Самым простым способом отслеживания результатов тестов является подкоманда командной строки bencher run
.
Она обрабатывает результаты существующего вывода системы бенчмаркинга и генерирует отчет.
Этот отчет затем отправляется на сервер API Bencher,
где вывод системы бенчмаркинга анализируется с помощью адаптера системы бенчмаркинга.
Адаптер системы бенчмаркинга определяет все присутствующие бенчмарки и соответствующие им метрики.
Эти бенчмарки и метрики затем сохраняются вместе с отчетом.
Если установлен Порог, то новые метрики сравниваются с историческими метриками для каждого бенчмарка, присутствующего в отчете.
Если обнаружено ухудшение производительности, то будет сгенерировано оповещение.
С этого момента мы будем называть ваши “бенчмарки” “тестами на откат производительности” для избежания путаницы.
Бенчмарки
Бенчмарк - это именованный тест на откат производительности. Если тест на откат производительности новый для Bencher, то автоматически создается бенчмарк. В противном случае имя теста на откат производительности используется в качестве уникального идентификатора для бенчмарка.
Будьте осторожны при изменении названия ваших тестов на откат производительности. Вам придется вручную переименовать бенчмарк в Bencher, чтобы соответствовать этому новому названию. В противном случае переименованный тест на откат производительности будет рассматриваться как новый бенчмарк. Это же предупреждение относится и к перемещению некоторых тестов на откат производительности. В зависимости от системы бенчмаркинга, путь к тесту на откат производительности может быть частью его названия.
Единственным исключением из вышеуказанного пункта является игнорирование бенчмарка. Об этом можно прочитать в разделе подавление оповещений.
Метрики
Метрика - это единичный результат теста на откат производительности в определенный момент времени.
Для одной метрики могут быть собраны до трех показателей: value
, lower_value
и upper_value
.
value
обязательна для всех метрик, в то время как lower_value
и upper_value
являются независимо опциональными.
Какие показатели собраны, определяется адаптером системы бенчмаркинга.
Вид метрики
Вид метрики - это единица измерения метрики.
По умолчанию все проекты начинаются с видами метрики Latency
и Throughput
с единицами измерения наносекунды (ns)
и операции / секунда (ops/s)
соответственно.
Вид метрики определяется адаптером системы бенчмаркинга.
Отчет
Отчет - это коллекция бенчмарков и их метрик для конкретной ветки и тестового стенда.
Отчеты чаще всего генерируются с помощью подкоманды командной строки bencher run
.
Подробно о том, как отслеживать тесты на откат производительности, можно прочитать в разделе Как отслеживать тесты на откат производительности.
Ветка
Ветка - это ссылка git
, используемая при запуске отчета (то есть имя ветки или тег).
По умолчанию все проекты начинаются с ветки main
.
При использовании подкоманды командной строки bencher run
,
main
является веткой по умолчанию, если она не предоставлена.
Подробности см. в разделе Выбор ветки.
Тестовый стенд
Тестовый стенд - это имя тестовой среды, используемой при запуске отчета.
По умолчанию все проекты начинаются с тестового стенда localhost
.
При использовании подкоманды командной строки bencher run
,
localhost
является тестовым стендом по умолчанию, если он не предоставлен.
🐰 Поздравляем! Вы узнали все о отслеживании
бенчмарковтестов на откат производительности! 🎉