What is Jaeger?
Jaeger is a distributed tracing system, inspired by Google’s Dapper paper and OpenZipkin, originally released as open source by Uber Technologies. An extended part of Enterprise Observability, 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 and visibility into application 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:
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.
Instana’s Enterprise Observability Platform and 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 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 an automatically created dashboard based on the Jaeger provided Traces, incorporating information based on Instana’s service dependency and infrastructure knowledge graph