0Pricing
React Academy · Pelajaran

Jejak OpenTelemetry dari Peramban

Siapkan SDK JavaScript OTel di React, buat rentang untuk interaksi pengguna, dan ekspor ke pengumpul backend.

Jejak OpenTelemetry dari Peramban adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

SDK JavaScript OpenTelemetry

SDK JavaScript OpenTelemetry untuk peramban terdiri atas beberapa paket: @opentelemetry/sdk-trace-web menyediakan implementasi inti pelacakan, @opentelemetry/instrumentation-fetch secara otomatis membuat rentang untuk semua panggilan API fetch, dan @opentelemetry/exporter-trace-otlp-http mengirimkan rentang ke pengumpul.

TracerProvider: Dasar Pelacakan OTel

TracerProvider adalah objek konfigurasi pusat dalam OpenTelemetry. Objek ini menyimpan daftar SpanProcessors (yang menentukan apa yang terjadi pada rentang yang selesai), sumber daya yang mendeskripsikan aplikasi Anda (nama layanan, versi), serta konfigurasi pengambilan sampel.

BatchSpanProcessor: Ekspor yang Efisien

BatchSpanProcessor mengumpulkan rentang yang selesai di memori dan mengekspornya secara berkelompok, bukan mengirim setiap rentang satu per satu. Hal ini secara drastis mengurangi jumlah permintaan HTTP ke pengumpul, meningkatkan kinerja peramban, dan mengurangi beban pada titik akhir pengumpul OpenTelemetry.

OTLPTraceExporter: Mengirimkan ke Pengumpul

OTLPTraceExporter mengirimkan rentang yang dikelompokkan ke pengumpul yang kompatibel dengan OpenTelemetry melalui HTTP dalam format JSON atau protobuf. Anda mengonfigurasi URL pengumpul (misalnya titik akhir proksi OTel Collector Anda), lalu pengekspor menangani serialisasi dan logika percobaan ulang secara otomatis.

Apa Itu Rentang

Rentang mewakili satu unit pekerjaan dalam sebuah jejak: pemasangan komponen, panggilan antarmuka pemrograman aplikasi, atau interaksi pengguna. Rentang memiliki nama, waktu mulai, waktu selesai, status (OK atau ERROR), dan sekumpulan atribut kunci-nilai. Rentang yang berkaitan dihubungkan oleh ID jejak bersama serta hubungan induk-anak.

Memulai dan Mengakhiri Rentang secara Manual

Anda membuat pelacak dengan provider.getTracer('react-app') dan memulai rentang dengan tracer.startSpan('component-mount'). Setelah pekerjaan selesai, panggil span.end() untuk mencatat waktu selesai. Selalu akhiri rentang — rentang yang bocor memboroskan memori dan menghasilkan data yang tidak lengkap di backend observabilitas Anda.

Menambahkan Atribut ke Rentang

Atribut memperkaya rentang dengan data kontekstual: span.setAttribute('user.id', userId) atau span.setAttribute('route', location.pathname). Atribut dapat dicari di backend observabilitas Anda, sehingga memungkinkan kueri seperti "tampilkan semua rentang lambat untuk pengguna 42" atau "tampilkan semua kesalahan pada rute /checkout".

Instrumentasi Fetch Otomatis

@opentelemetry/instrumentation-fetch memodifikasi fungsi fetch global untuk secara otomatis membuat rentang bagi setiap permintaan HTTP keluar. Rentang tersebut menangkap URL, metode, kode status HTTP, dan durasi tanpa perubahan apa pun pada panggilan fetch yang sudah ada.

Propagasi Konteks melalui W3C TraceContext

Ketika instrumentasi fetch membuat rentang untuk permintaan keluar, instrumentasi tersebut menyisipkan tajuk traceparent W3C TraceContext ke dalam permintaan. Backend penerima membaca tajuk ini dan melanjutkan jejak yang sama, sehingga menghasilkan jejak terhubung yang mencakup peramban dan server.

Menginisialisasi OpenTelemetry di Aplikasi React Anda

Inisialisasi OpenTelemetry harus dilakukan sebelum komponen apa pun dipasang—biasanya di berkas entri aplikasi (main.tsx), sebelum pemanggilan ReactDOM.createRoot. Buat penyedia, daftarkan pemroses dan pengekspor, lalu panggil provider.register() agar penyedia tersebut menjadi TracerProvider global.

Pengambilan Sampel: Mengendalikan Volume Jejak

Merekam setiap interaksi pengguna dalam aplikasi dengan lalu lintas tinggi menghasilkan data jejak dalam jumlah sangat besar. Konfigurasikan pengambil sampel TraceIdRatioBased (misalnya, ambil sampel 10% jejak) di TracerProvider untuk mengurangi volumenya. Selalu ambil sampel 100% jejak kesalahan menggunakan pengambil sampel ParentBased agar tidak ada kesalahan yang terlewat.

Tujuan BatchSpanProcessor OpenTelemetry

Mengapa BatchSpanProcessor digunakan, bukan SimpleSpanProcessor, dalam aplikasi peramban?

Ringkasan Pelajaran

SDK JavaScript OpenTelemetry menginstrumentasikan peramban dengan TracerProvider, BatchSpanProcessor, dan OTLPTraceExporter. Rentang merepresentasikan unit pekerjaan yang diperkaya dengan atribut. Instrumentasi fetch secara otomatis membuat rentang untuk panggilan API dan menyisipkan tajuk W3C TraceContext untuk pelacakan terdistribusi menyeluruh. Lakukan inisialisasi lebih awal, ambil sampel dengan tepat, dan selalu akhiri rentang agar data jejak tetap rapi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jejak OpenTelemetry dari Peramban” gratis?

Ya — teks lengkap “Jejak OpenTelemetry dari Peramban” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jejak OpenTelemetry dari Peramban”?

Siapkan SDK JavaScript OTel di React, buat rentang untuk interaksi pengguna, dan ekspor ke pengumpul backend. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Jejak OpenTelemetry dari Peramban” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Observabilitas Frontend: Apa dan Mengapa
  2. Jejak OpenTelemetry dari Peramban
  3. Pemantauan Pengguna Nyata dan Web Vitals
  4. Menghubungkan Jejak Frontend dan Backend
← Kembali ke React Academy