Bom pessoal, nesse capítulo eu quero falar com você sobre Tracing, tá? E como é que tudo isso funciona e o porquê isso é praticamente obrigatório se você for trabalhar com microserviços, tá? E o porquê que eu tô dizendo isso. Quando você trabalha com tracing, isso significa que você vai conseguir rastrear todas as requisições que caem no seu microserviço. O que significa, galera? Vamos imaginar que o microserviço 1 recebe uma requisição, aí ele depende do microserviço 2, que manda uma requisição por 3 por 4 por 5 o que a gente aprende aqui nesse momento que isso acontece que cada requisição vai ter uma latência aqui né um response time de cada micro serviço porque porque você vai ter que trafegar os dados pela rede. Existem alguns pontos que podem acontecer durante esse processo. Normalmente, dois pontos importantes que você tem que se ligar. O primeiro ponto é que o usuário final faz uma requisição. Deixa eu botar o usuário aqui bonitinho para a gente. Esse usuário aqui faz uma requisição e essa requisição demora para caramba. E aí você vai querer saber, por que está demorando? Será que é o microserviço 1 que realmente está lento? Será que é o microservi um que realmente talento será que é o micro serviço dois talento então micro serviço dois micro serviço um tem que esperar o dois será que é o micro serviço três que talento então o dois tem que esperar o três e o um tem que esperar o dois será que é o quatro que talento e daí todos esses tem que esperar? Será que é o 5? Então isso, galera, é um problemão. É um baita problema, porque você tem que conseguir ter esse tipo de noção. E o que eu mais vejo nos dias de hoje é gente subindo a arquitetura baseada em microserviços e ter esse tipo de problema e não ter a menor ideia da onde isso está acontecendo e aí a gente tem um outro problemaço aqui também tá qual é esse problema eu chamei esse micro serviço e daí o usuário final recebe um erro 500 na ponta. Recebeu um erro 500 na ponta. A grande pergunta que fica aqui é, quem teve o erro? O microserviço 1 está com problema, é o 2 que está com problema, é o 3, o 4 ou o 5? Começa por aí. Agora, teve o problema. Qual é o problema que ele teve? Quais são os dados que ele recebeu para que esse problema acontecesse? você tem uma baita dificuldade de saber e localizar problemas que venham a ocorrer durante as requisições. A gente não tem essa dificuldade quando a gente está trabalhando com sistemas monolíticos, porque a gente sabe, se o usuário receber um problema, o problema está dentro do seu sistema. Provavelmente, se você for olhar no log, o log vai te mostrar ali um stack trace ou alguma coisa assim do que deu errado. O grande ponto é, se você recebe uma requisição que deu problema e o problema está aqui no microserviço 5, você vai ter que olhar o log do microserviço 1, do 2, do 3, do 4, e para perceber que o erro aconteceu apenas no 5. E às vezes o erro que aconteceu no 5 não foi necessariamente o erro dessa request que o usuário acabou trabalhando. Então você consegue perceber que o nível aqui é praticamente exponencial da dificuldade que você vai ter de conseguir descobrir e fazer o troubleshooting da sua aplicação então é por conta disso que a gente vai falar de tracing e mostrar pra você o como o tracing pode te ajudar beleza então vamos falar sobre isso no nosso próximo vídeo com mais calma aqui vamos nessa