Анотації

Для більшості користувачів вбудована інструменталізація є цілком достатньою і нічого більше не потрібно робити. Однак іноді користувачі бажають створювати відрізки для свого власного коду без необхідності вносити багато змін у код.

Якщо додати анотацію WithSpan до методу, метод буде обгорнутий у відрізок. Анотація SpanAttribute дозволяє захоплювати аргументи методу як атрибути.

package otel;

import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.instrumentation.annotations.SpanAttribute;
import io.opentelemetry.instrumentation.annotations.WithSpan;
import org.springframework.stereotype.Component;

/** Тест WithSpan */
@Component
public class TracedClass {

  @WithSpan
  public void tracedMethod() {}

  @WithSpan(value = "назва спану")
  public void tracedMethodWithName() {
    Span currentSpan = Span.current();
    currentSpan.addEvent("ДОДАТИ ПОДІЮ ДО tracedMethodWithName SPAN");
    currentSpan.setAttribute("isTestAttribute", true);
  }

  @WithSpan(kind = SpanKind.CLIENT)
  public void tracedClientSpan() {}

  @WithSpan
  public void tracedMethodWithAttribute(@SpanAttribute("attributeName") String parameter) {}
}

Ви можете вимкнути анотації OpenTelemetry, встановивши властивість otel.instrumentation.annotations.enabled у false.

Ви можете налаштувати відрізок, використовуючи елементи анотації WithSpan:

НазваТипОписСтандартне значення
valueStringНазва відрізкуClassName.Method
kindSpanKindТип відрізкуSpanKind.INTERNAL

Ви можете встановити назву атрибута за допомогою елемента value анотації SpanAttribute:

НазваТипОписСтандартне значення
valueStringНазва атрибутаНазва параметра методу

Наступні кроки

Окрім використання анотацій, OpenTelemetry API дозволяє отримати трасувальник, який може бути використаний вашим власним інструментарієм.


Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (2a3c5648)