As part of our ongoing series spotlighting open-source projects, today we’re talking about OpenTracing.
OpenTracing offers vendor-neutral open standard for distributed tracing. Superuser talks to Priyanka Sharma, OpenTracing contributor and head of product marketing, partnerships and open source at LightStep, about how it got started and how you can get involved.
What’s the origin story of the project?
- Tracing has been around since the 70s
- In the industry, Google was one of the pioneers of the practice with Dapper
- Tracing is the only way see through a distributed system and know where the bottlenecks are
- Despite that, it’s not widely used because the way to get data, the instrumentation, is arduous.
- The creator of Dapper, Ben Sigelman, and other industry experts such as Yuri Shkuroof Uber (Jaeger tracing system author), Adrian Cole of Zipkin, got together and built the OpenTracing spec to make instrumentation easier.
- It became the third hosted project to join the Cloud Native Computing Foundation in October 2016.
Resources to learn more:
https://docs.google.com/presentation/d/13QhsINIXglNTP6jdf_0B0YOSrlRNhwgOMNEp8CQpICc/edit#slide=id.g213efb1672_0_60 (slide 1 – 8)
What’s the user profile? Who benefits most?
Great questions! Overall, this is for people who run distributed systems.
There are three audiences:
Application developers — People working on software systems can use OT to instrument their code base without fear of vendor lock-in and with support from the OSS community because of instrumented projects
OSS project maintainers — Now maintainers can offer their users (the app devs) a way to achieve visibility through their frameworks and libraries without a. Having to pick a vendor, b. Without having to built a tracing solution.
Tracing/performance vendors — Vendors can now onboard customers easier because what was before a hard, intractable task with dubious results is now a simple integration process where customers can switch out different vendors with ease.
What kind of contributions or contributors do you need most?
Anything that expands the footprint of OpenTracing is huge. So people who are willing to instrument various frameworks and libraries are very useful. One piece of advice is: tracing systems are more useful when they are cross languages. So rather than build out your own special snowflake tracer, contribute to the existing ones like Jaeger and Zipkin.
How does your project contribute to the open infrastructure landscape?
This project is critical to anyone who is modernizing their architecture. It brings control and visibility to microservices architectures. As people go from monoliths to services, the operational burden increases exponentially. If the tooling isn’t right from when you have one service, the whole structure can come crashing down. OpenTracing is here to help. And it does so with openness, working with all the open source solutions people might use, in conjunction with the closed source things people use. This means people at any stage of openness can benefit from it.
How does your community collaborate? How can people get involved?
We work through two tools primarily – GitHub and Gitter. We also have a twitter handle for the fun stuff and see each other at conferences and meetups. Best way to get involved is to check out opentracing-contrib and opentracing orgs on GitHub to see coverage and then join Gitter with specific questions and ideas. You can also email us at [email protected]
Choose your own adventure: anything we didn’t ask that our readers should know?
Some myths about tracing are:
- I don’t need it if I have structured logs
- It’s useless unless my whole system is instrumented
- I have logging and metrics, so I don’t need tracing
- I need to be an advanced guru to trace
- It’s only useful if I build my own special system
Want to understand more? Join our Gitter channel!
- Congratulations to the 2022 Superuser Awards Winners: OVHcloud, Ant Group - June 7, 2022
- 2022 Superuser Awards Nominee: Inspur - May 4, 2022
- 2022 Superuser Awards Nominee: Ant Group - May 3, 2022