OpenTracing Integration
Tracing
OpenTracing Integration

OpenTracing is a popular way for developers to gather data about response times of their microservices and distributed processing for production monitoring. The OpenTracing project (link resides outside of ibm.com) is under the umbrella of Cloud Native Computing Foundation (CNCF) (link resides outside of ibm.com), the organization managing many of the popular cloud native open source technologies.

Start your FREE TRIAL today!

14 days, no credit card, full version

Introduction to Application Monitoring and OpenTracing

OpenTracing is an open and vendor neutral API for tracing which enables users to avoid vendor lock-in when collecting data for analysis to understand distributed application performance. It also enables developers of company-unique applications to gather application specific performance data. Furthermore framework developers are able to provide tracing functionality in a standard fashion to enable better insights into framework behavior. OpenTracing based technologies, like Jaeger, is used by many web-scale companies like Uber, Apple, and Yelp to get deeper visibility into their highly distributed and dynamic applications.

Collecting Application Traces with OpenTracin

Collecting OpenTracing traces with the provided API is entirely a manual process. The reason developers may choose an API based approach is to have complete control of what is traced to improve the precision of data and add context to the data. OpenTracing specific code must be added to the microservice’s code base to collect traces to form a span. Conversely, Instana AutoTrace™ is able to collect tracing data automatically for common programming languages, frameworks and (database) connectors. Instana seamleassly correlates automatic tracing data from one service with spans provided by the manual OpenTracing approach from other services.

OpenTracing performance monitoring centers around metrics relevant to its traces in within the environment. Instana’s OpenTracing integration natively integrates OpenTracing provided traces with information collected by Instana AutoTrace™.

Instana’s OpenTracing Integration

Instana is data source agnostic. It will automatically process request timing spans from both automatic and manual instrumented code.

Instana’s OpenTracing implementations are open source and hosted on GitHub:

  • Go OpenTracing (github) (link resides outside of ibm.com)
  • Java OpenTracing (github) (link resides outside of ibm.com)
  • Node.js OpenTracing (github) (link resides outside of ibm.com)
  • Python OpenTracing (github) (link resides outside of ibm.com)
  • Ruby OpenTracing (github) (link resides outside of ibm.com)
  • Crystal OpenTracing (github) (link resides outside of ibm.com)
  • PHP OpenTracing (github) (link resides outside of ibm.com)

Instana collects OpenTracing data in realtime. Traces are named using our service mapper to create a ‘Service’ under management. Naming is automatic, but can be adjusted to fit the users requirements. Each generated trace is collected, grouped and analysed within 3 seconds of its ingestion. For each configured service, Instana automatically creates a dashboard and tracks KPIs (throughput, latency and error rate) to monitor the quality of the named Services. Using Instana’s AI capabilities, any anomalies are detected and Incidents are generated.No need to build custom rules to manage performance, Instana does this automatically.

Visualizing OpenTracing Traces

Collected traces may be filtered by various criteria, for example: erroneous, start and end points, metadata content, status code etc.

Configuring Instana’s OpenTracing Integration

Ready to start monitoring OpenTracing? Begin by signing up for an Instana Trial or Account. If you already have an account, check out Instana’s OpenTracing Monitoring Documentation.

Instana Trial or Account OpenTracing Monitoring Documentation.