org.typelevel.otel4s.java.context.propagation

Members list

Type members

Classlikes

This object provides extension methods that convert between Scala and Java TextMapGetters, TextMapPropagators, and ContextPropagators using asScala and asJava extension methods.

This object provides extension methods that convert between Scala and Java TextMapGetters, TextMapPropagators, and ContextPropagators using asScala and asJava extension methods.

For the rare instances where they are needed, explicit conversion methods are defined in org.typelevel.otel4s.java.context.propagation.convert.PropagatorConverters.

import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator
import org.typelevel.otel4s.context.propagation.TextMapPropagator
import org.typelevel.otel4s.java.context.Context
import org.typelevel.otel4s.java.context.propagation.TextMapOperatorConverters._

val propagator: TextMapPropagator[Context] = W3CTraceContextPropagator.getInstance().asScala

The conversions return wrappers for the TextMap operators, and converting from a source type to a target type and back again will return the original source object. For example:

import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator
import org.typelevel.otel4s.context.propagation.TextMapPropagator
import org.typelevel.otel4s.java.context.Context
import org.typelevel.otel4s.java.context.propagation.TextMapOperatorConverters._

val source: W3CTraceContextPropagator = W3CTraceContextPropagator.getInstance()
val target: TextMapPropagator[Context] = source.asScala
val other: io.opentelemetry.context.propagation.TextMapPropagator = target.asJava
assert(source eq other)

Currently, ContextPropagators for both Java and Scala are simple wrappers around a TextMapPropagator instance of the corresponding type. Consequently, conversions between ContextPropagators convert the TextMapPropagator and do not use a custom wrapper.

Attributes

Source
PropagatorConverters.scala
Supertypes
class Object
trait Matchable
class Any
Self type