Перейти к содержанию

Статистика по разработчикам

Модуль Статистика по разработчикам строит сводный портрет команды проекта на основе всей истории изменений: кто и сколько вносил изменений, как распределена активность по времени, кто был самым активным автором каждого месяца и кто участвовал в выпусках (тегах). Модуль помогает оценить вклад участников, равномерность распределения работы и ритм разработки.

Как запускается анализ

Анализ выполняется автоматически в CI/CD-пайплайне проекта: при прогоне пайплайна с подключённым шагом анализа формируется отчёт по всей истории изменений проекта — от первого коммита до последнего. Каждый новый прогон обновляет отчёт.

Отдельных действий от пользователя для построения отчёта не требуется — достаточно, чтобы шаг анализа был подключён в пайплайн проекта.

Для подключения шага анализа статистики по разработчикам в пайплайн необходимо выполнить следующие шаги:

  1. В меню проекта выберите пункт Сборка и его подпункт Редактор конвейера.

  2. На странице Редактор конвейера представлена кнопка DeveloperRating. Она копирует шаблон для составления рейтинга в буфер обмена. Шаблон включает в себя фрагмент developer_rating с вызовом скрипта gitstats. Содержимое шаблона можно вставить в конфигурационный файл пайплайна .appsec_code-ci.yml.

  3. После завершения выполнения скрипта выберите в меню проекта пункт Сборка и его подпункт Артефакты. Результаты выполнения доступны в задании с именем developer_rating.

  4. После завершения выполнения скрипта метрики статистики по разработчикам доступны в пользовательском интерфейсе.

Где смотреть результаты

Раздел доступен на уровне проекта:

Проект → боковое меню → Анализ → Статистика по разработчикам

Страница состоит из боковой панели и основной области с вкладками.

Боковая панель

  • Информация о проекте — ключевые цифры проекта:

    • возраст проекта в днях (от первого до последнего коммита);
    • активные дни (дни, в которые были коммиты);
    • количество файлов;
    • количество строк;
    • количество коммитов;
    • количество авторов.
  • Авторы месяца — самые активные авторы по месяцам.

  • Создано — дата формирования отчёта.

Вкладка «Activity» (Активность)

Распределение коммитов по времени с переключателем Отображение статистики:

Режим Что показывает
По часам В какие часы суток чаще всего вносятся изменения (0–23), количество и доля коммитов на каждый час
По дням недели Распределение коммитов по дням недели
По месяцам Распределение коммитов по месяцам года
По годам Количество коммитов за каждый год жизни проекта

Вкладка «Авторы»

Таблица всех авторов проекта, отсортированная по месту в рейтинге по количеству коммитов:

Колонка Что показывает
Место автора по количеству коммитов
Автор Имя автора
Количество коммитов Сколько коммитов внёс автор
Коммиты % Доля коммитов автора от всех коммитов проекта: коммиты автора / все коммиты × 100, с точностью до сотых
+ Строк Сколько строк автор добавил
− Строк Сколько строк автор удалил
Первый коммит Дата первого коммита автора
Последний коммит Дата последнего коммита автора
Дней на проекте Число дней между первым и последним коммитом автора
Активных дней Число дней, в которые автор делал коммиты

Вкладка «Tags» (Теги)

Таблица тегов проекта (как правило, теги соответствуют выпускам):

Колонка Что показывает
Имя Название тега
Дата Дата создания тега
Количество коммитов Сколько коммитов вошло в тег
Авторы Кто участвовал в изменениях, вошедших в тег

Сводные показатели

В составе отчёта дополнительно рассчитываются:

Показатель Как считается
Среднее число коммитов на активный день Все коммиты / активные дни
Среднее число коммитов на день Все коммиты / возраст проекта в днях
Среднее число коммитов на автора Все коммиты / число авторов
Автор месяца Для каждого месяца — автор с наибольшим числом коммитов и его доля от всех коммитов месяца

Фильтры и параметры

Отчёт строится по всей истории проекта целиком — отдельные фильтры по периоду на странице не применяются. Таблицы авторов и тегов поддерживают постраничный просмотр при большом количестве записей.

Если отчёт ещё не сформирован, на странице отображается сообщение Нет данных отчёта.

Как читать результаты

  • Доля коммитов (Коммиты %) — показатель распределения работы: если 80% коммитов принадлежит одному автору, проект зависит от одного человека (низкий bus-фактор).
  • Активные дни автора против «дней на проекте» — отличает постоянных участников от эпизодических: автор с 300 днями на проекте и 10 активными днями подключался точечно.
  • Распределение по часам и дням недели — помогает увидеть ритм команды; всплески в нерабочее время могут говорить о переработках или авральных релизах.
  • Количество коммитов и строк — косвенные показатели вклада: используйте их как повод для вопросов, а не как единственную метрику оценки разработчика.