tracing наверное круто, но мы делали проще - по факту просто добавляли контекста в логи, например это может быть переменная request_id="xx"; и после уже в elastic search можно было фильтровать данные с одним или другим id.
tracing наверное круто, но мы делали проще - по факту просто добавляли контекста в логи, например это может быть переменная request_id="xx"; и после уже в elastic search можно было фильтровать данные с одним или другим id.
А можно пример, как именно там для спана вывести доп uuid какой? А то именно в логах ничего не меняется по сравнению с log, я крутил даже.
Ну например, если обработка запроса вложена в функцию, то ставим на нее атрибут #[instrument(fields(request_id = request.id))] fn handler(request: ...) { ... }
Ну например, если обработка запроса вложена в функцию, то ставим на нее атрибут #[instrument(fields(request_id = request.id))] fn handler(request: ...) { ... }
Аа, понял, везде писать нужно. Я-то думал, как в Java mdc можно — забил в местный асинхронный аналог thread local значение один раз вверху стека и оно само пишется потом.
Аа, понял, везде писать нужно. Я-то думал, как в Java mdc можно — забил в местный асинхронный аналог thread local значение один раз вверху стека и оно само пишется потом.
Наоборот, номер запроса один раз добавляется в спан. Дальше все дочерние спаны и события его отнаследуют.