этого запроса может выполняться дофига всего - можем сходить в БД, почитать файлы, сходит в какую-то внешнюю апишку. Это все хочется пологировать. В том числе например время выполнения операций и вообще в принципе отследить в логах что в рамках запроса Х было сделано 3 SQL запроса, 2 похода во внешнуюю апишку и т.п. и по каждому получить занятое время. Для отдельных операций это делается тривиально. Но как отследить что вот этот вот запрос вызвал именно вот эти действия из логов? Можно каждому входящему запросу присваивать UUID, возвращать его на клиента в заголовках а в логи у каждой операции выводить этот UUID но тут наступает проблема - UUID запроса надо пробросить вообще во весь код приложения что бы в любом месте можно было его получить и дописать в логи. Как это можно сделать? В принципе есть process.domain который может решить эту задачу, но он deprecated и получается что лучше его не использовать. Может кто-то решал подобное?
Смотри в сторону асинк хуков, есть уже мини библы готовые на экспресс в нпм
Добавлять uuid в req при получении этого самого запроса?
Обсуждают сегодня