Instana Announces Support for OpenTracing

December 8, 2016

Post

One of Instana’s core features is the ability to automatically trace and analyze every request in a complex system without any configuration or measurable impact.

This automatic tracing is currently available for Java, Scala, PHP, NodeJs and Ruby, with more languages and technologies to follow very soon. Furthermore, we offer an extensive SDK to allow custom tracing in any programming language or type of application.

Today we proudly announce more choice for customers by supporting OpenTracing.

About OpenTracing

OpenTracing is an open and vendor neutral API for tracing, which enables users to avoid vendor lock in, by allowing to switch the OpenTracing implementer at any time. It also enables developers of frameworks to provide tracing functionality in a standard fashion to enable better insights into framework behavior when using any OpenTracing implementation. Web-scale companies like Uber, Apple and Yelp are using OpenTracing to get deeper visibility into their highly distributed and dynamic applications. The reason for using an SDK-based approach in favor of an agent based approach is that architects often want to have 100% control of what is traced to improve the precision of the feedback.

Instana needs high quality data to extract information about quality of service and application health utilizing machine learning technologies. Therefore OpenTracing can be a high quality source of data, as developers normally know very well which data is useful to trace and analyze problem situations.

Today we announce the initial release of OpenTracing for:

Our implementations can be found as open source on GitHub and can be easily used by following a few simple steps.

OpenTracing and Instana Built In Tracing

Instana strives to give customers flexibility on how traces are captured by our system. We treat any trace, regardless of its origin, equally. OpenTracing is an option for those customers who want higher control and flexibility of exactly what is traced. In fact, our automatic instrumentation is fully compatible with our OpenTracing implementation. Traces captured from our automatic instrumentation can be combined or enhanced with specific OpenTracing data. This allows customers to combine custom applications (where OpenTracing SDK can be used) with legacy and third party applications where adding custom trace code is impossible.

Open Tracing Example

The following example shows how to use Instana OpenTracing for NodeJs, where automatic instrumentation for express is combined with OpenTracing.

const instana = require('instana-nodejs-sensor');
instana({
  tracing: {
    enabled: true
  }
});
 
const opentracing = require('opentracing');
const express = require('express');
 
opentracing.initGlobalTracer(instana.opentracing.createTracer());
const tracer = opentracing.globalTracer();
 
const app = express();
 
app.get('/', (req, res) => {
  var spanContext = instana.opentracing.getCurrentlyActiveInstanaSpanContext();
  var authSpan = tracer.startSpan('auth', {childOf: spanContext});
  authSpan.finish();
  res.send('OK');
});
 
app.listen(3000, () => {
  console.log('Listening on port 3000');
});

When the above example is invoked from a browser, the trace in Instana automatically shows the incoming http request and the created OpenTracing child span. So both – the automatic generated HTTP call and the OpenTracing call are correlated in the same Trace.

trace

We think that this is a great example for adding additional data sources to Instana traces then visualized and analyzed in a consistent manner. In the same way, we collect and analyze metric data from DropWizard Metrics to support custom metrics by users. We will continue to add extensions for additional types of user defined data. All data, traces and context are always added into our Dynamic Graph model for continuous analytics, understanding and forecasting.

Play with Instana’s APM Observability Sandbox

Customer Stories
Innovation is embedded in TIH Investment Holdings’ DNA. From launching Auto & General Insurance in 1985, to launching an initiative to assist Black-owned Exempted Micro Enterprises in taking their business to the...
|
Announcement, Conceptual, Customer Stories
This guest blog post was written by Dean Record, Engineer at Goji Investments. Goji Investments launched in 2016. Our platform democratises access to real estate, business lending, renewables, and other alternative investments....
|
Developer, Product, Thought Leadership
Introduction Microservice architectures have the simultaneous challenge of information hiding and information discovery. Irrelevant services are hidden to make the system understandable by focusing on what is important and ignoring everything else....
|

Start your FREE TRIAL today!

As the leading provider of Automatic Application Performance Monitoring (APM) solutions for microservices, Instana has developed the automatic monitoring and AI-based analysis DevOps needs to manage the performance of modern applications. Instana is the only APM solution that automatically discovers, maps and visualizes microservice applications without continuous additional engineering. Customers using Instana achieve operational excellence and deliver better software faster. Visit https://www.instana.com to learn more.