Cinnamon 2.8 migration guide

This is a guide for migrating from Cinnamon 2.7 to Cinnamon 2.8.

OpenTracing

Cinnamon has been upgraded to OpenTracing 0.31 (and Jaeger client 0.23) and is now integrated with the GlobalTracer and active spans managed by the ThreadLocalScopeManager, provided by the opentracing-util module.

If a global tracer has already been registered, Cinnamon will use this global tracer rather than create a new tracer. If Cinnamon creates a tracer, then it will also register this tracer as the global tracer.

If you’ve been using the internal Cinnamon API in cinnamon.opentracing.TraceGlobal, switch to accessing the global tracer via io.opentracing.util.GlobalTracer.get instead.

If you’ve been using the internal Cinnamon API in cinnamon.opentracing.TraceLocal to create custom spans, switch to using the OpenTracing API directly, including GlobalTracer and managed active spans. See the documentation on creating custom spans.

Zipkin B3 propagation

B3 propagation is now included in Jaeger core. Rather than adding the extra cinnamon-opentracing-b3 dependency, you now add the B3 propagation using configuration. See the documentation on enabling Zipkin B3 propagation.