The OpenTracing and OpenCensus projects have announced that they will merge and create a single, unified project. The goals of the merge include creating a single instrumentation standard, maintaining essential functionality without including every feature from both projects, a loosely coupled architecture to enable pluggability, and cover within its scope traces, metrics and logs.
OpenCensus provides both tracing and metrics APIs while OpenTracing provides a tracing API. The tracing features of both aim to provide a consistent way to trace across different systems and languages.
OpenTracing provides an API for integrating tracing into an application by providing a framework for distributed context propagation. OpenTracing's key interface - Tracer - "abstracts away the differences among numerous tracer implementations". Tracer implementations include Jaeger, Datadog, and Instana. The underlying tracer implementation can thus be changed without having to change the instrumented code.
OpenCensus has APIs for metrics collection as well as tracing. Both projects have the concept of a trace as a group of spans - where each span represents a single operation. OpenCensus has "exporters" that can be used to export the collected data, to various backends like Google Stackdriver, Elasticsearch, Jaeger and Prometheus or one's own custom backend. In addition, OpenCensus has tags - key value pairs that are typically part of time series metrics - that are associated with both metrics and traces. There is a proposal to add top level support for logging, so that a span can be correlated with log entries, but the actual integration with specific logging frameworks is not specified by the spec.
In a recent monthly call of the OpenTracing Specification Council, Ted Young from LightStep explained that the governance structure of the new project will probably be based on how Kubernetes works. Although more details of the governance structure are not forthcoming yet, the combined leadership team will consist of two founders from each project, and a fifth neutral member Sarah Novotny. The technical track for the new project is already underway, and a Java prototype is being developed. The combined project, temporarily being called OpenConsensus, will be ultimately part of the CNCF.
One of the stated goals of the new project is to ease migration for existing users of both projects.