Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

My slides from BMM №4 Nov 2019

9 views

Published on

My slides from BMM №4 Nov 2019

Published in: Technology
  • Be the first to comment

  • Be the first to like this

My slides from BMM №4 Nov 2019

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

×