Если так случилось, что в текущей версии вашего любимого сайта для презентаций отпало кеширование статики и картинок в частности, то можете попробовать Mozilla, где есть баг игнорирования Expires и Cache-Control для картинок, этот баг становится фичей-ускорителем. Или можете попробовать свой прокси-сервер для активации кеширования. Или можете рассказать историю кому-то из команды разработки системы. Для этого возможно надо будет подать доклад на конференцию 🤗
Про artillery не рассказал еще. Чтобы измерить на сколько отличается скорость работы сайта для пользователей из разных стран можно использовать данные Chrome User Experience report, который удобно визуализировать на карте через treo.sh
🔗 https://treo.sh/sitespeed/miro.com?mapMetric=fcp
но Google собирает данные по домену в целом, не по страницам
И в какой-то момент мы решили собирать данные по конкретным доскам (пустая, не пустая), по тестовым доскам. И инструмент artillery.io тут подошел хорошо. Было с ним тоже не все так просто, опишу потом.
Про artillery не рассказал еще. Чтобы измерить на сколько отличается скорость работы сайта для пользователей из разных стран можно использовать данные Chrome User Experience report, который удобно визуализировать на карте через treo.sh
🔗 https://treo.sh/sitespeed/miro.com?mapMetric=fcp
но Google собирает данные по домену в целом, не по страницам
И в какой-то момент мы решили собирать данные по конкретным доскам (пустая, не пустая), по тестовым доскам. И инструмент artillery.io тут подошел хорошо. Было с ним тоже не все так просто, опишу потом.
👏6
Привет любители производительности!
Подумал что напишу, как банить, отписываться, удалять, закрывать, ... для производительности, конечно. И вы, возможно, отпишитесь от этого канала, а может быть и нет 😄
Я использую youtube, telegram, linkedin и много разных программ и вкладок браузера. И за неделю накапливается много всего лишнего, а потом еще youtube и linkedin начинают рекомендовать много всего лишнего
Поэтому выбираю один вечер и просматриваю всю ленту рекомендаций и если это рекомендовано зря, то прошу не рекомендовать это больше. Но это не срабатывает🤦♂️
Что можно сделать дополнительно
Для YouTube можно
*️⃣ открыть страницу истории и просто удалить оттуда лишние записи, но оставить похожие на интересные. И тогда в рекомендациях будет появляться что-то похожее. Это страница https://www.youtube.com/feed/history
*️⃣ одновременно с этим подписываться или добавлять в playlist то, что понравилось
*️⃣ и просить не рекомендовать видео по какой-то теме или с какого-то канала
Для Linkedin можно
*️⃣ открыть страницу профиля (кликнуть на свой аватар) / ⚙️ Settings (внизу) / 🔔 Notifications (внизу) / там будет 13 разделов по которым приходят подписки - можно отписаться от большинства из них
*️⃣ одновременно с этим подписываться или добавлять в 🚩 Saved то, что понравилось из рекомендаций или оставлять реакции с комментариями
*️⃣ и просить не рекомендовать лишние записи и авторов
В Telegram ленты, как таковой, нет. Тут настроил разные каталоги
*️⃣ Отключил уведомление почти у всего, настраивается в каждом чате/канале/контакте отдельно
*️⃣ А что-то поместил в Архив, чтобы поиском найти можно было, но не было видно
Для MacOS можно настроить две кнопки из раздела Apps / Other / Shortcuts
*️⃣ Stop Distructions и добавить там правила 🌜 Turn : Do not Disturb : On + ❎ Quit : App : Telegram + ❎ Quit : App : Slack + ...
*️⃣ Start Pomodoro - тоже полезная
*️⃣ Закрепить кнопки Stop Distructions и Start Pomodoro в панели задач
Использую их в паре, нажимаю обе, стартует таймер на 25 минут, а через 25 минут можно открыть снова Slack и Telegram и проверить нет ли там каких-то нужных сообщений, прочитать их. Потом снова нажать обе кнопки, снова 25 минут работы
Если коротко, то иногда вдумчиво читаю ленту, что-то с ней делаю, и так лента становится интересной и про нагрузку
Подумал что напишу, как банить, отписываться, удалять, закрывать, ... для производительности, конечно. И вы, возможно, отпишитесь от этого канала, а может быть и нет 😄
Я использую youtube, telegram, linkedin и много разных программ и вкладок браузера. И за неделю накапливается много всего лишнего, а потом еще youtube и linkedin начинают рекомендовать много всего лишнего
Поэтому выбираю один вечер и просматриваю всю ленту рекомендаций и если это рекомендовано зря, то прошу не рекомендовать это больше. Но это не срабатывает
Что можно сделать дополнительно
Для YouTube можно
Для Linkedin можно
В Telegram ленты, как таковой, нет. Тут настроил разные каталоги
Для MacOS можно настроить две кнопки из раздела Apps / Other / Shortcuts
Использую их в паре, нажимаю обе, стартует таймер на 25 минут, а через 25 минут можно открыть снова Slack и Telegram и проверить нет ли там каких-то нужных сообщений, прочитать их. Потом снова нажать обе кнопки, снова 25 минут работы
Если коротко, то иногда вдумчиво читаю ленту, что-то с ней делаю, и так лента становится интересной и про нагрузку
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Привет любители производительности!
Этот канал был задуман, как канал со ссылками на обсуждения в чате qa_load. Это было важно, когда в Telegram не было подчатов, был только один чат General и надо было как-то группировать сообщения из General. Потом в Telegram появились подчаты и текущий канал qaload был отвязан от qa_load
И вот сегодня @qa_load дорос до четырех девяток⭐️ ⭐️ ⭐️ ⭐️ или четырех нулей *️⃣ *️⃣ *️⃣ *️⃣
Случилось это 18 апреля 2025-го года, спустя 2354 дня после старта
qa_load был стартован Сашей, как отдельный раздел про нагрузку, отдельный от @qa_automation
Рос qa_load со средней скоростью ~ 4.25 новых участников в день. И этот график роста линейный, идеально прямая линия. С первого дня до текущего момента (на таком масштабе в 2354 дня) линия прямая.
Долгое время в чате не было статистики и в Telegram ее не было. И появилась традиция дарить машину или мотоцикл или самолет или поезд на круглое число, например, подарить автомобиль у которого двигатель крутится со скоростью 8000 оборотов в минуту 8000-му человеку. А потом эти посты собирались в эту прямую линию, в них была дата и количество. И, конечно же, людям приятно💛
Еженедельно его просматривает 215-230 любителей производительности
Постоянно команда ботов и админов следят за качеством дискуссий. Самый главный бот самописный, его Саша написал и поддерживает
Иногда бывает реклама. Я как-то вел учет, и пока его вел было заработано 1700 рублей (кажется) или $20. И это было каждый раз сложно. А вот делать бартер было несложно, бартер на билеты или еще на что-то, что можно бы было сразу потратить. И в какой-то момент все перешло на бартер
В чате можно найти около 6 розыгрышей билетов на разные конференции (я столько вспомнил, может неточное число)
Затрудняюсь сказать сколько стоит инфраструктура вокруг чата. Думаю около $250 в год и еще время 200+ человек каждую неделю
У меня профессиональная деформация, люблю числа и графики. Спасибо за Ваш вклад в числа и графики описанные выше 🤗
Этот канал был задуман, как канал со ссылками на обсуждения в чате qa_load. Это было важно, когда в Telegram не было подчатов, был только один чат General и надо было как-то группировать сообщения из General. Потом в Telegram появились подчаты и текущий канал qaload был отвязан от qa_load
И вот сегодня @qa_load дорос до четырех девяток
Случилось это 18 апреля 2025-го года, спустя 2354 дня после старта
qa_load был стартован Сашей, как отдельный раздел про нагрузку, отдельный от @qa_automation
Рос qa_load со средней скоростью ~ 4.25 новых участников в день. И этот график роста линейный, идеально прямая линия. С первого дня до текущего момента (на таком масштабе в 2354 дня) линия прямая.
Долгое время в чате не было статистики и в Telegram ее не было. И появилась традиция дарить машину или мотоцикл или самолет или поезд на круглое число, например, подарить автомобиль у которого двигатель крутится со скоростью 8000 оборотов в минуту 8000-му человеку. А потом эти посты собирались в эту прямую линию, в них была дата и количество. И, конечно же, людям приятно
Еженедельно его просматривает 215-230 любителей производительности
Постоянно команда ботов и админов следят за качеством дискуссий. Самый главный бот самописный, его Саша написал и поддерживает
Иногда бывает реклама. Я как-то вел учет, и пока его вел было заработано 1700 рублей (кажется) или $20. И это было каждый раз сложно. А вот делать бартер было несложно, бартер на билеты или еще на что-то, что можно бы было сразу потратить. И в какой-то момент все перешло на бартер
В чате можно найти около 6 розыгрышей билетов на разные конференции (я столько вспомнил, может неточное число)
Затрудняюсь сказать сколько стоит инфраструктура вокруг чата. Думаю около $250 в год и еще время 200+ человек каждую неделю
У меня профессиональная деформация, люблю числа и графики. Спасибо за Ваш вклад в числа и графики описанные выше 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28
Для удобства разработки тестов производительности настроил локальный тестовый стенд. Который может работать без сети. И в том числе pipeline настроил локально TeamCity Server + Agent, так вся разработка получилась в IDEA и как код
⭐️ Но получил ошибку в Idea с текстом, которая не позволяет работать с git
Как видно, в тексте ошибки говорится про git-объекты из каталога
Причиной такого интереса IntelliJ IDEA к каталогу /opt/buildagent/system оказался файл
Какими-то действиями добавил туда каталог, в который выгружается этот же репозиторий при сборке
⭐️ Способ починить Idea - удалить лишнюю строку 5 из файла .idea/vcs.xml
Репозиторий в каталоге Build Agent сломался потому что для агента он находится по адресу
💬 Иногда коллеги по нагрузке рассказывают про ожидания доступов до начала работы над проектом
💡 Можно практиковать развертывание локального окружения c CI/CD, Grafana и git (тоже можно поднять локально)
⭐️ Могут возникнуть ошибки, но они решаемые
⭐️ А такой проект несложно перенести на другое окружение при получении доступов
Error updating changes: [4804c71824c21b5c] unable to normalize alternate object path: /opt/buildagent/system/git/git-FFDF2529.git/objects
Как видно, в тексте ошибки говорится про git-объекты из каталога
/opt/buildagent/system/, а текущий проект находится в каталоге разработки, в home (~), но не в opt. Почему Idea смотрит на каталог opt?Причиной такого интереса IntelliJ IDEA к каталогу /opt/buildagent/system оказался файл
.idea/vcs.xmlКакими-то действиями добавил туда каталог, в который выгружается этот же репозиторий при сборке
Репозиторий в каталоге Build Agent сломался потому что для агента он находится по адресу
host.docker.internal, который недоступен локально, и там работа идет с веткой otel, которая есть не во всех внешних git-репозиториях, подключенных к проектуPlease open Telegram to view this post
VIEW IN TELEGRAM
🫡5👍3
Привет всем!
Встречался вчера с любителями Grafana на митапе Grafana & Friends Berlin
Рассказывал и показывал разные способы автоматизации анализа досок с метриками
Демонстрация на слайдах не очень отражена, но основные идеи тут изложил
https://polarnik.github.io/grafana-analysis-automation/
Буду рад вопросам
Встречался вчера с любителями Grafana на митапе Grafana & Friends Berlin
Рассказывал и показывал разные способы автоматизации анализа досок с метриками
Демонстрация на слайдах не очень отражена, но основные идеи тут изложил
https://polarnik.github.io/grafana-analysis-automation/
Буду рад вопросам
polarnik.github.io
How to automate Grafana dashboards analysis
🔥13❤🔥3❤1
Привет всем!
Готовлюсь записывать короткие видео и демо, связанные с производительностью. Раньше уже брался, но бросал. Поэтому сейчас нужен public commitment, надо пообещать что сделаю. Это обещания-пост. А начал с того, что пересмотрел набор инструментов для видео
Утилиты которые сейчас выбрал и проверил:
🎚 https://borumi.com/ — тут довольно просто разбить все на части и записать демо по частям, это 99% работы
🎚 https://www.capcut.com/ — чтобы добавить еще 1% в виде пары эффектов и акцентов, как 🔥 ⚡️ 💡 ❗️
Есть план укладываться в 4-5 часов при подготовке видео на 10 минут
Ранее использовал более профессиональные и сложные инструменты и тихонько отказываюсь от них:
🎚 https://obsproject.com/
🎚 https://www.blackmagicdesign.com/products/davinciresolve
Они мощные, но регулярную работу с ними я не освоил, дальше экспериментов не ушел
iMovie не очень мощный, чтобы записать и склеить видео можно
🎚 https://apps.apple.com/de/app/imovie/id377298193
🎚 screenshot + quicktime для видео
но потом внутренний перфекционист не дает покоя
Супер простой и популярный инструмент
🎚 https://screen.studio/
выбирать не стал, так как он очень популярный и узнаваемый, то что видео сделано в нем видно сразу, и это как-то лишало такое видео хардкорности
К ноябрю тут появится что-то новое:
📱 https://www.youtube.com/@qaload
А может не тут, но где-то рядом
Готовлюсь записывать короткие видео и демо, связанные с производительностью. Раньше уже брался, но бросал. Поэтому сейчас нужен public commitment, надо пообещать что сделаю. Это обещания-пост. А начал с того, что пересмотрел набор инструментов для видео
Утилиты которые сейчас выбрал и проверил:
Есть план укладываться в 4-5 часов при подготовке видео на 10 минут
Ранее использовал более профессиональные и сложные инструменты и тихонько отказываюсь от них:
Они мощные, но регулярную работу с ними я не освоил, дальше экспериментов не ушел
iMovie не очень мощный, чтобы записать и склеить видео можно
но потом внутренний перфекционист не дает покоя
Супер простой и популярный инструмент
выбирать не стал, так как он очень популярный и узнаваемый, то что видео сделано в нем видно сразу, и это как-то лишало такое видео хардкорности
К ноябрю тут появится что-то новое:
А может не тут, но где-то рядом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤🔥10❤4
Viacheslav Smirnov
Привет всем! Готовлюсь записывать короткие видео и демо, связанные с производительностью. Раньше уже брался, но бросал. Поэтому сейчас нужен public commitment, надо пообещать что сделаю. Это обещания-пост. А начал с того, что пересмотрел набор инструментов…
А по sitespeed будешь пилить?
❤1
Заметил что у YouTube канала появились подписчики, хотя там нет никаких обновлений. Вот авторы, подходы которых посмотрел, тут есть обновления:
Anton Putra⏺ 106 тыс. подписчиков ⏺ 274 видео
A Life Engineered⏺ 177 тыс. подписчиков ⏺ 126 видео
James Willett⏺ 6,11 тыс. подписчиков ⏺ 46 видео
Alek OS⏺ 279 тыс. подписчиков ⏺ 64 видео
Лёша Корепанов⏺ 224 тыс. подписчиков ⏺ 153 видео
Software Engineering With Scott Moore⏺ 306 тыс. подписчиков⏺ 628 видео
Federico Terzi⏺ 9,04 тыс. подписчиков⏺ 43 видео
Anton Putra
⏺ готовит в каждому видео тестовые стенды в AWS⏺ бенчмарки на Go и Python к каждому видео https://github.com/antonputra/tutorials/tree/main/lessons⏺ демонстрирует графики Grafana⏺ использует анимированные слайды с темным фоном, на слайдах оставляет место в правом нижнем углу, чтобы потом вставить туда круг с видео⏺ если показывает рабочий стол или среду разработки или браузер, то не накладывает кружок с видео на демо
A Life Engineered
⏺ делает много экспериментов⏺ использует профессиональный звук и свет, так как занимался музыкой отдельно, использует профессиональное оборудование⏺ использует полноразмерные слайды или слайды на половину экрана, использует разделение экрана на две равные части⏺ использует сложный монтаж, где включает стоковое видео в ролик, собирает историю из кусочков стокового видео⏺ возможно использует услуги специалиста по монтажу
James Willett
"ретроспективный" канал от создателя лучших курсов по Gatling:⏺ можно видеть как 5 лет назад он использовал простой монтаж и только демонстрацию экрана⏺ как два года назад он использовал маркерную доску и несколько камер с несложным монтажом⏺ как он начал использовать screen.studio год назад
Alek OS
⏺ использует много анимации и демонстрацию экрана⏺ не использует видео с рассказчиком, использует только голос, демонстрацию экрана и анимацию
Лёша Корепанов
⏺ иногда использует видео с собой но с разных локаций, которые склеивает в один рассказ⏺ чаще использует видео из одной локации и позции⏺ снимает на камеру⏺ добавляет небольшие вставки с кодом или сайтами⏺ не использует сложные анимации и эффекты
Software Engineering With Scott Moore
⏺ использует какое-то популярное решение для записи demo, может быть camtasia или prezi для наложения слайдов на видео⏺ использует хромокей и анимированный фон, анимированный фон его фишка⏺ снимает на GoPro и не использует сложное оборудование и свет
Federico Terzi
⏺ использует несложный монтаж с borumi
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Знаете ли вы, что некоторые инструменты профилирования сделаны почти в одиночку или очень малой командой?
Привет всем! Часто использую инструменты профилирования JVM, иногда завожу дефекты или разбираюсь в исходном коде инструментов, и так ближе знакомлюсь с создателями, и заметил вот такую особенность — команды проектов небольшие
💡 Если есть мысли сделать инструмент для себя, то можно начать в одиночку и даже развить проект до коммерческого продукта
Некоторые оценки размеров команд:
Некоторые источники:
Привет всем! Часто использую инструменты профилирования JVM, иногда завожу дефекты или разбираюсь в исходном коде инструментов, и так ближе знакомлюсь с создателями, и заметил вот такую особенность — команды проектов небольшие
Некоторые оценки размеров команд:
⏺ YourKit Java Profiler поддерживается примерно тремя людьми, но это не точно⏺ JProfiler поддерживался одним человеком (я пока только один контакт нашел)⏺ jvm-tools/sjk активно поддерживается одним человеком, на github есть 26 участников проекта⏺ AsyncProfiler судя по коммитам создавался двумя инженерами, потом долго-долго поддерживался одним инженером, и теперь в разработке участвуют 4 человека⏺ VisualVM активно разрабатывается тремя инженерами, но всего 7 участников на github⏺ Java Mission Control, где JFR используется как бекенд, активно разрабатывали около 20 человек, и 49 участников проекта есть на github⏺ Grafana Pyroscope или Pyroscope, где AsyncProfiler используется как бекенд, имеет более 10 активных разработчиков и 221 участников на github
Некоторые источники:
⏺ YourKit Java Profiler: https://www.yourkit.com/forum/ — посмотрел на тех, кто отвечает на вопросы, заглянул в контакты на сайте и на linkedin⏺ JProfiler: https://www.ej-technologies.com/company — посмотрел на контакты и на linkedin⏺ jvm-tools/sjk: https://github.com/aragozin/jvm-tools/graphs/contributors оценил по github⏺ AsyncProfiler: https://github.com/async-profiler/async-profiler/graphs/contributors⏺ VisualVM: https://github.com/oracle/visualvm/graphs/contributors⏺ Java Mission Control: https://github.com/openjdk/jmc/graphs/contributors⏺ Grafana Pyroscope: https://github.com/grafana/pyroscope/graphs/contributors
Please open Telegram to view this post
VIEW IN TELEGRAM
Ej-Technologies
ej-technologies - Company
Imprint for ej-technologies with management, address and contact information.
👍11
OnePager — стартовая точка для мониторинга, как продукта
Привет всем! Создаю, внедряю, применяю мониторинг производительности. И замечал, что мониторингом активно не пользовались
💡 Если подходить к мониторингу как к продукту, то такой продукт может начинаться с одной основной страницы, с которой пользователь может по ссылкам перейти на более детальные страницы
Привет всем! Создаю, внедряю, применяю мониторинг производительности. И замечал, что мониторингом активно не пользовались
Создать такой one pager и провести онбординг пользователей для такой страницы — важная и не самая очевидная задача
Где-то такую страницу называют Иконостас. Это страница Grafana с отражением статусов и основными графиками:
🟦🟦🟥🟦
🟦🟥📉📈
📊📈🟦🟦
🟦🟦🟥🟦
Я пробовал создавать много досок с большим количеством графиков и таблиц:
📊📈📉📈
🗂📊📊📊
🗂📈🗓📉
Это сложно читать и она может медленно грузиться
Пробовал доски с интерактивными диаграммами:
🖼🖼🖼🖼
📊📈📉📈
🗓📉🗓📉
Это круто, но почти никто не кликает по частям диаграмм — это неочевидно, что они интерактивные и по ним можно кликать.
Пробовал создавать страницу только со статусами:
🟦🟦🟥🟦
🟦🟥🟥🟦
и ссылками на детали при клике по статусам. Но видимо не хватило разнообразия статусов на такой доске. На моей версии пока только статусы по загрузке страниц, и нет запросов или подсистем или системных метрик или транзакций или чего-то ниже уровнем, чем страницы. Такой высокий уровень, возможно, слишком высокий. И не хватает деталей
А самую популярную доску мониторинга в мире — Node Exporter Full
https://grafana.com/grafana/dashboards/1860-node-exporter-full/
не считаю удачным примером one pager-а. Она конечно умещается в одну страницу, но она довольно большая и сложная. Она изначально компактная за счет строк (row). Но если строки раскрыть, то там много деталей. Безусловно, такой формат распространения очень удачный — достаточно установить одну доску, и все сразу видно. Но добавляется сложность⏺ Буду пробовать делать что-то между просто статусами со ссылками и большим количеством графиков⏺ И попробую посмотреть, что пользователи делают на доске и что ждут от мониторинга. Пользователи — коллеги
Please open Telegram to view this post
VIEW IN TELEGRAM
Grafana / Inspect / Query / Refresh позволяет перезагрузить одну панель на доске Grafana
Привет всем! Бывало такое, что у вас не загружается доска Grafana и показывает пустую панель со значком предупреждения вверху⚠️ ? А минуту назад все работало. Или бывало что часть панелей загрузилась, а часть показывают предупреждение?
Чаще всего хочется просто перезагрузить доску. Но если это проблема производительности хранилища метрик, то перезагрузка просто повторяет ситуацию множесвенной отправки запросов. И хотелось бы перезагрузить только сбойные панели
💡 В контекстном меню каждой панели можно найти пункт Inspect / Query, где будет кнопка Refresh, для перезагрузки только текущей панели. Это можно делать несколько раз, пока панель не загрузится успешно
Привет всем! Бывало такое, что у вас не загружается доска Grafana и показывает пустую панель со значком предупреждения вверху
Чаще всего хочется просто перезагрузить доску. Но если это проблема производительности хранилища метрик, то перезагрузка просто повторяет ситуацию множесвенной отправки запросов. И хотелось бы перезагрузить только сбойные панели
А кеширующий прокси-сервер между Grafana и хранилищем метрик позволяет решить проблему для более общего случая, в котором и обновление страницы дозагружает только сбойные панели
Большинство хранилищ метрик и логов доступны по HTTP и подключаются к Grafana по HTTP. Поэтому можно выставить вместо цепочки:⏺ Grafana => Хранилище
Цепочку:⏺ Grafana => Nginx => Хранилище
Так для InfluxDB использовал Nginx вот с такой конфигурацией:⏺ https://gist.github.com/polarnik/cb6f22751e8d1590342198609243c529
Тут ключевые настройки были такие
Кеш на 20 минут в секции http { ... } :⏺ proxy_cache_path /data/nginx/cache keys_zone=mycache:20m max_size=1g inactive=60m;
Указание этого кеша в http { server { location /query { ... } } } :⏺ proxy_cache mycache;⏺ proxy_cache_key "$host-$request_method-$request_uri";⏺ proxy_cache_min_uses 1;⏺ proxy_cache_methods GET;⏺ proxy_ignore_headers Cache-Control;
игнорирование настроек кеширования от самого хранилища метрик тут обязательно, хранилище метрик будет говорить, что кешировать ответ не надо. Но если выбрать статический интервал времени:⏺ 00:00:00 ... 12:00:00
но не динамический:⏺ now-12h ... now
то кеширование будет успешно работать, потому что request_uri не изменится
Если хранилище метрик подключено к Grafana через POST-метод, то тогда в настройках кеширования можно указать:⏺ proxy_cache_key "$host-$request_method-$request_uri-$request_body";⏺ client_body_in_single_buffer on;⏺ client_body_buffer_size 64k;⏺ proxy_cache_methods GET POST;
Так как Nginx не будет выполнять авторизацию доступа к данным из кеша, то надо будет настроить Firewall так чтобы только IP-адрес Grafana Server имел доступ до Nginx Proxy. В этом случае авторизацию выполняет Grafana, и пользователи имеющие доступ до хранилища метрик там будут иметь доступ и кешу
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня собрал нагрузочный pipeline, где объект тестирования готовится с помощью Java Test Containers (Docker)
https://java.testcontainers.org/
TL;DR; Простые варианты использования в Java Test Containers работают — монтирование файлов, переменные окружения, запуск, остановка
Библиотека дала возможность сделать микро-стенды для тестов, которые на каждую сборку собираются в CI
https://java.testcontainers.org/
TL;DR; Простые варианты использования в Java Test Containers работают — монтирование файлов, переменные окружения, запуск, остановка
Для всего остального есть Java. Если что-то не описано в документации библиотеки и не работает, то оно не заработает, скорее всего
Мне надо было обложить приложение разными агентами мониторинга. Агенты бывают для x64, arm64, musl, windows, … Я думал, что напишу в коде Dockerfile RUN IF … проверю переменные окружения и настрою то, что нужно. Это не работаем если контейнер собирает библиотека testcontainer, а не команда docker build
Если сделать слои и в каждом слое подготовить нужный агент, то команда копирования из слоя не работает для testcontainer
Но простая команда монтирования внешнего файла работает отлично. Поэтому всю сложную логику (какой агент выбрать, для какой архитектуры, …) делает Java, и потом монтирует нужный файл в оригинальный контейнер с приложением
Библиотека дала возможность сделать микро-стенды для тестов, которые на каждую сборку собираются в CI
⏺ в BeforeAll запустить небольшую систему и мониторинг к ней⏺ в другом BeforeAll дождаться старта⏺ нагрузить систему⏺ проверить assertion-ы⏺ в AfterAll все остановить и удалить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9