Nov 12, 2020   |  By Alex Gervais
Implementing distributed tracing is fast becoming a fundamental expectation when building modern (distributed) systems. However, this is yet another thing for developers to learn, and configuring distributed tracing on Kubernetes is hard, right? Actually, no. Getting started with Jaeger on Kubernetes has never been easier.
Oct 8, 2020   |  By Dotan Horovits
Logs, metrics and traces are the three pillars of the Observability world. The distributed tracing world, in particular, has seen a lot of innovation in recent months, with OpenTelemetry standardization and with Jaeger open source project graduating from the CNCF incubation. According to the recent DevOps Pulse report, Jaeger is used by over 30% of those practicing distributed tracing.
Oct 7, 2020   |  By Joseph Heck
I have been following distributed tracing technologies — Zipkin, OpenTracing, Jaeger, and others — for several years, without deeply trialing with any of them. Just prior to the holidays, we were having a number of those “why is this slow?” questions about an express application, written in typescript, providing an API endpoint.
Aug 18, 2020   |  By Yuri Shkuro
August 3rd, 2015 was the date of the first commit in the internal Jaeger repository at Uber. Technically, the true birthday of the project was probably a week or so earlier, because while I was prototyping the collector service we went through a number of project names, some of them rather embarrassing to name here, and the real first commits happened in a differently named repository.
Aug 5, 2020   |  By Joe Elliott
Jaeger primarily supports two backends: Cassandra and Elasticsearch. Here at Grafana Labs we use Scylla, an open source Cassandra-compatible backend. In this post we’ll look at how we run Scylla at scale and share some techniques to reduce load while ingesting even more spans. We’ll also share some internal metrics about Jaeger load and Scylla backend performance. Special thanks to the Scylla team for spending some time with us to talk about performance and configuration!
Aug 5, 2020   |  By Joe Elliott
Nothing is more frustrating than feeling like you’ve finally found the perfect trace only to see that you’re missing critical spans. In fact, a common question for new users and operators of Jaeger, the popular distributed tracing system, is: “Where did all my spans go?” In this post we’ll discuss how to diagnose and correct lost spans in each element of the Jaeger ingestion pipeline.
May 26, 2020   |  By Pavol Loffay
In this article, we are going to have a look at using Jaeger clients with W3C Trace-Context propagation format. The standardized context propagation format assures interoperability between different tracing systems and instrumentation libraries. In this regard we are going to explore two use cases. First how to use OpenTelemetry SDKs in Jaeger instrumented environment.
May 1, 2020   |  By Pavol Loffay
In this article we are going to explain Jaeger integration with the OpenTelemetry collector, describe differences between these two and have a look at Kubernetes deployment via Jaeger Operator. OpenTelemetry collector is a vendor-agnostic service for receiving, processing and exporting telemetry data. In the Jaeger project we have decided to deprecate the Jaeger collector and migrate its functionality to an implementation based on OpenTelemetry collector.
Apr 8, 2020   |  By Annanay Agarwal
In this article you will learn how to generate Jaeger model classes and gRPC services from protobuf definitions. The generated code can be used to write integrations or it can be used in tests to query tracing data from Jaeger-query service. This is the use case we are going to look at in more detail.
Mar 17, 2020   |  By Pavol Loffay
In the previous blog post Data analytics with Jaeger aka traces tell us more! we have introduced our data science initiative and platform. The ultimate goal is to develop new functionality within the Jaeger project based on AI/ML that will provide new insights into our applications. This type of functionality is also referred to as AI operations (AIOps). Jupyter notebooks provide a simple user interface for experimenting with data.
This talk comes from practical experience of running a cloud-based SAAS under Kubernetes for the last two years. Prometheus is good for the big picture view of how things are running, while Jaeger acts like a microscope on the internal workings of your system.
Nov 29, 2017   |  By Estafet Consulting
Shows how a microservices architecture can be instrumented to generate Opentracing events which are monitored and presented using Jaeger. The demo is based on one of our github projects - see estafet.com/github and download the source which runs on minishift.
Nov 28, 2017   |  By Estafet Consulting
Opentracing gives us a standard for recording interactions across a distributed microservice architecture, whilst Jaeger is a monitoring tool that shows us the flow of events. It gives huge insight to both devs and ops teams, and is also a potentially cheaper way of demonstrating compliance with MiFID and GDPR.
Nov 8, 2017   |  By Utah Golang User Group
Learn the basics of OpenTracing and Jaeger and why they are so awesome. Jason Newman, Chief Architect at Weave, presents on how Weave uses OpenTracing and Jaeger to diagnose issues on their micro-service architecture.

Open source, end-to-end distributed tracing. Monitor and troubleshoot transactions in complex distributed systems.

As on-the-ground microservice practitioners are quickly realizing, the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability. It is simply an orders of magnitude larger problem to network and debug a set of intertwined distributed services versus a single monolithic application.

Problems that Jaeger addresses:

  • Distributed transaction monitoring
  • Performance and latency optimization
  • Root cause analysis
  • Service dependency analysis
  • Distributed context propagation

We are a Cloud Native Computing Foundation hosted project.