Members of OpenTracing made a New Year’s Resolution in 2018 to communicate the progress made by the project regularly and consistently. To that end, this is the first of many posts to come. Read on to learn about what happened in and adjacent to OpenTracing in the month of January 2018.
OpenTracing project updates
DataDog, New Relic, Instana, and Skywalking Joined the OpenTracing Specification Council
The following people+projects have recently joined the OTSC:
- Emanuele Palazzetti, DataDog
- Erika Arnold, New Relic
- Fabian Lange, Instana
- Wu Sheng, Skywalking
To learn more about the OTSC and its responsibilities, please check out the project organization document.
Kicking off documentation and language maintainers projects
Ted Young is kicking off two working groups in OpenTracing:
- The Documentation Working Group is codifying the existing knowledge base to create complete documentation, so it can be easily accessed via the OpenTracing website. Start helping now!
- The Cross-Language Working Group manages the OpenTracing APIs and ecosystem. The goal is to staff each language with two contributors. Join in!
Core API and official OpenTracing contributions
Java v0.31 launched
The latest version of the Java API has been released. This version replaces the experimental context propagation introduced in v0.30.
Though v0.31 “sounds” like a small change from v0.30, in pre-1.0 semver tradition there are major and consequential improvements in this release, and it involved months of cross-organization collaboration and testing.
Changelog
- BaseSpan and ActiveSpan are simplified into a single Span class.
- Scope replaces ActiveSpan, removing Continuations.
- ScopeManager replaces ActiveSpanSource.
- Tracer.activeSpan() returns the current value of Tracer.scopeManager().active().span() as a convenience.
- startManual() deprecated in favor of start().
- Removed log.(Object) methods.
- Created new examples directory.
To allow both v0.30 and v0.31 context propagation to work together, a backwards-compatibility layer has been created. Learn more.
Java spring messaging
As part of OpenTracing’s growing support for Spring, Spring Messaging instrumentation has now been added. Please also check out the main Spring Cloud OpenTracing project.
Community Contributions
Spring cloud sleuth announced support for OpenTracing
Spring Cloud offers a simple and accessible programming model to the most common distributed system patterns, helping developers build resilient, reliable, and coordinated applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly. Sleuth is Spring Cloud’s distributed tracing system and they announced support for OpenTracing.
Zipkin implementation for OpenTracing tracer in PHP
Built by Typeform engineer, José Carlos Chávez, this library allows OpenTracing API consumers for PHP to use Zipkin as their tracing backend.
Content from the community:
OpenTracing in Flask tutorial
“You may have noticed that both OpenTracing and Jaeger’s tagline mention “distributed”. Besides providing a vendor-neutral instrumentation API, OpenTracing also provides a standard way to propagate trace context across microservices. This is crucial for debugging issues if your app is composed of microservices. I like to think of it as distributed backtraces…”
by Derek Haynes, Scout App
Where did my messages go? Tracing distributed systems with OpenTracing
“This presentation will show how to instrument your Java applications with OpenTracing to trace messages from web and mobile clients to your services and back to your data systems,by using several OpenTracing-compatible tools (Uber’s Jaeger and Zipkin) to visualize your message flows, transaction per transaction.”
by Jorge E. Q. Otoya
Distributed tracing workshop update
Tracing community leaders organized a Distributed Tracing Workshop last week in Seattle. Here’s a quick recap by an attendee, Ted Young.
- The Trace-Context specification moved steadily towards consensus, but work continues.
- Security issues around Correlation Context were discussed. Unless the header contents are encrypted, there is a chance that they could be leaked to a third party.
- Lots of interest in 100% Tracing, service mesh integration, common data formats.
- Wu Sheng presented SkyWalking, newly accepted to Apache.
- OpenTracing and OpenCensus gave project updates.
Ways to engage
Community collaboration on CFPs
OpenTracing contributors, users, and enthusiasts from companies including ScoutApp, LightStep, Scytale, DataDog, and Prometheus collaborated on conference calls for papers in January. OpenTracing-related talks were submitted to KubeCon + CloudNativeCon Europe, Monitorama, Velocity, and DockerCon.
If you have suggestions of conferences we should attend or would like to collaborate on a CFP, send a note to hello@opentracing.io.
OpenTracing at testing in production Meetup
Priyanka Sharma will be speaking about “Testing and Debugging in Production with Distributed Tracing” at the Testing in Production meetup on February 20, 2018 at Heavybit in San Francisco. Please stop by if you’re in the area.
Share your experience and feedback
We’d love to collaborate on any case studies showing OpenTracing usage in production environments. If you’re interested, send us a note at hello@opentracing.io!
Want to share an OpenTracing-related update in the newsletter? Email us at hello@opentracing.io. Also, this our first post and we’d love feedback, so don’t hesitate to drop us a line!