Статистика по разработчикам¶
Модуль Статистика по разработчикам строит сводный портрет команды проекта на основе всей истории изменений: кто и сколько вносил изменений, как распределена активность по времени, кто был самым активным автором каждого месяца и кто участвовал в выпусках (тегах). Модуль помогает оценить вклад участников, равномерность распределения работы и ритм разработки.
Как запускается анализ¶
Анализ выполняется автоматически в CI/CD-пайплайне проекта: при прогоне пайплайна с подключённым шагом анализа формируется отчёт по всей истории изменений проекта — от первого коммита до последнего. Каждый новый прогон обновляет отчёт.
Отдельных действий от пользователя для построения отчёта не требуется — достаточно, чтобы шаг анализа был подключён в пайплайн проекта.
Для подключения шага анализа статистики по разработчикам в пайплайн необходимо выполнить следующие шаги:
-
В меню проекта выберите пункт Сборка и его подпункт Редактор конвейера.
-
На странице Редактор конвейера представлена кнопка DeveloperRating. Она копирует шаблон для составления рейтинга в буфер обмена. Шаблон включает в себя фрагмент developer_rating с вызовом скрипта gitstats. Содержимое шаблона можно вставить в конфигурационный файл пайплайна .appsec_code-ci.yml.
-
После завершения выполнения скрипта выберите в меню проекта пункт Сборка и его подпункт Артефакты. Результаты выполнения доступны в задании с именем developer_rating.
-
После завершения выполнения скрипта метрики статистики по разработчикам доступны в пользовательском интерфейсе.
Где смотреть результаты¶
Раздел доступен на уровне проекта:
Проект → боковое меню → Анализ → Статистика по разработчикам
Страница состоит из боковой панели и основной области с вкладками.
Боковая панель¶
-
Информация о проекте — ключевые цифры проекта:
- возраст проекта в днях (от первого до последнего коммита);
- активные дни (дни, в которые были коммиты);
- количество файлов;
- количество строк;
- количество коммитов;
- количество авторов.
-
Авторы месяца — самые активные авторы по месяцам.
- Создано — дата формирования отчёта.
Вкладка «Activity» (Активность)¶
Распределение коммитов по времени с переключателем Отображение статистики:
| Режим | Что показывает |
|---|---|
| По часам | В какие часы суток чаще всего вносятся изменения (0–23), количество и доля коммитов на каждый час |
| По дням недели | Распределение коммитов по дням недели |
| По месяцам | Распределение коммитов по месяцам года |
| По годам | Количество коммитов за каждый год жизни проекта |
Вкладка «Авторы»¶
Таблица всех авторов проекта, отсортированная по месту в рейтинге по количеству коммитов:
| Колонка | Что показывает |
|---|---|
| № | Место автора по количеству коммитов |
| Автор | Имя автора |
| Количество коммитов | Сколько коммитов внёс автор |
| Коммиты % | Доля коммитов автора от всех коммитов проекта: коммиты автора / все коммиты × 100, с точностью до сотых |
| + Строк | Сколько строк автор добавил |
| − Строк | Сколько строк автор удалил |
| Первый коммит | Дата первого коммита автора |
| Последний коммит | Дата последнего коммита автора |
| Дней на проекте | Число дней между первым и последним коммитом автора |
| Активных дней | Число дней, в которые автор делал коммиты |
Вкладка «Tags» (Теги)¶
Таблица тегов проекта (как правило, теги соответствуют выпускам):
| Колонка | Что показывает |
|---|---|
| Имя | Название тега |
| Дата | Дата создания тега |
| Количество коммитов | Сколько коммитов вошло в тег |
| Авторы | Кто участвовал в изменениях, вошедших в тег |
Сводные показатели¶
В составе отчёта дополнительно рассчитываются:
| Показатель | Как считается |
|---|---|
| Среднее число коммитов на активный день | Все коммиты / активные дни |
| Среднее число коммитов на день | Все коммиты / возраст проекта в днях |
| Среднее число коммитов на автора | Все коммиты / число авторов |
| Автор месяца | Для каждого месяца — автор с наибольшим числом коммитов и его доля от всех коммитов месяца |
Фильтры и параметры¶
Отчёт строится по всей истории проекта целиком — отдельные фильтры по периоду на странице не применяются. Таблицы авторов и тегов поддерживают постраничный просмотр при большом количестве записей.
Если отчёт ещё не сформирован, на странице отображается сообщение Нет данных отчёта.
Как читать результаты¶
- Доля коммитов (Коммиты %) — показатель распределения работы: если 80% коммитов принадлежит одному автору, проект зависит от одного человека (низкий bus-фактор).
- Активные дни автора против «дней на проекте» — отличает постоянных участников от эпизодических: автор с 300 днями на проекте и 10 активными днями подключался точечно.
- Распределение по часам и дням недели — помогает увидеть ритм команды; всплески в нерабочее время могут говорить о переработках или авральных релизах.
- Количество коммитов и строк — косвенные показатели вклада: используйте их как повод для вопросов, а не как единственную метрику оценки разработчика.