Check out what’s new from Firebase at Google I/O 2022. Learn more

Tambahkan pemantauan khusus untuk kode aplikasi tertentu

Performance Monitoring mengumpulkan jejak untuk membantu Anda memantau kinerja aplikasi Anda. Jejak adalah laporan data kinerja yang diambil antara dua titik waktu di aplikasi Anda.

Anda dapat membuat pelacakan sendiri untuk memantau data kinerja yang terkait dengan kode tertentu di aplikasi Anda. Dengan pelacakan kode khusus , Anda dapat mengukur berapa lama waktu yang dibutuhkan aplikasi untuk menyelesaikan tugas tertentu atau serangkaian tugas, misalnya memuat sekumpulan gambar atau mengkueri database Anda.

Metrik default untuk pelacakan kode khusus adalah "durasi" (waktu antara titik awal dan titik berhenti pelacakan), tetapi Anda juga dapat menambahkan metrik khusus .

Dalam kode Anda, Anda menentukan awal dan akhir pelacakan kode khusus menggunakan API yang disediakan oleh Performance Monitoring SDK.kode kustom dapat dimulai kapan saja setelah dibuat, dan aman untuk thread.

Karena metrik default yang dikumpulkan untuk pelacakan ini adalah "durasi", metrik tersebut terkadang disebut "Jejak durasi".

Anda dapat melihat data dari pelacakan ini di subtab Jejak kustom pada tabel pelacakan, yang ada di bagian bawah dasbor Performa (pelajari lebih lanjut tentang menggunakan konsol nanti di halaman ini).

Atribut default, atribut khusus, dan metrik khusus

Untuk pelacakan kode kustom, Performance Monitoring secara otomatis mencatat atribut default (metadata umum seperti negara, browser, URL halaman, dll.) sehingga Anda dapat memfilter data untuk pelacakan di Firebase console. Anda juga dapat menambahkan dan memantau atribut khusus (seperti, level game atau properti pengguna).

Anda dapat mengonfigurasi lebih lanjut pelacakan kode khusus untuk merekam metrik khusus untuk peristiwa terkait kinerja yang terjadi dalam cakupan pelacakan. Misalnya, Anda dapat membuat metrik khusus untuk jumlah klik dan kesalahan cache atau berapa kali UI menjadi tidak responsif selama jangka waktu tertentu.

Atribut khusus dan metrik khusus ditampilkan di Firebase console bersama atribut default dan metrik default untuk pelacakan.

Tambahkan jejak kode khusus

Gunakan Performance Monitoring Trace API untuk menambahkan pelacakan kode kustom untuk memantau kode aplikasi tertentu.

Perhatikan hal berikut:

  • Sebuah aplikasi dapat memiliki beberapa pelacakan kode kustom.
  • Lebih dari satu pelacakan kode khusus dapat berjalan secara bersamaan.
  • Nama untuk pelacakan kode khusus harus memenuhi persyaratan berikut: tidak boleh ada spasi di depan atau di belakang, tidak ada karakter garis bawah di depan ( _ ), dan panjang maksimal 100 karakter.
  • Jejak kode khusus mendukung penambahan metrik khusus dan atribut khusus .

Untuk memulai dan menghentikan pelacakan kode kustom, bungkus kode yang ingin Anda lacak dengan baris kode yang mirip dengan berikut ini:

Web version 9

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web version 8

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

Tambahkan jejak kode khusus menggunakan User Timing API

Selain Performance Monitoring Trace API, Anda dapat menambahkan pelacakan kode khusus menggunakan API Pengaturan Waktu Pengguna asli browser. Durasi pelacakan yang diukur menggunakan API ini secara otomatis diambil oleh Performance Monitoring SDK. Menggunakan User Timing API sangat membantu jika Anda lebih suka memuat Performance Monitoring SDK secara asinkron. Setelah SDK diinisialisasi, SDK akan merekam pengukuran yang terjadi sebelum memuatnya.

Untuk menggunakan fitur ini, bungkus kode yang ingin Anda lacak dengan tanda Waktu Pengguna:

Web version 9

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web version 8

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Perhatikan bahwa performance dalam contoh di atas mengacu pada objek window.performance browser.

Saat menggunakan User Timing API, metrik dan atribut khusus tidak dapat ditambahkan ke pelacakan kode khusus. Gunakan Performance Monitoring Trace API jika Anda ingin menambahkan elemen kustom tersebut ke pelacakan kode kustom.

Tambahkan metrik khusus ke jejak kode khusus

Gunakan Performance Monitoring Trace API untuk menambahkan metrik khusus ke pelacakan kode khusus.

Perhatikan hal berikut:

  • Nama untuk metrik khusus harus memenuhi persyaratan berikut: tidak boleh ada spasi di depan atau di belakang, tidak ada karakter garis bawah di depan ( _ ), dan panjang maksimal 100 karakter.
  • Setiap pelacakan kode khusus dapat merekam hingga 32 metrik (termasuk metrik Durasi default).

Untuk menambahkan metrik khusus, tambahkan baris kode yang mirip dengan berikut ini setiap kali peristiwa terjadi. Misalnya, metrik khusus ini menghitung peristiwa terkait kinerja yang terjadi di aplikasi Anda.

Web version 9

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web version 8

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

Buat atribut khusus untuk jejak kode khusus

Gunakan Performance Monitoring Trace API untuk menambahkan atribut khusus ke pelacakan kode khusus.

Untuk menggunakan atribut khusus, tambahkan kode ke aplikasi Anda yang mendefinisikan atribut dan kaitkan dengan pelacakan kode khusus tertentu. Anda dapat menyetel atribut khusus kapan saja antara saat pelacakan dimulai dan saat pelacakan berhenti.

Perhatikan hal berikut:

  • Nama untuk atribut khusus harus memenuhi persyaratan berikut: tidak boleh ada spasi di depan atau di belakang, tidak ada karakter garis bawah di depan ( _ ), dan panjang maksimal 32 karakter.

  • Setiap pelacakan kode khusus dapat merekam hingga 5 atribut khusus.

  • Anda tidak boleh menggunakan atribut khusus yang berisi informasi yang secara pribadi mengidentifikasi individu ke Google.

    Pelajari lebih lanjut tentang pedoman ini

Web version 9

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web version 8

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

Lacak, lihat, dan filter data kinerja

Untuk melihat data kinerja waktu nyata, pastikan aplikasi Anda menggunakan versi SDK Pemantauan Kinerja yang kompatibel dengan pemrosesan data waktu nyata. Pelajari lebih lanjut .

Lacak metrik tertentu di dasbor Anda

Untuk mempelajari tren metrik utama Anda, tambahkan metrik tersebut ke papan metrik Anda di bagian atas dasbor Performa . Anda dapat dengan cepat mengidentifikasi regresi dengan melihat perubahan dari minggu ke minggu atau memverifikasi bahwa perubahan terbaru dalam kode Anda meningkatkan kinerja.

gambar papan metrik di dasbor Firebase Performance Monitoring

Untuk menambahkan metrik ke papan metrik Anda, buka dasbor Performa di Firebase console, lalu klik tab Dasbor . Klik kartu metrik kosong, lalu pilih metrik yang ada untuk ditambahkan ke papan Anda. Klik pada kartu metrik yang terisi untuk opsi lainnya, seperti mengganti atau menghapus metrik.

Papan metrik menunjukkan data metrik yang dikumpulkan dari waktu ke waktu, baik dalam bentuk grafik maupun sebagai persentase perubahan numerik.

Pelajari lebih lanjut tentang menggunakan dasbor .

Lihat jejak dan datanya

Untuk melihat pelacakan Anda, buka dasbor Performa di Firebase console, gulir ke bawah ke tabel pelacakan, lalu klik subtab yang sesuai. Tabel menampilkan beberapa metrik teratas untuk setiap jejak, dan Anda bahkan dapat mengurutkan daftar menurut persentase perubahan untuk metrik tertentu.

Jika Anda mengklik nama jejak di tabel jejak, Anda kemudian dapat mengeklik berbagai layar untuk menjelajahi jejak dan menelusuri metrik yang diminati. Di sebagian besar halaman, Anda dapat menggunakan tombol Filter (kiri atas layar) untuk memfilter data menurut atribut, misalnya:

gambar data Firebase Performance Monitoring yang difilter menurut atribut
  • Filter menurut URL Halaman untuk melihat data halaman tertentu di situs Anda
  • Filter menurut Jenis koneksi efektif untuk mempelajari bagaimana koneksi 3g memengaruhi aplikasi Anda
  • Filter menurut Negara untuk memastikan lokasi basis data Anda tidak memengaruhi wilayah tertentu

Pelajari lebih lanjut tentang melihat data untuk jejak Anda .

Langkah selanjutnya

  • Pelajari lebih lanjut tentang menggunakan atribut untuk memeriksa data kinerja.

  • Pelajari lebih lanjut cara melacak masalah performa di Firebase console.

  • Siapkan peringatan untuk perubahan kode yang menurunkan kinerja aplikasi Anda. Misalnya, Anda dapat mengonfigurasi peringatan email untuk tim Anda jika durasi pelacakan kode kustom tertentu melebihi ambang batas yang Anda tetapkan.