CoreSpan

public interface CoreSpan extends CoreImplicitContextKeyed

Added in version AS: 1.23.0-ms5

Интерфейс декларирует диапазон. У него есть связанный CoreSpanContext.

Диапазон создаются методом CoreTracer.startSpan(String, Map, Map, Map).

CoreSpanдолжен завершаться вызовом end().

Methods

addEvent

void addEvent(String name)

Добавляет событие в CoreSpan. Временной меткой события будет текущее время.

Parameters:
  • name – — название события.

addEvent

void addEvent(String name, Map<Object, Object> attributes)

Добавляет событие в CoreSpan с заданными атрибутами. Временная метка события будет текущее время.

Parameters:
  • name – название события.

  • attributes – которые будут добавлены; они связаны с этим событием, а не CoreSpan как для setAttribute().

addEvent

void addEvent(String name, Map<Object, Object> attributes, long timestampNanos)

Добавляет событие в CoreSpan с заданными атрибутами и timestamp. Обратите внимание: эта timestamp не совпадает с System.nanoTime(), но может быть вычислен. используя его, например, взяв разницу показаний от System.nanoTime() и добавление времени начала интервала.

Когда это возможно, предпочтительно использовать addEvent(String) во время, когда событие произошло.

Parameters:
  • name – название события.

  • attributes – атрибуты, которые будут добавлены; они связаны с этим событием, а не Span как для setAttribute().

  • timestampNanos – явная временная метка события, начиная с эпохи.

end

void end()

Отмечает конец выполнения CoreSpan.

Будет записано только время первого завершения вызова для данного CoreSpan, последующие вызовы будут проигнорированы.

end

void end(long timestampNanos)

Отмечает конец выполнения CoreSpan.

Будет записано только время первого завершения вызова для данного CoreSpan, последующие вызовы будут проигнорированы.

Parameters:
  • timestampNanos – явная временная метка эпохи для этого CoreSpan. 0 указывает на то, что следует использовать текущее время.

getSpanContext

CoreSpanContext getSpanContext()

Возвращает CoreSpanContext, связанный с этим CoreSpan.

Returns:

Контекст диапазона.

isRecording

boolean isRecording()

Возвращает true, если этот CoreSpan записывает события трассировки (например, addEvent(String), setAttribute(Object, Object)).

Returns:

true, если этот CoreSpan записывает события трассировки.

recordException

void recordException(Throwable throwable)

Записывает информацию о Throwable в CoreSpan.

Обратите внимание, что значение EXCEPTION_ESCAPED из семантических соглашений не может быть определено этой функцией. Вам следует записать этот атрибут вручную, используя recordException(Throwable, Map), если вы знаете, что исключение экранируется.

Parameters:
  • throwableThrowable для записи.

recordException

void recordException(Throwable throwable, Map<Object, Object> attributes)

Записывает информацию о Throwable в CoreSpan.

Parameters:
  • throwableThrowable для записи.

  • attributes – дополнительные атрибуты для записи.

setAllAttributes

void setAllAttributes(Map<Object, Object> attributes)

Устанавливает атрибуты для CoreSpan. Если CoreSpan ранее содержал сопоставление для любого ключей, старые значения заменяются указанными значениями.

Parameters:
  • attributes – карта атрибутов, где: - ключом является не пустая строка или экземпляр созданный методом CoreAttributeKeyProvider.newAttributeKey(String, String). - значением является объект одного из типов: Long, Double, String, Boolean, Long[], Double[], String[], Boolean[].

setAttribute

void setAttribute(Object key, Object value)

Устанавливает атрибут этого CoreSpan. Если CoreSpan ранее содержал сопоставление для ключа, старое значение заменяется указанным значением.

Parameters:
  • key – имя атрибута, не может быть пустой строкой или NULL, или экземпляр созданный методом CoreAttributeKeyProvider.newAttributeKey(String, String)

  • value – значение атрибута одного из типов: Long, Double, String, Boolean, Long[], Double[], String[], Boolean[].

setStatus

void setStatus(String statusCode, String description)

Устанавливает статус диапазона.

Если используется, это переопределит статус CoreSpan по умолчанию. Код статуса по умолчанию: CoreSpan.StatusCode.UNSET.

Будет записано только значение последнего вызова.

Parameters:
  • statusCode – код состояния CoreSpan.StatusCode

  • description – описание состояния.