TracingClient interface
Mewakili klien yang dapat diintegrasikan dengan Instrumenter yang saat ini dikonfigurasi.
Buat instans menggunakan createTracingClient.
Metode
create |
Membuat sekumpulan header permintaan untuk menyebarluaskan informasi pelacakan ke backend. |
parse |
Mengurai nilai header traceparent ke dalam <xref:TracingSpanContext>. |
start |
Memulai rentang tertentu tetapi tidak mengaturnya sebagai rentang aktif. Anda harus mengakhiri rentang menggunakan akhir. Sebagian besar waktu Anda ingin menggunakan withSpan sebagai gantinya. |
with |
Membungkus panggilan balik dengan konteks aktif dan memanggil panggilan balik. Tergantung pada implementasinya, ini dapat mengatur konteks aktif yang tersedia secara global. Berguna ketika Anda ingin meninggalkan batas SDK (membuat permintaan atau panggilan balik ke kode pengguna) dan tidak dapat menggunakan WITHSpan API. |
with |
Membungkus panggilan balik dalam rentang pelacakan, memanggil panggilan balik, dan menutup rentang. Ini adalah antarmuka utama untuk menggunakan Pelacakan dan akan menangani perekaman kesalahan serta mengatur status pada rentang. Fungsi sinkron dan asinkron akan ditunggu untuk mencerminkan hasil panggilan balik pada rentang. Contoh:
|
Detail Metode
createRequestHeaders(TracingContext)
Membuat sekumpulan header permintaan untuk menyebarluaskan informasi pelacakan ke backend.
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
Parameter
- tracingContext
- TracingContext
Konteks yang berisi rentang untuk disebarluaskan.
Mengembalikan
Record<string, string>
Kumpulan header yang akan ditambahkan ke permintaan.
parseTraceparentHeader(string)
Mengurai nilai header traceparent ke dalam <xref:TracingSpanContext>.
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
Parameter
- traceparentHeader
-
string
Header traceparent untuk diurai.
Mengembalikan
undefined | TracingContext
Pengidentifikasi khusus implementasi untuk rentang.
startSpan<Options>(string, Options, TracingSpanOptions)
Memulai rentang tertentu tetapi tidak mengaturnya sebagai rentang aktif.
Anda harus mengakhiri rentang menggunakan akhir.
Sebagian besar waktu Anda ingin menggunakan withSpan sebagai gantinya.
function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Parameter
- name
-
string
Nama rentang. Menurut konvensi ini harus ${className}.${methodName}
.
- operationOptions
-
Options
Opsi operasi asli.
- spanOptions
- TracingSpanOptions
Opsi yang digunakan saat membuat rentang.
Mengembalikan
{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
TracingSpan dan opsi operasi yang diperbarui.
withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)
Membungkus panggilan balik dengan konteks aktif dan memanggil panggilan balik. Tergantung pada implementasinya, ini dapat mengatur konteks aktif yang tersedia secara global.
Berguna ketika Anda ingin meninggalkan batas SDK (membuat permintaan atau panggilan balik ke kode pengguna) dan tidak dapat menggunakan WITHSpan API.
function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>
Parameter
- context
- TracingContext
TracingContext untuk digunakan sebagai konteks aktif dalam cakupan panggilan balik.
- callback
-
Callback
Panggilan balik yang akan dipanggil dengan konteks yang diberikan ditetapkan sebagai konteks aktif global.
- callbackArgs
-
CallbackArgs
Argumen panggilan balik.
Mengembalikan
ReturnType<Callback>
withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)
Membungkus panggilan balik dalam rentang pelacakan, memanggil panggilan balik, dan menutup rentang.
Ini adalah antarmuka utama untuk menggunakan Pelacakan dan akan menangani perekaman kesalahan serta mengatur status pada rentang.
Fungsi sinkron dan asinkron akan ditunggu untuk mencerminkan hasil panggilan balik pada rentang.
Contoh:
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>>>
Parameter
- name
-
string
Nama rentang. Menurut konvensi ini harus ${className}.${methodName}
.
- operationOptions
-
Options
Opsi asli diteruskan ke metode . Panggilan balik akan menerima opsi ini dengan TracingContext yang baru dibuat.
- callback
-
Callback
Panggilan balik yang akan dipanggil dengan opsi yang diperbarui dan TracingSpan yang baru dibuat.
- spanOptions
- TracingSpanOptions
Mengembalikan
Promise<Resolved<ReturnType<Callback>>>