Zipkin_g-01 Zipkin Tracing Integration

Zipkin is a distributed tracing technology, based on Google’s Dapper paper, that gathers information about user request flows and performance measurements / indicators. As an open and vendor neutral API, Zipkin enables users to avoid vendor lock-in when identifying and collecting data for analysis of distributed applications – especially for application performance.

Zipkin enables developers to create tracing functionally in their custom codebase for insights into application specific behavior. Frameworks can also use Zipkin to provide the same tracing functions into the specific framework.

Collecting Application Traces with Zipkin

Using Zipkin to collect traces in a specific codebase is a manual process. Zipkin provides integrations (so-called instrumentation) with many common libraries. However, any unique internal libraries and frameworks have to be manually instrumented by the developer(s).

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

  • .NET (C#, VB.NET and others)
  • Go
  • Java
  • JavaScript
  • Ruby
  • PHP
  • C++
  • Elixir
  • Lua
  • Python

Zipkin Ui Showing A Zipkin Trace
Zipkin UI, showing a basic Zipkin Trace, without further information on depending services or infrastructure

Integrating Zipkin Traces into Instana

Instana seamlessly integrates information from Zipkin Spans into infrastructure / service dependency maps and enhances data provided by Zipkin with automatically collected tracing information of various kinds. Since Instana can correlate AutoTrace™ data with trace data from all tracing feeds, including OpenTracing and Jaeger, 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 Zipkin
  • 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 Zipkin deliver automatic monitoring for highly dynamic environments, with the option to enrich Instana’s Auto-Tracing technology with application specific tracing or performance information.

Zipkin Trace In Instana Ui Enriched With Infrastructure And Dependency Information
Zipkin Traces 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™, Zipkin, OpenTracing, Jaeger 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 Trace And Knowledge Graph Data
Instana UI with an automatically created dashboard based on the Zipkin 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.