Agora que você entendeu que observabilidade consegue perguntar o porquê que as coisas estão acontecendo, você tem que entender que a observabilidade tem alguns pilares para que a gente consiga interpretar o que está acontecendo com alguma coisa. E aqui tem uma imagem que a galera da Elastic fez em uma apresentação, que é o Ricardo Ferreira, na época que ele estava trabalhando na Elastic. E ele fez esse slide aqui, eu acho bem interessante para você conseguir ver. Então o que acontece? A observabilidade tem pilares, mas aqui o que eles falam e fala o seguinte não é bem pilares tá porque pilares são coisas vamos dizer assim independentes né cada um tem a sua parte então o que eles querem dizer aqui é que a observabilidade ela tem pai ou seja canos ou, algo que a gente consegue conectar. Como assim? Olha só que interessante. Ele fala aqui que você tem algo chamado logging, tracing e metrics. O que são logs? Primeira coisa para a gente entender. Logs são eventos. E o que é um evento? Um evento é algo que aconteceu no passado ou seja o sistema botou o usuário criado e mail enviado então tudo o que aconteceu no passado são blogs e normalmente esses blogs eles têm informações completas. Normalmente. Então a data que aconteceu, qual foi o servidor, qual foi a máquina, qual foi o erro que aconteceu. Então essas informações são logs, são eventos que os sistemas vão disparando para a gente conseguir olhar. Legal? Então essa é uma parte, quando a gente fala de pilares de observabilidade, que é a parte de log. A gente vai entender o porquê que ele chama essa parada de pipe. Então, outra coisa que a observabilidade tem é a parte de métricas. Métricas é qualquer medida que você acaba tendo. Dados que você consegue agregar. Então, por exemplo, eu estou com 80% de memória RAM. A média da minha memória RAM é de 60%. Eu tenho 200 pessoas no meu site agora. Eu tenho 30 compras por minuto. Então você consegue medir. Tudo que dá para medir, você fala com métricas. Legal? E a gente tem essa outra parte aqui, que é chamada de tracing. Então, basicamente, o que acontece? O tracing é uma forma de você rastrear o que está acontecendo dentro daquela caixa preta. Vamos imaginar o seguinte. Eu fiz uma request. Essa request bateu no meu sistema, um monte de operação aconteceu, e, sei lá, meu sistema está demorando. Quando eu vou olhar, eu consigo olhar essa request, ver por todas as entranhas, vamos dizer assim, do meu software, e falar o seguinte, olha, aqui demorou porque eu tenho uma consulta no banco de dados que está demorando 5 segundos, olha, aqui demorou porque eu tenho uma consulta no banco de dados que está demorando 5 segundos, então já era. Sacou o que eu estou conseguindo dizer? Então a rastreabilidade, o tracing, permite você ver o caminho que uma requisição está ali dentro. Mas não somente o caminho, o escopo, o contexto. Por quê? Porque eventualmente eu posso ter diversas request cada request um pedido diferente às vezes eu tenho uma request que passa por diversos sistemas então eu tenho que conseguir acompanhar uma única request dentro de um contexto né por exemplo a criar uma conta uma nova conta então tem que pegar essa request, passar para o sistema 1, passar para o sistema 2, e no sistema 3 ela deu um erro. Mas eu tenho que saber que ela deu erro, baseado no contexto onde ela passou nesses três sistemas. Legal? Então, essa que é a ideia quando a gente está falando de rastreabilidade. Então, normalmente, quando a gente fala de pilar de observabilidade, a gente está falando de tracing, métricas e log. O que aqui a galera da Elastic está falando? Além de você ter essas três áreas, essas três áreas têm momentos em comum. Legal? E esses momentos em comum é o que eles chamam de pipes. Ou seja, porque existe um ponto de intersecção naquele momento. Por exemplo, meu sistema deu um erro. Na hora que esse meu sistema deu um erro, ele gerou um log de um tracing falando que o erro foi porque não conseguiu inserir o dado no banco. Aí eu consigo ver naquele momento quanto estava, quanto o meu banco de dados estava naquele momento ocupado com relação à memória. Legal? E ao mesmo tempo eu consigo ver qual foi o comando de inserção no banco de dados através do meu preço entendeu então você consegue naquele instante naquela request você vê qual logo que ela gerou o que aconteceu com ela e como que estavam as métricas naquele momento. Então, você não observa as coisas apenas de forma separada. Eu observo as coisas com os dados em conjunto. Quando eu olho dados em conjunto, eu tenho o contexto. E quando eu olho o contexto, as coisas ficam mais fáceis eu vou dar um exemplo pra você vamos imaginar que eu fiz uma requisição eu vou olhar no trecho e ela mostrou ali pra mim que demorou para inserir os dados no banco aí eu quero pensar poxa vida porque demorou para inserir então naquele momento eu vou ver quanto que tava a as métricas eu vou vê-la que naquele momento o cpu do meu banco de dados estava em 100% então falou op não inseriu por conta que as métricas estavam zoadas por conta do meu banco de dados ou não inseriu porque aí eu olho no blog e o blog mostra ali que houve um erro de conexão entende como essas coisas se conversam então quando a gente fala de pilar a gente fala normalmente de coisas separadas quando a gente fala em pai é porque os dados eles fluem de uma forma que você consegue capturá-los e ver o contexto deles essa interconexão dentre esses lados para você conseguir ter uma informação integrada tá quando você consegue olhar uma informação integrada você tem contexto legal e quando você tem contexto você consegue tomar uma decisão melhor porque às vezes um simples log não vai representar muita coisa às vezes simplesmente saber que o seu cpu estava 80% não vai ajudar muita coisa ou simplesmente saber que o seu CPU estava 80% não vai ajudar muita coisa. Ou simplesmente olhar que o seu banco de dados também estava com problema. Maravilha? Então é isso aí.