Hacker News new | ask | show | jobs
by yoshuaw 3187 days ago
Last I checked "OpenTracing-compatible" only went as far as using common terminology. Tbh I was a bit disappointed by this; has more been defined since? E.g. are there now shared schemas, APIs of sorts?
2 comments

Yes, OpenTracing is an API, with bindings currently available in 9 languages. Please take a look.

http://opentracing.io/

Only the semantics and libraries implementing them are there. The wire format is not specified, which is a pretty annoying problem to deal with.
It's weird for most people. We're used to cross-language wire protocols. OpenTracing is different.

An analogy is SLF4J for Java logging. All libraries, etc use the same interface and the final user determines the backend: java.util, Logback. This makes sense if you have many authors of libraries with a cross-cutting concern.

This really makes OpenTracing half a dozen different standards, one per language, with common semantics.

Should it be about a wire protocol instead? Discussion at https://github.com/opentracing/specification/issues/34

There are discussions about it happening. If you haven't yet, join the community and make your opinion heard :)
"OpenTracing-compatible" is strict API compatibility in any supported language. The cross-language spec is "terminology-based" since it's, well, cross-language.

There is an open issue about Envoy/linkerd/Istio support here: https://github.com/opentracing/specification/issues/86 (as well as in a number of other locations)

As an OpenTracing contributor, the core value prop still seems quite strong in that instrumentation of OSS dependencies is a massive pain point and should not be tracing-system-specific since it doesn't need to be. There is also value in common protocols and formats, and in that spirit there is interest in broadening scope to include those... though from seeing many companies adopt tracing tech, I haven't observed protocol compatibility as the main pain point or blocker.