Class Brave
- java.lang.Object
-
- no.sysco.middleware.alpakka.brave.javadsl.Brave
-
public class Brave extends java.lang.ObjectBrave instrumentation for Akka Streams. It creates and finish traces, and allow wrappingFlows insideSpans, to measure latency.
-
-
Constructor Summary
Constructors Constructor Description Brave()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <A,B,Mat>
akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<A,brave.propagation.TraceContext>,akka.japi.Pair<B,brave.propagation.TraceContext>>,Mat>childSpanFlow(brave.Tracing tracing, java.lang.String spanName, akka.stream.javadsl.Flow<A,B,Mat> flow)Creates aFlowthat wraps anotherFlowusing aBidiShape.static <A,B,Mat>
akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<A,brave.propagation.TraceContext>,akka.japi.Pair<B,brave.propagation.TraceContext>>,Mat>childSpanFlowWithTraceContext(brave.Tracing tracing, java.lang.String spanName, akka.stream.javadsl.Flow<akka.japi.Pair<A,brave.propagation.TraceContext>,B,Mat> flow)Creates aFlowthat wraps anotherFlowusing aBidiShape.static <T> akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<T,brave.propagation.TraceContext>,T>,akka.NotUsed>finishSpanFlow(brave.Tracing tracing)Creates aFlowthat takes a trace context started before, and finish it.static <T> akka.stream.javadsl.Flow<T,akka.japi.Pair<T,brave.propagation.TraceContext>,akka.NotUsed>startSpanFlow(brave.Tracing tracing, java.lang.String spanName)Creates aFlowthat pairs input element with a started trace context, that can be propagated and must be closed before completing a stream transaction to be reported.
-
-
-
Method Detail
-
startSpanFlow
public static <T> akka.stream.javadsl.Flow<T,akka.japi.Pair<T,brave.propagation.TraceContext>,akka.NotUsed> startSpanFlow(brave.Tracing tracing, java.lang.String spanName)Creates aFlowthat pairs input element with a started trace context, that can be propagated and must be closed before completing a stream transaction to be reported. See `finishSpanFlow`.
-
finishSpanFlow
public static <T> akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<T,brave.propagation.TraceContext>,T>,akka.NotUsed> finishSpanFlow(brave.Tracing tracing)
Creates aFlowthat takes a trace context started before, and finish it.
-
childSpanFlowWithTraceContext
public static <A,B,Mat> akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<A,brave.propagation.TraceContext>,akka.japi.Pair<B,brave.propagation.TraceContext>>,Mat> childSpanFlowWithTraceContext(brave.Tracing tracing, java.lang.String spanName, akka.stream.javadsl.Flow<akka.japi.Pair<A,brave.propagation.TraceContext>,B,Mat> flow)Creates aFlowthat wraps anotherFlowusing aBidiShape. Creates a Child Span based on a Parent trace that will be received as input. After completing Flow execution, it continues parent trace context.
-
childSpanFlow
public static <A,B,Mat> akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<A,brave.propagation.TraceContext>,akka.japi.Pair<B,brave.propagation.TraceContext>>,Mat> childSpanFlow(brave.Tracing tracing, java.lang.String spanName, akka.stream.javadsl.Flow<A,B,Mat> flow)Creates aFlowthat wraps anotherFlowusing aBidiShape. Creates a Child Span based on a Parent trace that will be received as input. After completing Flow execution, it continues parent trace context, but Child Span is propagated internally to wrapped Flow for further manipulation.
-
-