TracingClient interface
Представляет клиент, который может интегрироваться с настроенным в настоящее время инструментатором.
Создайте экземпляр с помощью createTracingClient.
Методы
create |
Создает набор заголовков запросов для распространения данных трассировки на серверную часть. |
parse |
Анализирует значение заголовка traceparent в .<xref:TracingSpanContext> |
start |
Запускает заданный диапазон, но не задает его в качестве активного диапазона. Вы должны завершить диапазон с помощью end. В большинстве случаев вместо этого требуется использовать withSpan . |
with |
Заключает обратный вызов в активный контекст и вызывает обратный вызов. В зависимости от реализации это может задать глобально доступный активный контекст. Полезно, если вы хотите покинуть границы пакета SDK (выполнить запрос или обратный вызов к пользовательскому коду) и не можете использовать API withSpan . |
with |
Заключает обратный вызов в диапазон трассировки, вызывает обратный вызов и закрывает диапазон. Это основной интерфейс для использования трассировки и будет обрабатывать запись ошибок, а также задавать состояние в диапазоне. Синхронные и асинхронные функции будут ожидаться, чтобы отразить результат обратного вызова в диапазоне. Пример
|
Сведения о методе
createRequestHeaders(TracingContext)
Создает набор заголовков запросов для распространения данных трассировки на серверную часть.
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
Параметры
- tracingContext
- TracingContext
Контекст, содержащий диапазон для распространения.
Возвращаемое значение
Record<string, string>
Набор заголовков, добавляемых в запрос.
parseTraceparentHeader(string)
Анализирует значение заголовка traceparent в .<xref:TracingSpanContext>
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
Параметры
- traceparentHeader
-
string
Заголовок traceparent для анализа.
Возвращаемое значение
undefined | TracingContext
Идентификатор диапазона, зависящий от реализации.
startSpan<Options>(string, Options, TracingSpanOptions)
Запускает заданный диапазон, но не задает его в качестве активного диапазона.
Вы должны завершить диапазон с помощью end.
В большинстве случаев вместо этого требуется использовать withSpan .
function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Параметры
- name
-
string
Имя диапазона. По соглашению это должно быть ${className}.${methodName}
.
- operationOptions
-
Options
Параметры исходной операции.
- spanOptions
- TracingSpanOptions
Параметры, используемые при создании диапазона.
Возвращаемое значение
{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Объект TracingSpan и обновленные параметры операции.
withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)
Заключает обратный вызов в активный контекст и вызывает обратный вызов. В зависимости от реализации это может задать глобально доступный активный контекст.
Полезно, если вы хотите покинуть границы пакета SDK (выполнить запрос или обратный вызов к пользовательскому коду) и не можете использовать API withSpan .
function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>
Параметры
- context
- TracingContext
Объект TracingContext, используемый в качестве активного контекста в области обратного вызова.
- callback
-
Callback
Обратный вызов, вызываемый с заданным контекстом, заданным в качестве глобально активного контекста.
- callbackArgs
-
CallbackArgs
Аргументы обратного вызова.
Возвращаемое значение
ReturnType<Callback>
withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)
Заключает обратный вызов в диапазон трассировки, вызывает обратный вызов и закрывает диапазон.
Это основной интерфейс для использования трассировки и будет обрабатывать запись ошибок, а также задавать состояние в диапазоне.
Синхронные и асинхронные функции будут ожидаться, чтобы отразить результат обратного вызова в диапазоне.
Пример
const myOperationResult = await tracingClient.withSpan("myClassName.myOperationName", options, (updatedOptions) => myOperation(updatedOptions));
function withSpan<Options, Callback>(name: string, operationOptions: Options, callback: Callback, spanOptions?: TracingSpanOptions): Promise<Resolved<ReturnType<Callback>>>
Параметры
- name
-
string
Имя диапазона. По соглашению это должно быть ${className}.${methodName}
.
- operationOptions
-
Options
Исходные параметры, передаваемые в метод . Обратный вызов получит эти параметры с только что созданным TracingContext.
- callback
-
Callback
Обратный вызов, который требуется вызвать с обновленными параметрами и вновь созданными TracingSpan.
- spanOptions
- TracingSpanOptions
Возвращаемое значение
Promise<Resolved<ReturnType<Callback>>>