Описание произведения:
Программный инструментарий экосистемы распределенных реестров для открытых систем: система сбора данных о проектах платформ распределенных реестров и автоматизированной оценки по разработанной системе критериев.
Автоматизированная система сбора информации собирает публично доступные данные о платформах распределенных реестров с платформы хранения открытого исходного кода GitHub. Работа ведется как с основными репозиториями проектов реестров, так и сопровождающими проектами-сателлитами. По результатам регулярной агрегации производится статистический анализ в автоматическом режиме. Репозитории проектов динамичны, и информация быстро устаревает. Описанная система позволяет получать наиболее актуальную, систематически обновляемую информацию.
Проекты оцениваются на основании ряда критериев, важных для разработчиков программного обеспечения. Оценка производится по следующим признакам:
- Активность разработчиков (среднее количество добавлений строк кода в неделю, среднее количество коммитов в неделю, дата последнего релиза)
- Активность обратной связи (скорость обработки обсуждаемых задач)
- Заинтересованность аудитории (количество звезд проекта, количество активных fork’ов, количество созданных задач)
- “Развитие” сравнение активности за последний месяц с активностью за последние три месяца.
Созданные критерии позволяют разделить репозитории на пять уровней, от "очень низкого" до "очень высокого" и оценивать проекты по 100 бальной шкале.
Статистика собирается в автоматическом режиме. Она загружается в распределенную базу данных Elasticsearch, а затем анализируется с помощью средств инструмента Kibana.
Репозитории проектов динамичны, и информация быстро устаревает. Описанная система позволяет получать наиболее актуальную, систематически обновляемую автоматически информацию.
Для того чтобы сбор информации о репозиториях проектов с платформы GitHub не ограничивался максимально допустимым количеством запросов к GitHub REST API v3 (по умолчанию 60 запросов в час), применяется система прокси серверов. При этом, получение данных о репозиториях происходит в мультипоточном режиме. Когда один из потоков исчерпывает допустимый запас запросов, он начинает использовать новый прокси сервер.
Генерируемый отчет включает в себя:
- Автоматически собранные с GitHub данные в виде построенных средствами Kibana графиков.
- Автоматически сгенерированные оценки репозиториев. Каждый критерий подробно описан в отчете, включая процесс формирования оценок.
- Графы связей репозиториев распределенных реестров и алгоритмов консенсуса, используемых в соответствующих реестрах.
- Списки соответствия репозиториев и их владельцев.
Ключевые слова:
распределенный реестр, github, аналитика