Я использую Sleuth, и мне интересно, можно ли получить текущий traceId? Мне не нужно добавлять какие-либо ответы или что-то еще. Мне просто нужен traceId для электронных писем, предупреждающих команду разработчиков в определенных ситуациях.
Spring Cloud Sleuth - получить текущий traceId?
Ответы (2)
Вставьте bean-компонент трассировки и вызовите currentSpan (), чтобы получить текущий диапазон. Оттуда вы можете получить идентификатор трассировки.
person
Marcin Grzejszczak
schedule
09.08.2019
Если текущая трассировка не выполняется, tracer.currentSpan()
вернет null
и, следовательно, tracer.currentSpan().context()
выдаст NPE. Если вы не уверены, есть ли текущая трасса, и хотите создать ее, если ее нет, вам следует использовать
var span = tracer.startScopedSpan("fancyTitle");
try {
var traceId = span.context().traceIdString();
// use traceId ...
} finally {
span.finish(); // clean up after yourself
}
Обратите внимание, что это создаст новый диапазон в существующей трассе, т.е. всегда будет генерировать новый spanId
.
person
Yasammez
schedule
14.04.2021