Memulai Firebase Performance Monitoring untuk iOS

Panduan ini berisi penjelasan mengenai cara menggunakan Firebase Performance Monitoring di aplikasi Anda dengan mengikuti langkah-langkah berikut:

  1. Prasyarat
  2. Menambahkan Firebase ke Project iOS Anda
  3. Menambahkan Performance Monitoring ke aplikasi Anda
  4. (Opsional) Menentukan pelacakan kustom dan satu atau beberapa metrik kustom di aplikasi Anda
  5. Memeriksa Firebase console untuk melihat hasil Performance Monitoring
  6. Menerapkan aplikasi dan meninjau hasilnya di Firebase console

Prasyarat

Sebelum memulai, ada beberapa hal yang perlu disiapkan di lingkungan Anda:

  • Xcode 8.2.1 atau yang lebih baru.
  • Sebuah project Xcode dengan target iOS 8 atau yang lebih tinggi
  • Pengenal paket dari aplikasi Anda
  • CocoaPods 1.0.0 atau yang lebih baru

Menambahkan Firebase ke project iOS Anda

Selanjutnya, Anda perlu menambahkan Firebase ke aplikasi, menambahkan SDK, dan menginisialisasi Firebase di aplikasi. Untuk mengetahui petunjuknya, baca bagian Menambahkan Firebase ke project iOS Anda.

Menambahkan Performance Monitoring ke aplikasi Anda

  1. Buka podfile yang Anda buat untuk project (atau buat podfile menggunakan perintah pod init), lalu tambahkan baris berikut di bagian target:
    pod 'Firebase/Core'
    pod 'Firebase/Performance'
  2. Di direktori tempat podfile Anda berada, jalankan perintah berikut untuk menginstal Performance Monitoring SDK:
    pod install
  3. Di akhir perintah, buka file .xcworkspace menggunakan Xcode.
  4. Impor modul Firebase di UIApplicationDelegate Anda:

    Swift

    import Firebase
    

    Objective-C

    @import Firebase;
    
  5. Konfigurasikan instance bersama FirebaseApp, biasanya ada di metode application:didFinishLaunchingWithOptions: aplikasi Anda:

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  6. Kompilasi ulang aplikasi Anda. Pelacakan otomatis dan permintaan jaringan HTTP/S kini akan dipantau.

(Opsional) Menentukan pelacakan kustom dan satu atau beberapa metrik kustom di aplikasi Anda

Pelacakan kustom adalah laporan data performa yang terkait dengan beberapa kode di aplikasi Anda. Untuk mempelajari lebih lanjut tentang pelacakan kustom, baca ringkasan Performance Monitoring. Anda dapat memiliki beberapa pelacakan kustom di aplikasi, dan lebih dari satu pelacakan kustom dapat dijalankan pada satu waktu. Setiap pelacakan kustom dapat memiliki satu atau beberapa metrik untuk menghitung peristiwa terkait performa di aplikasi Anda, dan metrik tersebut terhubung dengan pelacakan yang membuatnya.

  1. Tambahkan modul Performance Monitoring ke header Anda:

    Swift

    import FirebasePerformance

    Objective-C

    @import FirebasePerformance;

  2. Persis sebelum kode tempat Anda ingin memulai pelacakan di aplikasi, tambahkan baris kode berikut untuk memulai pelacakan yang disebut test trace:

    Swift

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

    Objective-C

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

  3. Untuk menghitung peristiwa terkait performa yang terjadi di aplikasi Anda (misalnya cache ditemukan atau percobaan ulang), tambahkan baris kode yang serupa dengan baris kode di bawah ini setiap kali peristiwa terjadi. Gunakan string selain retry untuk menamai peristiwa tersebut jika Anda menghitung jenis peristiwa yang berbeda.

    Swift

    trace.incrementMetric(named:"retry", by: 1)

    Objective-C

    [trace incrementMetric:@"retry" by:1];

  4. Persis setelah kode tempat Anda ingin menghentikan pelacakan, tambahkan baris kode berikut:

    Swift

    trace.stop()

    Objective-C

    [trace stop];

Memeriksa hasil Performance Monitoring di Firebase console

  1. Jalankan aplikasi Anda di simulator Xcode (Product -> Run).
  2. Pastikan bahwa hasil Performance Monitoring muncul di Firebase console. Hasilnya akan muncul dalam waktu 12 jam.

Menerapkan aplikasi dan meninjau hasil di Firebase console

Setelah memvalidasi Performance Monitoring menggunakan simulator Xcode dan satu atau beberapa perangkat uji, Anda dapat menerapkan versi terbaru aplikasi kepada pengguna dan menggunakan Firebase console untuk memantau data performa.

(Opsional) Menambahkan pemantauan untuk permintaan jaringan tertentu

Performance Monitoring mengumpulkan permintaan jaringan secara otomatis. Meskipun ini mencakup sebagian besar permintaan jaringan untuk aplikasi Anda, beberapa mungkin tidak akan dilaporkan. Untuk menyertakan permintaan jaringan yang spesifik dalam Performance Monitoring, tambahkan kode berikut ke aplikasi Anda:

Swift
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()
Objective-C
@property (nonatomic) FIRHTTPMetric *metric;
...
- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}

Jaringan HTTP/s meminta Anda menangkap cara yang muncul di Firebase console secara spesifik beserta dengan permintaan jaringan Performance Monitoring yang ditangkap secara otomatis.

(Opsional) Meninjau sampel permintaan jaringan dan pelacakan

Anda dapat mendalami segmen permintaan jaringan atau pelacakan tertentu di Firebase console. Pengambilan sampel acak dari sesi yang terekam menunjukkan informasi berikut:

gambar halaman sesi Firebase Performance Monitoring

  • CPU: Performance Monitoring SDK merekam jumlah waktu pengguna dan waktu sistem yang dipakai oleh aplikasi Anda.
  • Memori: Performance Monitoring SDK merekam jumlah memori heap yang digunakan oleh aplikasi Anda. Memori heap adalah memori yang digunakan untuk alokasi dinamis, termasuk objek yang dibuat, objek yang dibatalkan alokasinya, dan objek yang aktif digunakan oleh aplikasi.
  • Informasi individual: Informasi terperinci tentang satu instance permintaan jaringan atau pelacakan, termasuk waktu mulai, waktu berakhir, durasi, ukuran permintaan, dan ukuran respons.
  • Instance serentak: Informasi tentang permintaan jaringan atau pelacakan yang terjadi pada saat yang bersamaan.
  • Atribut perangkat: Informasi tentang perangkat, termasuk versi aplikasi, model, versi OS, radio, dan atribut khusus.

Untuk melihat sampel terperinci ini di Firebase console, buka salah satu permintaan jaringan atau pelacakan di aplikasi Anda, lalu klik Lihat sesi. Atau, klik link sesi atribut dari atribut tertentu.

gambar pelacakan Firebase Performance Monitoring dengan link ke sesi

Kumpulan Performance Monitoring sesi didistribusikan ke dalam persentil untuk setiap metrik. Sesi pada rentang persentil lebih rendah memiliki nilai lebih rendah untuk metrik tersebut daripada sesi pada rentang persentil lebih tinggi. Untuk memfilter sesi yang tersedia berdasarkan persentil, gunakan menu drop-down persentil di atas detail sesi.

gambar halaman sesi Firebase Performance Monitoring

Masalah umum

  • Performance Monitoring memiliki masalah kompatibilitas umum dengan GTMSQLite. Sebaiknya jangan gunakan Performance Monitoring dengan aplikasi yang menggunakan GTMSQLite.
  • Method swizzling setelah memanggil FirebaseApp.configure() dapat mengganggu Performance Monitoring SDK.
  • Masalah umum dengan iOS 8.0-8.2 Simulator membuat Performance Monitoring tidak dapat merekam peristiwa performa. Masalah ini telah diperbaiki pada iOS 8.3 Simulator dan versi yang lebih baru.
  • Koneksi yang dibuat menggunakan backgroundSessionConfiguration NSURLSession akan menampilkan waktu koneksi yang lebih lama daripada yang diharapkan. Koneksi ini dijalankan di luar proses dan pengaturan waktunya mencerminkan peristiwa callback dalam proses.

Langkah berikutnya

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.