Анотації

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

Якщо додати анотацію 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() {} 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 дозволяє отримати трасувальник, який може бути використаний вашим власним інструментарієм.


Востаннє змінено June 21, 2025: [uk] sync with upstream (2d6f8511)