Как находить нестабильные тесты с помощью merge queue и main
📌 Подробнее: https://matklad.github.io/2026/05/14/catch-flakes-on-main.html
MemOps🤨
Если merge queue гарантирует, что каждый коммит в main прошёл тесты, любой последующий сбой полного прогона на main можно считать нестабильным тестом. Поэтому не отключайте такой прогон после слияния изменений.
Собирайте свежие падения на main в один доступный список. Он покажет, какие сбои повторяются чаще, и поможет увидеть связь между ними. Начинайте исправление с причин, которые ломают больше всего прогонов.
Причиной бывает ошибка в допущениях о порядке выполнения или сбой инфраструктуры: например, не скачался релиз с GitHub либо Windows не удалила каталог. В заметке Catch Flakes On Main автор объясняет, почему этот процесс отделяет нестабильность от настоящих регрессий.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
matklad.github.io
Catch Flakes On Main
A small Mechanical Habit today:
❤2
Как отслеживать сбои и замедление тестов Cypress в Grafana Cloud
📌 Подробнее: https://grafana.com/blog/how-to-monitor-cypress-tests-with-grafana-cloud/
MemOps🤨
Один лог CI не показывает, какой тест постепенно замедляется или периодически падает. В Cypress 14.x хук after:spec после каждого файла со сценариями получает число успешных и неуспешных тестов и их длительность. Код преобразует данные в метрики Prometheus.
Короткий процесс Cypress нельзя опросить напрямую, поэтому он отправляет метрики в Prometheus Pushgateway. Тот хранит их между запусками, а Alloy периодически забирает и пересылает в Grafana Cloud Metrics. Общий run_id объединяет файлы одного запуска на дашборде.
Ошибку отправки ловят через try/catch, чтобы сбой мониторинга не ронял успешный прогон. Код, конфигурация и набор метрик есть в пошаговом разборе Grafana Labs.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Grafana Labs
How to monitor Cypress tests with Grafana Cloud | Grafana Labs
Monitor your Cypress tests by converting results into Prometheus metrics inside a Cypress hook, pushing them to a Prometheus Pushgateway, and letting Alloy scrape the gateway and forward everything to Grafana Cloud Metrics.
Nerdlog — просмотр логов с нескольких серверов без ELK, Graylog и центрального хранилища
📌 GitHub
📌 Готовые сборки
📌 Документация и ограничения
MemOps🤨
Интересный инструмент для тех случаев, когда нужно быстро проанализировать логи на нескольких Linux-серверах, но разворачивать полноценную систему централизованного логирования избыточно.
Nerdlog — это терминальный UI-интерфейс, который подключается к удалённым машинам по SSH, выполняет обработку логов непосредственно на них, а затем объединяет результаты в одном окне.
По умолчанию Nerdlog умеет работать с:
— /var/log/messages и /var/log/syslog;
— ротируемыми логами;
— выводом journalctl;
— произвольными текстовыми логами;
— базовым форматом логов Apache.
Можно одновременно искать события на нескольких серверах, ограничивать запрос временным диапазоном и фильтровать строки с помощью выражений в awk-формате. Результаты от разных узлов объединяются в общую таблицу.
Главная особенность интерфейса — интерактивная временная гистограмма, напоминающая Kibana или Graylog. На ней виден всплеск ошибок. Есть история запросов, постраничная загрузка, Vim-подобное управление и возможность скопировать текущий запрос в виде команды, чтобы передать его коллеге.
При этом полные файлы на рабочую машину не скачиваются. Фильтрация и построение гистограммы выполняются на удалённых узлах, а по сети передаются только найденные сообщения и агрегированные данные.
Результаты дополнительно сжимаются. Количество загружаемых строк можно ограничить — по умолчанию это до 250 сообщений с каждого потока.
Клиент работает на Linux, macOS, FreeBSD и Windows, но получать логи с Windows-хостов пока нельзя. Nerdlog написан на Go, а готовые бинарники доступны в GitHub Releases.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - dimonomid/nerdlog: Nerdlog: fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server
Nerdlog: fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server - dimonomid/nerdlog
👍6
Klarity — корпоративная панель мониторинга наблюдаемости Kubernetes с открытым исходным кодом, созданная для команд, которые придерживаются практики GitOps.
📌 Подробнее: https://github.com/selvarajmurugesan90/klarity
MemOps🤨
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - selvarajmurugesan90/klarity: Enterprise Kubernetes observability dashboard — read-only, GitOps-first, auto-discovery,…
Enterprise Kubernetes observability dashboard — read-only, GitOps-first, auto-discovery, user management, and native ArgoCD/Flux integration - selvarajmurugesan90/klarity
👍3
kimi-k3-in-c — система
📌 Подробнее: https://github.com/FareedKhan-dev/kimi-k3-in-c
MemOps🤨
Kimi K3 с 2,78 триллионами параметров, выполняющая инференс на одном процессоре с 8,24 ГБ оперативной памяти. Портативная версия C99: без BLAS, без фреймворка, без графического процессора.Один и тот же короткий запрос для всех размеров, и вывод байтов идентичен от самой маленькой машины до самой большой; меняется только время. Одна машина, 124 ядра, быстрый NVMe-накопитель: первые три строки по-прежнему считывают модель с диска на каждом шаге, поэтому более медленный накопитель работает медленнее, в то время как строка размером 128 ГБ+ хранит все в памяти и больше не ожидает данных с диска. На той же машине версия 1.0.0 сделала вычисления в токенах примерно в 8 раз легче, последующий вопрос в чате - в 3,9 раза быстрее, а длинные запросы - примерно вдвое менее затратными.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - FareedKhan-dev/kimi-k3-in-c: A 2.78-trillion-parameter Kimi K3 running inference on a single CPU in 8.24 GB of RAM. Portable…
A 2.78-trillion-parameter Kimi K3 running inference on a single CPU in 8.24 GB of RAM. Portable C99: no BLAS, no framework, no GPU. - FareedKhan-dev/kimi-k3-in-c
👍4
В Kubernetes закрыта новая уязвимость
CVSS Rating: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
Medium (5.9)
Пользователь с правами на изменение объектов StatefulSet и ControllerRevision в своём namespace потенциально может добиться создания Pod в другом namespace — с заданными им метаданными и конфигурацией.
Для эксплуатации нужны соответствующие права, а созданный Pod обычно удаляется сборщиком мусора. Чтобы он сохранился, атакующему потребуется корректно указать OwnerReference, включая UID существующего StatefulSet в целевом namespace. Уязвимость в kube-controller-manager, тое сть придется обновлять master nodes.
📌 Подробнее: https://github.com/kubernetes/kubernetes/issues/142097
MemOps🤨
CVSS Rating: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
Medium (5.9)
Пользователь с правами на изменение объектов StatefulSet и ControllerRevision в своём namespace потенциально может добиться создания Pod в другом namespace — с заданными им метаданными и конфигурацией.
Для эксплуатации нужны соответствующие права, а созданный Pod обычно удаляется сборщиком мусора. Чтобы он сохранился, атакующему потребуется корректно указать OwnerReference, включая UID существующего StatefulSet в целевом namespace. Уязвимость в kube-controller-manager, тое сть придется обновлять master nodes.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
CVE-2026-2270: StatefulSet and ControllerRevision write permissions allow cross-namespace pod creation · Issue #142097 · kuber…
CVSS Rating: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N - Medium (5.9) A confused deputy attack exists in the StatefulSet controller that allows a user with namespace-scoped write permissions on ...
👍3