Annotation Type WithSpan


@Target({METHOD,CONSTRUCTOR}) @Retention(RUNTIME) public @interface WithSpan
This annotation marks that an execution of this method or constructor should result in a new Span.

Application developers can use this annotation to signal OpenTelemetry auto-instrumentation that a new span should be created whenever marked method is executed.

If you are a library developer, then probably you should NOT use this annotation, because it is non-functional without some form of auto-instrumentation.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Specifies whether to inherit the current context when creating a span.
    io.opentelemetry.api.trace.SpanKind
    Specify the SpanKind of span to be created.
    Optional name of the created span.
  • Element Details

    • value

      String value
      Optional name of the created span.

      If not specified, an appropriate default name should be created by auto-instrumentation. E.g. "className"."method"

      Default:
      ""
    • kind

      io.opentelemetry.api.trace.SpanKind kind
      Specify the SpanKind of span to be created. Defaults to SpanKind.INTERNAL.
      Default:
      INTERNAL
    • inheritContext

      boolean inheritContext
      Specifies whether to inherit the current context when creating a span.

      If set to true (default), the created span will use the current context as its parent, remaining within the same trace.

      If set to false, the created span will use Context.root() as its parent, starting a new, independent trace.

      Default:
      true