What is Zipkin?
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)
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.
- 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 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 an automatically created dashboard based on the Zipkin provided Traces, incorporating information based on Instana’s service dependency and infrastructure knowledge graph