jaeger_g-01 Jaeger Tracing Integration

Jaeger is a distributed tracing system, inspired by Google’s Dapper paper and OpenZipkin, originally released as open source by Uber Technologies. Jaeger gathers information about user request flows and performance measurements / indicators. By using the OpenTracing API, an open and vendor neutral API, Jaeger enables users to avoid vendor lock-in when identifying and collecting data for analysis of distributed applications – especially for application performance.

Jaeger enables developers to integrate tracing functionally into their custom codebase for insights into application specific behavior. Frameworks can also use Jaeger to bring tracing functions into their respective framework.

Collecting Application Traces with Jaeger

Using Jaeger to collect traces in a specific codebase is a manual process, with development effort based on the OpenTracing API. Therefore Jaeger can utilize the existing integrations for OpenTracing with many common libraries and programming languages. However, any unique internal libraries and frameworks have to be manually instrumented by the developer(s).

OpenTracing integrations for a wide range of programming language are available, delivered either officially or by the OpenTracing community, including:

  • C#
  • Go
  • Java
  • JavaScript
  • Ruby
  • PHP
  • C++
  • ObjectiveC
  • Python

Jaeger Ui Presenting A Jaeger Span With Hierarchy And Timings But Without Deeper Knowledge Of The Infrastructure
Jaeger UI, showing a single Jaeger Span, without further information on depending services or infrastructure

Integrating Jaeger Traces into Instana

Instana seamlessly integrates information from Jaeger Spans into infrastructure / service dependency maps, by simply routing Jaeger traffic to the Instana agent. Data provided by Jaeger are also enhanced with automatically collected tracing information of various kinds. Since Instana can correlate AutoTrace™ data with trace data from all tracing feeds, including Jaeger and Zipkin, application stakeholders can get a much fuller picture of their overall application performance, individual requests / traces, and every infrastructure and application component across the entire application.

Ultimately, Instana’s Application Management solution provides automatic APM and Application infrastructure monitoring for dynamic applications with these key capabilities:

  • Continuous, automatic discovery of infrastructure changes
  • Automatic, no-restart, code instrumentation of programming languages like Java, .NET based ones, Python, PHP and others by Instana AutoTrace™
  • Reuse of application traces created using Jaeger / OpenTracing, Zipkin and others
  • Automatic failure discovery and thresholds for monitored services
  • Visualization of Service dependency maps
  • Tracing of user requests across all systems
  • Application and service quality monitoring

Comprehensive monitoring requires performance visibility for the physical or virtual host, containers, service instances, and any applications and services dependencies. Instana and Jaeger deliver automatic monitoring for highly dynamic environments, with the option to enrich Instana’s Auto-Tracing technology with application specific tracing or performance information.

Jaeger Span Natively Presented By The Instana Ui
Jaeger Span enriched with infrastructure and service dependency information and integrated into the Instana UI, providing much richer analytics

Instana’s data-source-agnostic backend combines configuration, performance and health data from Instana AutoTrace™, Jaeger, OpenTracing, Zipkin and many other data collection agents, to make it the quickest and easiest way to monitor supported technologies across the stack to deliver comprehensive application insights. The Instana agent automatically discovers all infrastructure components, deploys the necessary monitoring sensors and begins tracing applications and requests. Any changes in the application or infrastructure are detected in real-time, adjusting dependency maps and visualizations.

Information on the different supported technology sensors and integrations is available in the Instana Application Management Documentation.

Instana Ui With Automatically Created Dashboard Based On Zipkin Span And Knowledge Graph Data
Instana UI with an automatically created dashboard based on the Jaeger provided Traces, incorporating information based on Instana’s service dependency and infrastructure knowledge graph

Instana Installation: Getting Started

Ready to start tracing (or managing) your applications? You’ll need an Instana Trial or Account first. Already got one? The best place to begin is Instana’s Getting Started Guide.