Class Brave


  • public class Brave
    extends java.lang.Object
    Brave instrumentation for Akka Streams. It creates and finish traces, and allow wrapping Flows inside Spans, 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 a Flow that wraps another Flow using a BidiShape.
      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 a Flow that wraps another Flow using a BidiShape.
      static <T> akka.stream.Graph<akka.stream.FlowShape<akka.japi.Pair<T,​brave.propagation.TraceContext>,​T>,​akka.NotUsed> finishSpanFlow​(brave.Tracing tracing)
      Creates a Flow that 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 a Flow that pairs input element with a started trace context, that can be propagated and must be closed before completing a stream transaction to be reported.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Brave

        public Brave()
    • 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 a Flow that 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 a Flow that 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 a Flow that wraps another Flow using a BidiShape. 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 a Flow that wraps another Flow using a BidiShape. 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.