February 2018: OpenTracing Monthly Newsletter

February was a great month for OpenTracing. In addition some amazing community integrations, such as Pandora.js by Alibaba, we had a number of conference proposals accepted. If you’re going to be at KubeCon EU in May or at OSCON in July, book your tickets now! We will be hosting OpenTracing workshops there in addition to the talks. Read more on KubeCon, OSCON, and other upcoming events in the sections below.

OpenTracing Project Updates

Documentation working group

The Documentation Working Group meets every Thursday. Read notes from the past meetings in the agenda document. New and returning contributors are welcome to attend.

Cross language working group

The Cross Language Working Group maintains the OpenTracing APIs and ecosystem. The goal is to staff each language with two contributors. The group meets every Friday. Read notes from the past meetings in the agenda document. New and returning contributors are welcome to attend.

OpenTracing calendar

We’ve started an OpenTracing calendar which lists recurring meeting times and scheduled talks, workshops, meetups, and so forth. We’ll be adding more events to this as time goes on.

Core API and Official OpenTracing Contributions

OpenTracing-Python 2.0

OpenTracing-Python 2.0 RC is out! The biggest change is the addition of Scopes and ScopeManager, both adapted from OpenTracing-Java v0.31. Check out the rest of the changelog in the release candidate announcement. This release has important information for tracing providers as you start planning to port to the new API.

OpenTracing-C# v0.12

OpenTracing-C# v0.12.0 is out! Similar to OpenTracing-Python 2.0, this change adds Scopes and ScopeManager. Christian Weiss is writing a blog post that will be published shortly. This release has important information for tracing providers as you start planning to port to the new API.

Dynamic Loading added to OpenTracing-C++.

This PR adds support for dynamic Tracer bindings for C++ applications instrumented with OpenTracing. The apps will now dynamically load tracing libraries at runtime instead of requiring them to be linked at compile-time. That means end users can choose to use any tracing system that supports OpenTracing. Currently this works with Envoy and NGINX.

Community Contributions

Pandora.js from Alibaba

Pandora.js is an application manager from Alibaba that integrates many capabilities such as monitoring, debugging, and resiliency. It provides native OpenTracing support to help inspect applications at runtime.

Zipkin playground full of examples

Zipkin-playground is a repo with examples of Zipkin-Opentracing compatible APIs for client-side tracing. Created by Daniel Schmidt of Mesosphere.

OpenTracing for Ruby on Rails (WIP)

Opentracing-rails is a distributed tracing instrumentation for Ruby on Rails applications based on the OpenTracing standard. It has examples of how to initialize Jaeger and Zipkin tracers. Built by Xavier Canal from Barcelona.

OpenTracing for Gin

Gin, a popular web framework written in Golang, has started adding helpers for request-level tracing.

Akka and Concurrency utilities for Java and Scala

More framework instrumentation has been contributed for Java.

  • Experimental OpenTracing support for Akka in Java and Scala.
  • Support for the Concurrent package in Java and Scala.

Experimental Rust API

An OpenTracing-Rust API is currently being explored by the community led by Michael Nitschinger of Couchbase. If you’re interested in distributed tracing and are experienced with the Rust programming language, now is a good time to fork the project and get involved.

Content From the Community:

Analyzing distributed trace data at Pinterest

Naoman Abbas of Pinterest presented the impressive Pintrace Trace Analyser at the last OTSC meeting. “The power of this tool is its ability to compare two batches of traces — displaying stats for each of the two and highlighting the changes. An unexpected and significant change in a metric can indicate that something’s going wrong in a deployment.” They shared much of the content in a blog post, Analyzing distributed trace data.

Debugging Containerized Microservices

Idit Levine, founder of Solo.io, presented at QCon about Debugging Containerized Microservices. She shared her open source project Squash, which is OpenTracing-native. In her talk, she went over the concepts and also did some live demoing!

Using OpenTracing with Istio/Envoy

“We have seen that tracing with only Envoy [as opposed to across your system and with Istio] is very simple to set up. It does not require any additional libraries, however there are still some actions needed for header propagation. This can be done automatically with OpenTracing, and it also adds more visibility into the monitored process.” Best practices for using OpenTracing with Envoy (or Istio) by Pavol Loffay of RedHat.

Testing and Debugging in Production with Distributed Tracing

Priyanka Sharma presented at the Testing in Production meetup at Heavybit. She shared ways tracing alleviates the pain when developers are running microservices using CI/CD. Listen to the talk here.

Ways to Engage

As we mentioned in the beginning of this post, there are many opportunities to learn or help others learn about distributed tracing and observability. Below are some of the upcoming events. Please reach out if you can attend and/or want to be more involved (email: hello@opentracing.io).

OpenTracing Austin Meetup: March 29th

The OpenTracing end user community is getting together for the first time in Austin in March. HomeAway will present their work on tracing, and there will be an end-user panel about observability in production. The participants are Indeed, PayPal, Under Armour, and HomeAway. To attend, go to the meetup page and RSVP!

KubeCon EU: May 2nd–4th

There are two OpenTracing talks and two salons. Salons are breakout sessions where developers interested in learning about distributed tracing can come and learn from speakers and mentors. We’d love your help to organize the salons:

OSCON: July 17th — 19th

There are three OpenTracing talks and a workshop at OSCON this year. Salons are breakout sessions where developers interested in learning about distributed tracing can come and learn from speakers and mentors. We’d love your help to organize the salons:

And that’s all for this month. Want to share an OpenTracing-related update in the newsletter? Email us at hello@opentracing.io. We’d also love feedback as always, so don’t hesitate to drop us a line!