Jaeger vs Grafana Tempo: Qual Backend de Tracing?
Jaeger oferece indexação e consulta ricas de traces; Grafana Tempo armazena traces de forma barata em object storage e se apoia em trace IDs e na correlação com logs/métricas.
Jaeger indexa spans para busca flexível por serviço, operação e tags, exigindo um backend com capacidade de busca. Tempo deliberadamente dispensa um índice pesado, armazenando traces em object storage e localizando-os por trace ID, apoiando-se então no Grafana para correlacionar a partir de logs e métricas. Jaeger vence na busca de traces autônoma; Tempo vence em custo e no workflow de métricas-logs-traces do Grafana.
| Jaeger | Tempo | |
|---|---|---|
| Índice | Índice rico de spans | Mínimo (trace ID) |
| Custo de armazenamento | Maior | Baixo (object store) |
| Busca | Por tags/serviço | ID + correlação |
| Ajuste ao ecossistema | UI autônoma | Grafana-nativo |
| Melhor para | Busca ad hoc de traces | Traces baratos no Grafana |
Caso de uso e custo
Jaeger serve a equipes que precisam buscar traces diretamente por atributos sem um fluxo centrado no Grafana. Tempo serve a equipes já no Grafana que querem armazenamento de traces barato e escalável e alcançam os traces via exemplars a partir de métricas e logs.
Ajuste a ops e CI
Tempo é operacionalmente mais simples graças ao armazenamento somente em object store; Jaeger precisa de um backend de busca como Elasticsearch ou Cassandra. Ambos são conteinerizados e testados por integração no CI, onde runners mais rápidos encurtam builds e testes de pipeline de traces.
O veredito
Quer busca de traces rica e autônoma: Jaeger. Quer traces baratos em object store integrados à stack de métricas-logs-traces do Grafana: Tempo. Escolha conforme você consulta traces diretamente ou correlaciona a partir do Grafana.