Firebase Performance — bu nədir, monitorinq aləti və metrikalar

Müəllif: IT Sectr Dərc olunub: 2026-05-30 Oxuma vaxtı: 10 dəq

Firebase Performance Monitoring — Google tərəfindən mobil tətbiqlərin performansını real vaxtda izləmək üçün pulsuz alətdir. Xidmət avtomatik olaraq başlanğıc vaxtı, ekran render sürəti və HTTP sorğularının müddəti metrikalarını toplayır, əsas ssenarilər üçün kod yazmağı tələb etmir. Google Firebase, 2025 məlumatlarına görə, SDK əlavə konfiqurasiya olmadan 90%-ə qədər şəbəkə sorğularını avtomatik izləyir. Alət Firebase ekosistemi çərçivəsində Android, iOS və veb tətbiqlər üçün əlçatandır.

Əsas məqamlar

  • Firebase Performance — mobil tətbiqlər üçün real vaxtda pulsuz performans monitorinqi.
  • Avtomatik izləmə kod yazmadan başlanğıc, ekran və şəbəkə sorğularının metrikalarını toplayır.
  • Xüsusi traslar sifariş verməkdən şəkilləri yükləməyə qədər istənilən biznes ssenarilərini izləməyə imkan verir.
  • HTTP metrikaları hər sorğu üçün cavab müddəti, yük ölçüsü və status kodunu əhatə edir.
  • Firebase Konsolu percentillərə görə filtrləmə ilə cihazlar, OS versiyaları və regionlar üzrə xülasə təqdim edir.

Firebase Performance Monitoring nədir?

Firebase Performance Monitoring — mobil tətbiqlərin performans metrikalarını toplayan və göstərən Google bulud xidmətidir. Xidmət Firebase alətlər dəstinə daxildir və ayrıca ödəniş tələb etmir — monitorinq pulsuz Spark tarifi (gündə 500.000 hadisə limiti) və pullu Blaze çərçivəsində mövcuddur. Firebase Performance standart ssenarilər üçün avtomatik traslar yaradır: ekranın cold start-ı, warm start, fon HTTP sorğuları.

Xidmətin arxitekturası iki məlumat növünə əsaslanır: traces (traslar) və metrics (metrikalar). Tras — başlanğıcı və sonu olan, içərisində icra müddətinin ölçüldüyü vaxt intervalıdır. Metrika — ədədi dəyərdir: cavab ölçüsü, xəta tezliyi, bayt/san sürəti. Hər tras bir neçə metrika ehtiva edə bilər. SDK məlumatları cihazda toplayır, buferləşdirir və istifadəçi təcrübəsinə təsir etməmək üçün aşağı gecikmə prioriteti ilə fonda Firebase-ə göndərir.

Google I/O 2024 hesabatına görə, Firebase Performance dünya üzrə 2 milyondan çox tətbiqdə istifadə olunur. Firebase Performance vasitəsilə performans probleminin aşkarlanmasının orta müddəti, xəbərdarlıqlar qurulubsa, buraxılışdan sonra 15 dəqiqədir. Monitorinq olmadan oxşar problem orta hesabla 2-3 gündən sonra istifadəçi şikayətləri əsasında aşkarlanır.

Firebase Crashlytics-dən fərqi

Crashlytics çökmələri və ölümcül xətaları — tətbiqin qəzaya uğradığı vəziyyətləri izləyir. Firebase Performance işləyən tətbiqin performansını izləyir: yavaş ekranlar, uzun şəbəkə sorğuları, UI cavab gecikmələri. Crashlytics “tətbiq niyə çökdü?” sualına cavab verir, Performance isə “tətbiq niyə yavaş işləyir?” sualına. Hər iki xidmət bir SDK (Firebase Core) vasitəsilə inteqrasiya olunur və məlumatlar Firebase konsolunun əlaqəli bölmələrində göstərilir.

Persentil metrikaları

Firebase Performance orta dəyərləri deyil, yalnız persentilləri göstərir: P50, P75, P90, P95, P99. Bu performans üçün kritik əhəmiyyət daşıyır: orta vaxt kənar göstəriciləri gizlədir. Əgər 99 istifadəçi ekranı 200 ms-də açırsa, biri isə 20 saniyədə, orta ~400 ms olacaq ki, bu da məqbul görünür. P99 isə 20 saniyə göstərəcək — real problemi. Firebase persentilləri vaxt şkalasında göstərir ki, bu da reqressiyaları saata qədər dəqiqliklə izləməyə imkan verir.

Firebase Performance Monitoring necə işləyir

Firebase Performance SDK tətbiqə standart inteqrasiya yoluyla daxil edilir: Gradle-ə (Android) asılılıq əlavə etmək və ya CocoaPods (iOS) vasitəsilə. Koddakı Firebase-inisializasiyadan sonra SDK əlavə konfiqurasiya olmadan avtomatik metrika toplamağa başlayır. Əsas iş prinsipi — lazy collection: SDK məlumatları dərhal göndərmir, toplayır və şəbəkə şəraiti əlverişli olduqda partiyalarla ötürür.

iOS üçün SDK HTTP sorğularını ələ keçirmək üçün NSURLProtocol-dən, Android üçün OkHttp Interceptor-dan istifadə edir. Əgər tətbiq OkHttp istifadə etmirsə, SDK avtomatik HttpURLConnection-u sarır. Ələ keçirilmiş sorğular metadata ilə zənginləşdirilir: Content-Type, cavab statusu, bayt ölçüsü, müddət. Bütün məlumatlar TLS 1.3 şifrələməsi ilə HTTPS üzərindən Firebase serverinə ötürülür.

Firebase Performance-ın əsas tələblərindən biri — Gradle-pluginlər siyahısında sonuncu plugin olmaqdır. Əgər sıra pozulubsa, SDK bütün sorğuları ələ keçirməyə və ya başlanğıc vaxtını düzgün ölçməyə bilər. Firebase plugin-in Crashlytics və digər Google Services pluginlərindən sonra, plugins blokunun sonunda yerləşdirilməsini tövsiyə edir.

groovy
// build.gradle (Module: app) — pluginlərin düzgün sırası
plugins {
    id "com.android.application"
    id "org.jetbrains.kotlin.android"
    id "com.google.gms.google-services"
    id "com.google.firebase.crashlytics"
    id "com.google.firebase.firebase-perf"  // sonuncu!
}

dependencies {
    implementation platform("com.google.firebase:firebase-bom:33.0.0")
    implementation "com.google.firebase:firebase-perf"
}

Avtomatik traslar: ekranlar, başlanğıc, şəbəkə

Firebase Performance üç növ avtomatik tras yaradır: screen trace (ekran render vaxtı), app start trace (tətbiqin başlanğıc vaxtı) və network request trace (HTTP sorğuları). Android üçün screen trace Activity.onCreate çağırışı ilə ilk kadrın renderinin tamamlanması arasındakı vaxtı ölçür. iOS üçün viewDidLoad və viewDidAppear arasındakı vaxt ölçülür. Firebase hər ekran üçün Activity və ya ViewController sinif adından istifadə edərək avtomatik tras yaradır.

App start trace iki növə bölünür: cold start (tətbiq sıfırdan başlayır, proses mövcud deyildi) və warm start (tətbiq fon vəziyyətindən bərpa olunur). Cold start ən kritik göstəricidir, çünki bütün SDK-ların inisializasiyasını, DEX-faylların yüklənməsini və ilk Activity-nin yaradılmasını əhatə edir. Firebase cold start-ı prosesin başlanğıcından ilk ekranın tam renderinə qədər ölçür. Google tövsiyələrinə görə, cold start P50 üçün 500 ms-dən, P99 üçün 2 saniyədən çox olmamalıdır.

Network request trace hər HTTP sorğusunu metadata ilə avtomatik qeyd edir: URL, metod, cavab kodu, cavab ölçüsü, ötürmə sürəti. Firebase Performance konsolunda sorğuları URL nümunəsinə görə filtrləmək olar — məsələn, /api/v2/orders ünvanına bütün sorğuları göstərmək. Hər nümunə üçün cavab müddətinin persentilləri və 4xx/5xx xəta tezliyi göstərilir. Bu, ayrıca xəbərdarlıqlar qurmadan konkret API-nin deqradasiyasını tez aşkarlamağa imkan verir.

Ekran metrikaları detallı

Ekranlar üçün Firebase Performance əlavə olaraq “frozen frames” metricini hesablayır — 700 ms-dən uzun render olunan kadrlar. Bu cür UI donmaları istifadəçi tərəfindən “tətbiq dondu” kimi qəbul edilir. Əgər ekranda 1%-dən çox frozen frames varsa, Firebase metrikanı problemli olaraq qeyd edir. Android SDK üçün əlavə olaraq slow renders metrikası toplanır — 16 ms-dən uzun kadrlar (60 FPS-in buraxılması). Screen trace və frozen frames-in birləşməsi həm yükləmə vaxtı, həm də animasiyaların hamarlığı haqqında tam mənzərə verir.

Biznes ssenariləri üçün xüsusi traslar

Xüsusi traslar istənilən istifadəçi ssenarisinin müddətini ölçməyə imkan verir: sifarişin verilməsi, şəklin buluda yüklənməsi, məlumatların sinxronizasiyası. Tərtibatçı koddakı trasın başlanğıcını və sonunu açıq şəkildə göstərir və ssenariyə ad verir. Avtomatik traslardan fərqli olaraq, xüsusi traslar nəyin ölçüldüyünə tam nəzarət edir və filtrləmə üçün atributlar əlavə etməyə imkan verir.

Hər xüsusi tras metadata kimi əlavə olunan atributlar — açar-dəyər cütləri ehtiva edə bilər. Atributlar məlumatları seqmentləşdirməyə kömək edir: məsələn, sifariş vermə vaxtını “promo_user” və “regular_user” üçün ayrıca izləmək olar. Firebase Performance hər tras üçün 5 atributa və atributun 100 unikal dəyərinə qədər dəstəkləyir. Atributlar indekslənir və Firebase konsolunda filtrləmə üçün əlçatandır.

Google I/O 2024 hesabatına görə, Spotify komandası treklər arasında keçid vaxtını izləmək üçün Firebase xüsusi traslarından istifadə edir. Bu, audiobuferin keşlənməsində darboğazı aşkarlayaraq median keçid vaxtını 400 ms-dən 120 ms-ə endirməyə imkan verdi. Əsas kəşf “device_model” atributu üzrə filtrləmə oldu — problem yalnız Android 13 ilə Samsung cihazlarında özünü göstərirdi.

kotlin
import com.google.firebase.perf.FirebasePerformance
import com.google.firebase.perf.metrics.Trace

class CheckoutTracker {

    private val firebasePerf = FirebasePerformance.getInstance()

    fun trackCheckoutFlow(userId: String, promoApplied: Boolean) {
        val trace: Trace = firebasePerf.newTrace("checkout_flow")
        trace.putAttribute("promo_user", promoApplied.toString())
        trace.putAttribute("user_tier", "premium")
        trace.start()

        // Sifariş vermə ssenarisinin icrası
        validateCart()
        processPayment()
        confirmOrder()

        trace.stop()
    }
}

Firebase Performance-ın Android layihəsinə inteqrasiyası

Firebase Performance-ın Android-ə inteqrasiyası üç addım tələb edir: google-services plugin-inin əlavə edilməsi, Firebase BOM (Bill of Materials) qoşulması və firebase-perf asılılığının əlavə edilməsi. Firebase Performance AppCompatActivity istifadə edən bütün Activity və fragmentlərdə avtomatik işləyir. Compose ekranları üçün Firebase xüsusi traslardan istifadə etməyi tövsiyə edir, çünki avtomatik screen trace Compose-u birbaşa dəstəkləmir.

Vacib nüans: Firebase Performance Gradle-plugini kompilyasiya mərhələsində tətbiqin bayt kodunu dəyişdirir. Plugin hər Activity və OkHttp müştərisinə instrumentasiya kodu əlavə edir. Bu, qurma vaxtını 5-10% və APK ölçüsünü 200-400 KB artıra bilər. Debug qurmalarında Firebase Performance avtomatik söndürülür — bu, lokal inkişaf zamanı metrikaların təhrif olunmasının qarşısını alır. Debug-da məcburi aktivləşdirmə üçün manifestdə firebasePerformanceInstrumentationEnabled flag-ı istifadə olunur.

Firebase Performance həmçinin iOS üçün MetricKit və Android üçün Perfetto — aşağısəviyyəli sistem treyserlarını dəstəkləyir. MetricKit əməliyyat sistemi səviyyəsində kadr tezliyi, CPU və yaddaş istehlakı haqqında məlumat verir. Firebase bu məlumatları toplayır və HTTP trasları və screen traces ilə eyni konsolda göstərir, sistem və tətbiq telemetriyasını bir interfeysdə birləşdirir.

OkHttp ilə HTTP sorğuları

kotlin
import okhttp3.OkHttpClient
import com.google.firebase.perf.network.FirebasePerfOkHttpClient

val client = OkHttpClient.Builder()
    .addInterceptor FirebasePerfOkHttpClient
    .build()

val request = Request.Builder()
    .url("https://api.example.com/orders")
    .build()

client.newCall(request).enqueue(object : Callback {
    override fun onFailure(call: Call, e: IOException) { /* handle */ }
    override fun onResponse(call: Call, response: Response) { /* handle */ }
})

Firebase Performance-ın iOS layihəsinə inteqrasiyası

iOS üçün Firebase Performance inteqrasiyası CocoaPods və ya Swift Package Manager vasitəsilə həyata keçirilir. FirebasePerformance və FirebaseCore podları quraşdırıldıqdan sonra SDK avtomatik metrika toplamağa başlayır. HTTP sorğularını ələ keçirmək üçün Firebase Performance iOS NSURLProtocol — tətbiqdəki bütün URL yükləmələrini ələ keçirməyə imkan verən sistem mexanizmindən istifadə edir. SDK başlanğıcda öz NSURLProtocol alt sinfini qeydiyyatdan keçirir və URLSession vasitəsilə bütün sorğular avtomatik monitorinqə düşür.

iOS üçün məhdudiyyət: Firebase Performance SwiftUI üçün avtomatik screen trace-i dəstəkləmir. SwiftUI tətbiqləri üçün View-in gövdəsini start/stop bloku ilə sararaq əl ilə xüsusi traslar yaratmaq lazımdır. Firebase SwiftUI üçün yerli dəstək üzərində işləyir, lakin hazırda SDK yalnız UIView nəzarətçilərini avtomatik izləyir. UIKit + SwiftUI hibrid tətbiqləri üçün ekranları UIKit-də yaratmaq və SwiftUI-ni UIHostingController vasitəsilə yerləşdirmək tövsiyə olunur.

Firebase Performance iOS həmçinin MetricKit — OS səviyyəsində diaqnostik məlumat toplayan Apple freymvorku ilə inteqrasiya təqdim edir. MetricKit CPU, GPU, yaddaş və kadr tezliyi metrikaları ilə gündəlik hesabatlar göndərir. Firebase Performance bu hesabatları toplayır və xüsusi trasların yanında konsolda göstərir ki, bu da həm tətbiq, həm də sistem səviyyəsində performansın tam mənzərəsini verir.

swift
import FirebasePerformance

final class ImageUploadService {

    func uploadImage(_ data: Data, to url: URL) async throws {
        guard let trace = Performance.startTrace(name: "image_upload") else { return }
        trace?.setValue("image/jpeg", forAttribute: "content_type")
        trace?.setValue("\(data.count)", forAttribute: "file_size")

        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.httpBody = data

        let (_, response) = try await URLSession.shared.data(for: request)
        guard let httpResponse = response as? HTTPURLResponse else { return }
        trace?.setValue("\(httpResponse.statusCode)",
                        forAttribute: "status_code")
        trace?.stop()
    }
}

Tez-tez verilən suallar

Firebase Performance pulsuzdur?

Bəli, Firebase Performance pulsuz Spark tarifi ilə gündə 500.000 hadisə limiti ilə əlçatandır. Daha çox məlumat həcmi olan layihələr üçün Blaze tarifi istifadə olunur — limitdən yuxarı hər 1000 hadisə üçün 0,0003 dollar. Əksər startaplar və orta layihələr üçün gündə 500.000 hadisə kifayət qədərdir.

SDK tətbiqin performansına təsir edirmi?

Firebase Performance SDK minimal təsir üçün optimallaşdırılıb. Məlumat göndərilməsi aşağı prioritetli fon axınında həyata keçirilir. Google testlərinə görə, SDK-nın başlanğıc vaxtına təsiri 1%-dən azdır. SDK ölçüsü Android üçün təxminən 300 KB, iOS üçün 250 KB-dır.

Hansı metrikalar avtomatik toplanır?

Avtomatik olaraq app start (cold/warm), screen rendering (hər ekranın render vaxtı), HTTP sorğuları (vaxt, ölçü, status) və frozen frames toplanır. Android üçün əlavə olaraq slow renders (>16 ms) tezliyi və ANR toplanır.

Firebase Performance-ı debug qurmaları üçün necə söndürmək olar?

Firebase Performance debug rejimində avtomatik söndürülür. Məcburi nəzarət üçün Android manifestində firebasePerformanceInstrumentationEnabled flag-ı istifadə olunur. iOS üçün söndürmə işəsalma sxemi arqumentlərində -FIRPerformanceEnabled NO flag-ı ilə həyata keçirilir.

Firebase Performance məlumatlarını ixrac etmək olarmı?

Bəli, Firebase Performance BigQuery-yə ixracı dəstəkləyir. Layihə BigQuery-yə qoşulduqdan sonra bütün metrikalar avtomatik olaraq BigQuery cədvəllərinə kopyalanır, SQL sorğuları və Looker Studio-da dashboardlar yaratmaq üçün əlçatan olur. İxrac Firebase konsolunun Integrations bölməsində konfiqurasiya olunur.

Nəticə

  • Firebase Performance — ekranların və HTTP sorğularının avtomatik izlənməsi ilə pulsuz performans monitorinq aləti.
  • Avtomatik traslar bir sətir kod olmadan app start, screen rendering və şəbəkə sorğularını əhatə edir.
  • Atributlu xüsusi traslar cihaz, versiya və ya istifadəçi statusuna görə filtrləmə ilə istənilən biznes ssenarilərini izləməyə imkan verir.
  • Persentillər P50-P99 orta dəyərlərdən fərqli olaraq performansın real mənzərəsini verir.
  • Firebase Crashlytics və BigQuery ilə inteqrasiya tətbiq keyfiyyətinin monitorinqi üçün vahid ekosistem yaradır.
  • Minimal təsir — başlanğıc vaxtına 1%-dən az, tətbiq ölçüsünə 400 KB-a qədər.
  • Tövsiyə: reqressiyaların erkən aşkarlanması üçün Firebase Performance-dan inkişafın bütün mərhələlərində, o cümlədən istehsalatda istifadə edin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun