SlideShare a Scribd company logo
1 of 31
Download to read offline
Давайте инструментируем
что-нибудь
Александр Чистяков
vdsina.ru, евангелист
Очень краткое содержание
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 2 / 31
• Давайте инструментируем
Очень краткое содержание
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 3 / 31
• Давайте инструментируем
• Что-нибудь
Приложение на JavaScript?
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 4 / 31
• Используем пакет prom-client
Выглядит не очень сложно!
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 5 / 31
• Давайте лучше инструментируем
MongoDB
MongoDB
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 6 / 31
• Написана на языке C++
MongoDB
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 7 / 31
• Написана на языке C++
• Собирается при помощи SCons
Нам нужен план
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 8 / 31
• Встроить дэшборд в MongoDB
Нам нужен план
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 9 / 31
• Встроить дэшборд в MongoDB
• Видимо, написать дэшборд на C++?
Преимущества C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 10 / 31
• Есть сегфолты
Преимущества C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 11 / 31
• Есть сегфолты
• Можно прибавить к адресу в памяти
число
Преимущества C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 12 / 31
• Есть сегфолты
• Можно прибавить к адресу в памяти
число
• Язык не слишком DevOps-friendly
Не будем брать C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 13 / 31
• Встроим какой-нибудь другой язык
Не будем брать C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 14 / 31
• Встроим какой-нибудь другой язык
• Lua?
Не будем брать C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 15 / 31
• Встроим какой-нибудь другой язык
• Lua?
• GNU Guile?
Не будем брать C++
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 16 / 31
• Встроим какой-нибудь другой язык
• Lua?
• GNU Guile?
• Nim
Преимущества Nim
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 17 / 31
• Нет сегфолтов
Преимущества Nim
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 18 / 31
• Нет сегфолтов
• Очень похож на Python
Преимущества Nim
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 19 / 31
• Нет сегфолтов
• Очень похож на Python
• Строго и статически типизирован
Преимущества Nim
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 20 / 31
• Нет сегфолтов
• Очень похож на Python
• Строго и статически типизирован
• Компилируется в код на C
Нам опять нужен план
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 21 / 31
• Используем Nim для дэшборда и сбора
метрик
Нам опять нужен план
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 22 / 31
• Используем Nim для дэшборда и сбора
метрик
• Компилируем Nim в C (.h + .a)
Нам опять нужен план
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 23 / 31
• Используем Nim для дэшборда и сбора
метрик
• Компилируем Nim в C (.h + .a)
• Собираем mongod при помощи SCons,
используя полученные файлы
Реализация бриджа из C в Nim
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 24 / 31
• startJesterP запускается в отдельном
потоке
Как ускорить сборку
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 25 / 31
• scons –disable-warnings-as-errors -j80
Это, вообще, законно?
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 26 / 31
• Выглядит потокобезопасно
Это, вообще, законно?
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 27 / 31
• Выглядит потокобезопасно
Это, вообще, работает?
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 28 / 31
• Виден запуск Jester среди логгинга
mongod
Как все это выглядит?
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 29 / 31
• Обычный дэшборд, только внутри
mongod
Выводы
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 30 / 31
• Можно инструментировать что угодно
• Даже JavaScript
That’s all, folks!
Александр Чистяков, vdsina.ru Давайте инструментируем что-нибудь 31 / 31
• alexclear@gmail.com
• https://telegram.me/lhommequipleure
• https://telegram.me/demeliorator_pod

More Related Content

Similar to My slides from BMM №4 Nov 2019

Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньDevDay
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Ontico
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
 
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...Yandex
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примереSergey Xek
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QAIvan Kolodyazhny
 
Фронтенд для миллионов (НН)
Фронтенд для миллионов (НН)Фронтенд для миллионов (НН)
Фронтенд для миллионов (НН)Anastasia Goryacheva
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Productivity in XCode
Productivity in XCodeProductivity in XCode
Productivity in XCodeiThink
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Yandex
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Ontico
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)Roman Dvornov
 
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...GeeksLab Odessa
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Кирилл Толкачёв
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 

Similar to My slides from BMM №4 Nov 2019 (20)

Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
 
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
Фронтенд для миллионов (НН)
Фронтенд для миллионов (НН)Фронтенд для миллионов (НН)
Фронтенд для миллионов (НН)
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Productivity in XCode
Productivity in XCodeProductivity in XCode
Productivity in XCode
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)
 
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
WebCamp: Developer Day: Разработка фронтенда: от кузницы до металлургического...
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGM
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 

More from Alex Chistyakov

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019Alex Chistyakov
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019Alex Chistyakov
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and KubernetesAlex Chistyakov
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016Alex Chistyakov
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016Alex Chistyakov
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016Alex Chistyakov
 

More from Alex Chistyakov (20)

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArt
 
My slides from CC'2019
My slides from CC'2019My slides from CC'2019
My slides from CC'2019
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and Kubernetes
 
Ansible and other stuff
Ansible and other stuffAnsible and other stuff
Ansible and other stuff
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017
 
My talk at SECR 2017
My talk at SECR 2017My talk at SECR 2017
My talk at SECR 2017
 
On scaling teams
On scaling teamsOn scaling teams
On scaling teams
 
MariaDB workshop
MariaDB workshopMariaDB workshop
MariaDB workshop
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016
 

My slides from BMM №4 Nov 2019