Menambahkan pemantauan kustom untuk kode aplikasi tertentu

Performance Monitoring mengumpulkan trace untuk membantu Anda memantau performa aplikasi. Trace adalah laporan data performa yang dicatat antara dua titik waktu dalam aplikasi Anda.

Anda dapat membuat trace sendiri untuk memantau data performa yang berkaitan dengan kode tertentu di aplikasi. Dengan trace kode kustom, Anda dapat mengukur waktu yang dibutuhkan aplikasi untuk menyelesaikan satu atau serangkaian tugas, misalnya memuat serangkaian gambar atau membuat kueri database.

Metrik default untuk trace kode kustom adalah "duration" (waktu antara titik awal dan titik pemberhentian trace), tetapi Anda juga dapat menambahkan metrik kustom.

Dalam kode, penentuan awal dan akhir trace kode kustom dilakukan menggunakan API yang diberikan oleh Performance Monitoring SDK. Trace kode kustom dapat dimulai kapan saja setelah dibuat, dan aman untuk thread.

Karena metrik default yang dikumpulkan untuk trace ini adalah "duration", trace tersebut terkadang disebut sebagai "Trace durasi".

Anda dapat melihat data dari trace ini di subtab Trace kustom pada tabel trace, yang ada di bagian bawah dasbor Performance (pelajari lebih lanjut cara menggunakan konsol nanti di halaman ini).

Atribut default, atribut khusus, dan metrik kustom

Untuk trace kode kustom, Performance Monitoring otomatis mencatat atribut default (metadata umum seperti versi aplikasi, negara, perangkat, dll.) ke dalam log sehingga Anda dapat memfilter data trace tersebut di Firebase console. Anda juga dapat menambahkan dan memantau atribut khusus (seperti level game atau properti pengguna).

Anda dapat mengonfigurasi trace kode kustom lebih lanjut untuk mencatat metrik kustom untuk peristiwa terkait performa yang terjadi dalam cakupan trace. Misalnya, Anda dapat membuat metrik kustom untuk jumlah cache ditemukan dan cache tidak ditemukan, atau berapa kali UI tidak responsif selama periode waktu yang cukup panjang.

Atribut khusus dan metrik kustom ditampilkan di Firebase console bersama dengan atribut default dan metrik default untuk trace.

Menambahkan trace kode kustom

Gunakan Performance Monitoring Trace API (Swift | Obj-C) untuk menambahkan trace kode kustom untuk memantau kode aplikasi tertentu.

Perhatikan hal berikut:

  • Sebuah aplikasi dapat memiliki beberapa trace kode kustom.
  • Lebih dari satu trace kode kustom dapat berjalan secara bersamaan.
  • Nama untuk trace kode kustom harus memenuhi persyaratan berikut: tidak boleh ada spasi kosong di awal atau akhir, tidak boleh diawali dengan karakter garis bawah (_), dan panjang maksimal adalah 100 karakter.
  • Trace kode kustom mendukung penambahan metrik kustom dan atribut khusus.

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

Swift

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
// Add the Performance Monitoring module to your header
import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// code that you want to trace

trace.stop()

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
// Add the Performance Monitoring module to your header
@import FirebasePerformance;

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

// code that you want to trace

[trace stop];

Menambahkan metrik kustom ke trace kode kustom

Gunakan Performance Monitoring Trace API (Swift | Obj-C) untuk menambahkan metrik kustom ke trace kode kustom.

Perhatikan hal berikut:

  • Nama untuk metrik kustom harus memenuhi persyaratan berikut: tidak boleh ada spasi kosong di awal atau akhir, tidak boleh diawali dengan karakter garis bawah (_), dan panjang maksimal adalah 100 karakter.
  • Setiap trace kode kustom dapat mencatat hingga 32 metrik (termasuk metrik Duration default).

Untuk menambahkan metrik kustom, tambahkan baris kode yang mirip dengan yang berikut ini setiap kali peristiwa tersebut terjadi. Misalnya, metrik kustom ini menghitung peristiwa terkait performa yang terjadi di aplikasi Anda, seperti cache ditemukan atau dicoba ulang.

Swift

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.incrementMetric(named:"EVENT_NAME", by: 1)
// code that you want to trace (and log custom metrics)

trace.stop()

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace incrementMetric:@"EVENT_NAME" byInt:1];
// code that you want to trace (and log custom metrics)

[trace stop];

Membuat atribut khusus untuk trace kode kustom

Gunakan Performance Monitoring Trace API (Swift | Obj-C) untuk menambahkan atribut khusus ke trace kode kustom.

Untuk menggunakan atribut khusus, tambahkan kode ke aplikasi Anda yang menentukan atribut dan mengaitkannya dengan trace kode kustom tertentu. Anda dapat menetapkan atribut khusus kapan saja antara saat trace dimulai dan saat trace berhenti.

Perhatikan hal berikut:

  • Nama untuk atribut khusus harus memenuhi persyaratan berikut:

    • Tidak boleh ada spasi kosong di awal atau akhir, tidak boleh diawali dengan karakter garis bawah (_)
    • Tanpa spasi
    • Panjang maksimal adalah 32 karakter.
    • Karakter yang diizinkan untuk nama adalah A-Z, a-z, dan _.
  • Setiap trace kode kustom dapat mencatat hingga 5 atribut khusus.

  • Pastikan atribut khusus tidak berisi informasi apa pun yang secara pribadi mengidentifikasi individu ke Google.

    Pelajari panduan ini lebih lanjut

Swift

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

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

// Read attributes.
let attributes:[String, String] = trace.attributes;

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];

Melacak, melihat, dan memfilter data performa

Melacak metrik tertentu di dasbor Anda

Untuk mempelajari tren metrik utama, tambahkan metrik tersebut ke bagan metrik di bagian atas dasbor Performance. Anda dapat segera mengidentifikasi regresi dengan melihat perubahan dari minggu ke minggu atau memverifikasi bahwa perubahan terbaru pada kode Anda meningkatkan performa.

gambar bagan metrik di dasbor Firebase Performance Monitoring

Untuk menambahkan metrik ke bagan metrik, ikuti langkah-langkah berikut:

  1. Buka dasbor Performance di Firebase console.
  2. Klik kartu metrik kosong, lalu pilih metrik yang ada untuk ditambahkan ke bagan.
  3. Klik di kartu metrik yang terisi untuk melihat opsi lainnya, misalnya untuk mengganti atau menghapus metrik.

Bagan metrik menampilkan data metrik yang dikumpulkan dari waktu ke waktu, baik dalam bentuk grafis maupun sebagai perubahan persentase numerik.

Pelajari lebih lanjut cara menggunakan dasbor.

Melihat trace dan datanya

Untuk melihat trace, buka dasbor Performance di Firebase console, scroll ke bawah ke tabel trace, lalu klik subtab yang sesuai. Tabel ini menampilkan beberapa metrik teratas untuk setiap trace, dan Anda bahkan dapat mengurutkan daftar berdasarkan perubahan persentase untuk metrik tertentu.

Performance Monitoring menyediakan halaman pemecahan masalah di Firebase console yang menyoroti perubahan metrik, sehingga memudahkan Anda untuk mengatasi dan meminimalkan dampak masalah performa pada aplikasi serta pengguna dengan cepat. Anda dapat menggunakan halaman pemecahan masalah saat mempelajari potensi masalah performa, misalnya dalam skenario berikut:

  • Anda memilih metrik yang relevan di dasbor dan melihat delta yang besar.
  • Dalam tabel trace, Anda mengurutkan untuk menampilkan delta terbesar di bagian atas, dan Anda melihat perubahan persentase yang signifikan.
  • Anda akan menerima peringatan email yang memberitahukan masalah performa.

Anda dapat mengakses halaman pemecahan masalah dengan cara berikut:

  • Pada dasbor metrik, klik tombol View metric details.
  • Di kartu metrik mana pun, pilih => View details. Halaman pemecahan masalah akan menampilkan informasi tentang metrik yang Anda pilih.
  • Pada tabel trace, klik nama trace atau nilai metrik apa pun di baris yang terkait dengan trace tersebut.
  • Di peringatan email, klik Investigate now.

Saat mengklik nama trace di tabel trace, Anda dapat melihat perincian metrik yang diinginkan. Klik tombol Filter untuk memfilter data menurut atribut, misalnya:

gambar data Firebase Performance Monitoring yang difilter menurut atribut
  • Filter menurut App version untuk melihat data tentang rilis sebelumnya atau rilis terbaru
  • Filter menurut Device untuk mempelajari cara perangkat lama menangani aplikasi Anda
  • Filter menurut Country untuk memastikan lokasi database Anda tidak memengaruhi region tertentu

Pelajari cara melihat data untuk trace Anda lebih lanjut.

Langkah Berikutnya

  • Pelajari lebih lanjut cara menggunakan atribut untuk memeriksa data performa.

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

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

  • Lihat laporan terperinci tentang sesi pengguna untuk melihat trace tertentu dalam konteks linimasa trace lain yang dikumpulkan selama sesi yang sama.