Всем привет! Я Атибхи Агравал, студент последнего курса Iiit-bangalore преследуя моих интегрированных магистров в области технологий. Этот блог о моем опыте, способствуя Прометей Как часть моей стажировки в Grafana Labs. Это не будет технический блог. Цель этого блога состоит в том, чтобы документировать мое собственное путешествие, а также помочь другим внести свой вклад в Prometheus или любой большой проект с открытым исходным кодом.
Прометей это мониторинг систем с открытым исходным кодом и предупреждающий инструментарий. У него есть язык Query Language и мощная модель данных, которая позволяет нам контролировать наши приложения и инфраструктуру. В последнее время он стал стандартом DE-FACTO для мониторинга приложений в облачном пространстве.
Я никогда не рискнул в домен мониторинга и не слышал о Прометее до этой стажировки. Чтобы начать с этого, мои наставники Дэвид Кухня и Бьорн «Беорн» Рабенштейн Предложил несколько видео и документов, которые помогут мне узнать о Прометее.
Вот несколько полезных ресурсов:
Прометей: Система мониторинга следующего поколения
Intro: Prometheus — Мэтт Лейхер, Fastly & Ganesh Vernekar, Grafana Labs
Прометей глубокий погружение
Официальный сайт
Потрясающий Прометея
Помимо просмотра видео и чтения, я предлагаю испачкать ваши руки и настроить Prometheus, чтобы лучше понять. Prometheus by Yolossn отличный урок, который был очень полезен для меня. После того, как я познакомился с Прометеем, мне было поручено задание. Моя задача состояла в том, чтобы Добавить поддержку засыпания Прометея Анкет Кодовая база Прометея находится в ходе, и, поскольку у меня не было предварительного опыта с GO, я начал изучать язык.
Всякий раз, когда я изучаю новый язык программирования, я начинаю с создания небольшого проекта или следую вместе с интерактивными учебниками/видео. Во время кодирования я почти всегда сталкиваюсь с ошибками. Отладка и попытка исправить эти ошибки помогает мне больше изучить язык. Я тоже Документ Ошибки или новые концепции, с которыми я сталкиваюсь на любом языке программирования, так что в следующий раз появляется что -то подобное, я могу обратиться к своим заметкам, а не охотиться за решением на переполнении стека.
Чтобы узнать, иди, вот несколько бесплатных ресурсов, которые я использовал:
Экскурсия
Учебуйте программирование — Golang Tutorial для начинающих
Я также использовал бесплатную подписку Udemy, предлагаемую Grafana Labs своим сотрудникам, и завершил Оплаченный курс . Этот курс был очень полезным.
Узнав больше о проекте и языке, я начал работу. Я впервые создал Дизайн документ что я отправил по почте Prometheus-Developers List . Проектный документ является решением высокого уровня проблемы, в котором обычно он содержит проектные решения, компромиссы и обзор реализации. Это похоже на концепцию RFC.
После получения одобрения сообщества Прометея я начал кодировать. Я открыл пиар после того, как создала основную структуру на месте. Этот пиар, безусловно, начался маленький, но он медленно продолжал расти. Первоначально в PR было запрошено несколько изменений, но по мере того, как PR прогрессировал все больше и больше обратной связи, и было запрошено больше изменений. В конце концов у пиара было 275+ дискуссий. Многие из них вращались вокруг и кодировали лучшие практики. Мой наставник Бирн также прислал мне это, когда обзоры постоянно входили.
Обзоры кода многому научили меня и действительно помогли мне расти. Вот некоторые из моих ключевых знаний:
- Держите PRS маленькими.
- Добавьте много модульных тестов, это помогает избежать ошибок в производстве.
- Узнайте о практике сухого программного обеспечения, которая означает «не повторяйте себя» и относится к предотвращению дублирования кода.
- Код должен быть модульным и читаемым.
- Поиск примеров в базе кода учит, что идиоматическое способ сделать что -то быстрее, чем другие ресурсы. Следуйте конвенциям в остальной части кодовой базы.
Наконец, после нескольких итераций мой первый PR в Прометею был объединен. Это было так приятно 💃
Первый пиар объединился 26 ноября
У меня даже была возможность рассказать о моей работе в Observicalboncon.
Поскольку я внес свой вклад в Прометею в рамках своей стажировки, мне повезло, что у меня был прямой доступ к разработчикам Прометея, работающим в Grafana Labs, когда у меня возникли какие -либо вопросы. Первоначально я очень не решался попросить о помощи, опасаясь звучать глупо, но мои наставники Беорн, Ганеш и Гутам были очень добрыми и поощряли меня задавать вопросы. Они ответили на мои запросы и дали мне отзывы, которая позволила мне улучшить.
Мы также проводим общее время каждую неделю с учеником CNCF Джесс , который работал над чем -то подобным в то время, и Бартек, другой разработчик Prometheus, чтобы обсудить все, что может блокировать нас. Они также были очень добрыми и полезными, и мне нравилось общаться с ними. Я действительно благодарю их за время и помощь.
Если вы являетесь внешним участником, есть и много вариантов, например, часы Prometheus Apporter каждый понедельник, когда любой, кто участвует в Prometheus, может присоединиться, чтобы попросить о помощи при столкновении с проблемой. Можно также сесть на IRC: #prometheus на irc.freenode.net (Для самого простого начала, Присоединяйтесь к элементу ), что больше для пользователей. Разработчики могут обратиться за помощью к #prometheus-dev на IRC. Большинство сопровождающих дружелюбны и обнадеживают.
Я многому научился, внесли свой вклад в Прометея. Это дало мне возможность узнать о мониторинге, распределенных системах, GO, облачных технологиях и т. Д. Prometheus-это популярный проект с открытым исходным кодом, который каждый год принимает участие в программе Google Summer of Code и Cloud Native Computing Foundation, и я настоятельно рекомендую вам внести свой вклад в проект. Надеемся, что это будет хороший опыт обучения для вас.
Не стесняйтесь комментировать, если вам нужно дальнейшее руководство или DM ME на Twitter Анкет Вы также можете связаться со мной в atibhi.a@gmail.com 😄
Оригинал: «https://dev.to/asquare14/contributing-to-prometheus-5f11»