Mengaktifkan sinyal telemetri di library klien Node.js

Google Cloud menyediakan pemantauan, logging, dan diagnostik yang canggih untuk aplikasi Node.js.

Library klien Node.js diinstrumentasikan untuk memunculkan data pelacakan. Instrumentasi ini bersifat keikutsertaan; Anda harus mengaktifkannya secara eksplisit. Dokumen ini menjelaskan sinyal yang tersedia dan cara mengaktifkannya.

Sinyal yang tersedia

Library klien Node.js diinstrumentasikan untuk menghasilkan sinyal berikut:

  1. INFO span untuk setiap permintaan klien logis. Biasanya, satu panggilan metode dalam struct klien mendapatkan span tersebut (misalnya, memanggil accessSecretVersion pada SecretManagerServiceClient).
  2. INFO untuk setiap upaya RPC tingkat rendah. Biasanya, satu metode dalam struct klien mendapatkan satu span, tetapi mungkin ada lebih banyak jika library harus mencoba ulang RPC.

Span dan log ini mengikuti Konvensi Semantik OpenTelemetry dengan atributGoogle Cloud tambahan. Rentang dan log harus sesuai untuk pemantauan produksi. Sinyal mencakup atribut OpenTelemetry standar (misalnya, http.response.status_code dan rpc.system.name).

Untuk mengetahui daftar lengkap atribut standar, lihat konvensi semantik HTTP dan gRPC OpenTelemetry.

Mengaktifkan sinyal telemetri

Untuk melindungi data sensitif, sinyal telemetri dinonaktifkan secara default.

Di Node.js, Anda harus mengonfigurasi klien untuk memunculkan trace dan harus mengonfigurasi pelanggan dan pengekspor untuk mengirim sinyal ini ke layanan eksternal.

Untuk mengonfigurasi klien, Anda dapat menetapkan variabel lingkungan berikut:

export GOOGLE_SDK_NODE_ENABLE_TRACING=true

Jika pelacakan diaktifkan dan aplikasi Anda memiliki rentang OpenTelemetry aktif dalam konteks saat ini saat Anda memanggil metode library klien, library klien akan otomatis menautkan rentangnya sebagai turunan dari rentang aktif Anda.

Mengekspor rekaman aktivitas

Setelah telemetri diaktifkan di library klien, aplikasi Anda harus dikonfigurasi untuk mengumpulkan dan mengekspor data ini ke layanan kemampuan observasi Anda.

Untuk mengetahui petunjuk mendetail tentang cara mengonfigurasi data korelasi rekaman aktivitas OpenTelemetry, lihat contoh kemampuan pengamatan dalam repositori Node.js.

Untuk mengekspor span tracing yang dihasilkan oleh library klien Google Cloud ke OpenTelemetry, Anda perlu menyiapkan penyedia tracer dan pengekspor:

const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);

const provider = new NodeTracerProvider({
  spanProcessors: [spanProcessor],
});
provider.register();