честно сказать не понятно зачем оно надо, может я чего не понимаю, но можно же дампить поэтапно все и зырить
для анализа скорости кусков кода
Ты отлаживал большие приложения с непонятной структурой? С событиями или с абстракциями?
Для этой задачи тебе не xdebug надо брать, а xhprof, например
метрику можно тоже дампить
слишком геморно везде их ставить
я ее дампил на каждом этапе чтобы понять как работает все, типа начиная с роута что в контроллер заходит смотрел и потом дальше разбирался
Да это понятно всё, это ещё дедовский и всем известный способ через var_dump. Но я тебе ещё раз говорю, что на сложных системах даже Xdebug не помогает держать контекст в голове, куда там var_dump
в логи можно метрику писать
А давай спросим @osumico как лучше сделать )
Ты про логи? Или про хдебаг? Если про логи, я локи использую. И деплою клиента ансиблем.
Не, я про метрики производительности приложения
Я не настолько хорошо знаю пыху что-бы говорить про профайлеры. Я больше по питончику и го.
А давай абстрактно тогда. Профайлер или строчки в лог?
Погоди, мы щас только про профилирование
Но, кстати. По поводу кастомных профайлеров тоже могу сказать что это имеет место быть, но тут явно профилирование не бэка, а чего-то посерьёзней, например если ты пишешь свой кубер 🌚 (как пример)
Я к тому что ничего зазорного в том что бы использовать собственный профайлер нет, но сфера их применения другая. Писать кастомный профайлер для роутов это кринге. Собственно как-то так. Профилирование очень важно. Лонгрид для тех кому интересно: Но мне кажется многие путают что такое логгирование, дебаг, и профилирование. Это разные вещи. Логи это больше про то что-бы показать будущему сисадмину, и другим разрабам бизнес-логику приложения (то для чего оно нужно, например нормально создавать логи под создание, удаление юзеров, обновление баланса пользователя, давать в логах системную информацию о том где было вызвано, какой тип, и т.д. Корректно обработать эксепшены). Дебаг это больше когда мы хотим узнать внутрянку классов, методов, и функций, как мутирует переменная, какие типы, и значения у нее были в стактрейсе, и т.д. А профилирование нужно когда мы хотим узнать что по ресурсозатратам, и все что связанно с тем насколько жрущее у нас приложение. Включая бенчи как частное явление профилирования. Я это к тому что все важно. И логи. И дебаг. И профайлинг.
Были у меня мысли делать аналог XHProf и монетизировать. Но я бы всё равно делал это таким же образом, как сделали они: через модуль, без всяких логов внутри приложения построчно
Профайлинг пихать в логи это неправильно. По крайней мере если мы про логи самого бэка/фронта, в логах я ожидаю увидеть все таки бизнес-логику, а если мне надо будет профайлинг то я запущу его отдельно.
Просто потому что как понять где критикал дебага, а где критикал приложения? Я могу дать пример. У нас есть модуль платежной системы. В бизнес-логике критикалом будет что транзакция оплаты не прошла потому что у нас упала база. А в дебаге критикалом вполне может быть мутация переменной которая не должна мутировать, но это не будет влиять на итоговый результат работы.
Обсуждают сегодня