org.typelevel.otel4s.java.context.propagation
Members list
Packages
Type members
Classlikes
This object provides extension methods that convert between Scala and Java TextMapGetter
s, TextMapPropagator
s, and ContextPropagators
using asScala
and asJava
extension methods.
This object provides extension methods that convert between Scala and Java TextMapGetter
s, TextMapPropagator
s, 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
- Self type
-
PropagatorConverters.type