Class Trace

java.lang.Object
ru.gentoos.ehouse.tracing.Trace

public final class Trace extends Object
Обёртка программного трейсинга для рантайм-создаваемых объектов (ассистенты, контроллеры не являются Spring-бинами, AOP-аспект не срабатывает — паритет @observe в Python).

Если трейсер отсутствует (null), код выполняется напрямую без обёртки.

  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> T
    call(io.opentelemetry.api.trace.Tracer tracer, String name, Supplier<T> body)
    Исполняет код внутри спана name, когда трейсер задан.
    static void
    run(io.opentelemetry.api.trace.Tracer tracer, String name, Runnable body)
    Исполняет код внутри спана name, когда трейсер задан.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • call

      public static <T> T call(io.opentelemetry.api.trace.Tracer tracer, String name, Supplier<T> body)
      Исполняет код внутри спана name, когда трейсер задан.
      Type Parameters:
      T - тип результата
      Parameters:
      tracer - трейсер (может быть null)
      name - имя спана
      body - исполняемый код
      Returns:
      результат body
    • run

      public static void run(io.opentelemetry.api.trace.Tracer tracer, String name, Runnable body)
      Исполняет код внутри спана name, когда трейсер задан.
      Parameters:
      tracer - трейсер (может быть null)
      name - имя спана
      body - исполняемый код