Праћење перформанси — шта је то, метрике и прикупљање података

Аутор: IT Sectr Објављено: 2026-05-29 Време читања: 8 мин

Праћење перформанси је континуирани процес прикупљања и анализе метрика рада апликације ради откривања успорења, цурења меморије и неоптималног коришћења ресурса. Према Android Performance Guide, 2025, праћење омогућава откривање одступања метрика у раној фази и спречавање деградације корисничког искуства пре него што почну масовне жалбе.

Главне тачке

  • Праћење перформанси — прикупљање и анализа метрика времена одговора, FPS, оптерећења CPU и меморије за процену квалитета рада апликације.
  • Real User Monitoring — прикупљање података са стварних уређаја корисника, одражавајући стварно искуство коришћења у различитим условима мреже и хардвера.
  • ANR и краш — критични индикатори који захтевају тренутну реакцију и анализу стека позива.
  • Firebase Performance Monitoring — бесплатан алат за прикупљање метрика перформанси на iOS и Android.
  • Trace-инструментација — метода мерења трајања одређених делова кода помоћу прилагођених span-ова.

Шта је праћење перформанси

Праћење перформанси је пракса квантитативне процене понашања апликације кроз прикупљање метрика времена извршења, коришћења меморије, фреквенције кадрова и потрошње енергије. За разлику од извештавања о крашевима, које бележи само фаталне кварове, праћење перформанси прати постепену деградацију: апликација ради, али спорије него што би требало.

Према Google (2024), 53% корисника затвара апликацију ако се учитава дуже од 3 секунде. Свака додатна секунда кашњења смањује конверзију у просеку за 20% по категоријама. Ово чини праћење перформанси не само техничком праксом, већ пословном потребом за мобилне производе.

Модерно праћење перформанси покрива четири нивоа: клијентски део (iOS, Android), мрежа (API захтеви, WebSocket), backend услуге и инфраструктура. У мобилном развоју фокус је на клијентским метрикама, јер већина проблема са перформансама настаје управо на уређају корисника.

Кључне метрике мобилне апликације

За потпуно праћење потребно је пратити пет група метрика, од којих је свака одговорна за свој аспект корисничког искуства. FPS (frames per second) показује глаткоћу анимација и скроловања — вредност испод 30 кадрова у секунди осећа се као успорење.

Метрике времена

Време хладног покретања апликације — од тренутка додира на иконицу до потпуне спремности интерфејса. Време топлог покретања — повратак из позадине. Време одговора на корисничку акцију (tap-to-response). Време покретања за Android се мери преко ActivityManager-а, за iOS — преко dyld и premain времена. Према Firebase Performance, медијанa времена хладног покретања за 100 најбољих апликација износи 1,8 секунди.

Метрике меморије и CPU

Потрошња RAM меморије не би требало да прелази 80% доступног обима на уређају, иначе систем почиње да истоварује апликацију из позадине. Меморијски отисак се прати преко Xcode Instruments (iOS) и Android Profiler-а. Цурења меморије се откривају порастом потрошње при понављајућим операцијама — на пример, преласком између екрана.

Мрежне метрике

Време извршења HTTP захтева, величина одговора, учесталост timeout-а и грешака. Мрежно кашњење је посебно критично за мобилне апликације које раде у условима нестабилне везе (3G, метро, лифт, роминг). Препоручује се праћење p95 времена одговора — управо оно показује искуство нај"тежих" корисника са најгорим мрежним условима.

МетрикаНормаКритично
Cold startдо 2 свише од 4 с
FPS55–60мање од 30
API responseдо 500 мсвише од 2 с
Memory usageдо 200 MBвише од 400 MB
ANR rateмање од 0,1%више од 0,5%

Real User Monitoring и Synthetic Monitoring

Real User Monitoring (RUM) прикупља податке са стварних уређаја корисника у производном окружењу. Ова метода показује стварна кашњења која корисници доживљавају, узимајући у обзир њихове уређаје, верзије ОС-а, мрежу и геолокацију. RUM даје најтачнију слику перформанси, али зависи од тога који корисници су ушли у узорак.

Synthetic Monitoring, напротив, извршава унапред дефинисане сценарије на тест уређајима у контролисаним условима. Омогућава откривање регресије пре него што стигне до корисника и репродуковање проблема у истом окружењу. Firebase Test Lab и BrowserStack пружају синтетичке тестове на стварним уређајима без ручног покретања.

Оптимална стратегија је комбинација оба приступа: синтетички тестови хватају регресије у CI фази, а RUM даје стварну слику у продукцији. Према Datadog (2024), тимови који користе обе методе откривају 35% више проблема са перформансама пре него што постану инциденти.

Подешавање Firebase Performance Monitoring

Firebase Performance Monitoring је бесплатан алат од Google-а за прикупљање метрика перформанси на iOS и Android. Аутоматски мери време покретања апликације, HTTP захтеве и рендеровање екрана без потребе за писањем кода. За инсталацију је довољно додати SDK у пројекат и активирати модул Performance у Firebase конзоли.

Аутоматско прикупљање метрика

Након повезивања SDK-а, Firebase Performance аутоматски креира trace за сваки HTTP захтев преко URLSession (iOS) или OkHttp (Android). Рендеровање екрана се мери за UIViewController и Activity, бележећи време од onCreate/viewDidLoad до завршетка првог рендеровања. Све метрике се агрегирају у Firebase конзоли са расподелом по верзијама апликације, уређајима и земљама.

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

class PaymentService {
    private val firebasePerf = FirebasePerformance.getInstance()

    fun processPayment(amount: Double) {
        val trace = firebasePerf.newTrace("payment-flow")
        trace.start()
        trace.putAttribute("amount", amount.toString())
        // извршење плаћања
        trace.stop()
    }
}

Код креира прилагођени trace за сценариј плаћања са атрибутом износа. Преко овог trace-а у Firebase конзоли можете видети медијану и p95 времена извршења плаћања, груписано по верзијама апликације и уређајима.

HTTP праћење

Firebase аутоматски пресреће мрежне захтеве и бележи URL, код одговора, величину payload-а и време извршења. За OkHttp на Android-у аутоматска инструментација ради без додатног подешавања. Мрежни захтеви се приказују у конзоли са груписањем по endpoint-има, што омогућава брзо откривање успорења одређеног API-ја.

Прилагођени trace-ови за пословну логику

Стандардне метрике покривају опште перформансе, али за дијагностику пословних процеса потребна је инструментација одређених сценарија. Прилагођени trace-ови омогућавају мерење времена извршења аутентификације, учитавања вести, обраде слике или синхронизације података.

Сваки прилагођени trace треба да има смислено име у формату „scenario-akcija” и садржи атрибуте за филтрирање. На пример, trace „image-upload” са атрибутима „file_size” и „compression_quality” омогућиће откривање зависности времена учитавања од величине слике. Препоручује се да не креирате више од 20 прилагођених trace-ова по екрану — прекомерна инструментација ствара шум и отежава анализу.

swift
import FirebasePerformance

func trackImageUpload(data: Data) {
    let trace = Performance.startTrace(name: "image-upload")
    trace?.setValue(data.count, forAttribute: "file_size")
    trace?.setValue("high", forAttribute: "compression")
    // учитавање слике
    trace?.stop()
}

Пример у Swift-у креира trace за учитавање слике са атрибутима величине датотеке и нивоа компресије. У Firebase конзоли ови атрибути постају поља за груписање и филтрирање метрика.

Границе упозорења и алармирање

Прикупљање метрика без система обавештавања је бескорисно. Алармирање треба да обавештава тим о изласку метрика из дозвољених граница, при чему се границе упозорења деле на три нивоа: упозорење (warning), критично (critical) и хаваријско (outage). Сваки ниво одређује канал обавештавања: warning — на Slack канал тима, critical — у PagerDuty дежурном инжењеру, outage — масовно слање свим заинтересованим странама.

За мобилне метрике препоручује се коришћење динамичких граница заснованих на перцентилима: p95 време хладног покретања прелази 4 секунде — критични аларм. Статичке границе (на пример, CPU > 90%) раде лошије, јер не узимају у обзир нормалне флуктуације оптерећења у зависности од доба дана и дана у недељи. Firebase Performance подржава подешавање аларма путем Firebase Console са слањем у Slack, PagerDuty и е-поштом, са могућношћу ескалације у случају изостанка потврде.

Према Incident Management Survey (2024), тимови који подешавају аларме на основу перцентила, а не просечних вредности, пропуштају 45% мање инцидената. Просечна вредност (average) изглађује скокове — p95 гарантовано показује најгори сценариј за кориснике, без обзира на доба дана и сезонске флуктуације оптерећења.

Често постављана питања

Које алате користити за праћење перформанси мобилне апликације?

Основни алати: Firebase Performance Monitoring (бесплатно, основна функционалност), Dynatrace (корпоративни RUM), New Relic Mobile, Datadog RUM и Instabug (специјализација за мобилне апликације). Избор зависи од буџета и потребне дубине анализе.

Колико често треба проверавати метрике перформанси?

Метрике треба прикупљати и приказивати на контролној табли у реалном времену са кашњењем не већим од 5 минута. Анализирати трендове препоручује се једном недељно. Аутоматски аларми треба да се активирају при изласку из граница без људске интервенције — то је једини начин да се реагује на проблеме пре него што их примете корисници.

Који је минимални скуп метрика потребан за продукцију?

Минимални скуп: време хладног покретања, FPS, стопа ANR (Android) или watchdog прекиди (iOS), стопа HTTP грешака и коришћење меморије. Ово је довољно за откривање 80% проблема са перформансама у типичном мобилном пројекту. Како апликација расте, додају се метрике одређених екрана и пословних сценарија за прецизнију дијагностику.

Да ли праћење перформанси повећава величину апликације?

Да, SDK за праћење перформанси додаје 1–3 MB величини апликације у зависности од алата. Firebase Performance Monitoring додаје око 1,2 MB. Препоручује се укључивање SDK-а само у тест и продукцијске верзије, искључујући га из debug верзија.

Како разликовати проблем на клијенту од проблема на серверу?

Ако је време чекања на одговор од API-ја велико, али су серверске метрике у норми — проблем је на клијенту (мрежа уређаја, DNS, TLS руковање). Ако сервер показује високо оптерећење или споре упите ка бази података — проблем је на backend-у. Distributed tracing даје недвосмислен одговор, повезујући клијентски захтев са серверском обрадом.

Резиме

  • Праћење перформанси — континуирано прикупљање метрика времена одговора, FPS, меморије и CPU за откривање деградације апликације у раним фазама.
  • Real User Monitoring прикупља податке са стварних уређаја корисника и даје најтачнију слику продукцијског искуства.
  • Synthetic Monitoring допуњује RUM контролисаним тестовима у CI фази за откривање регресија пре објављивања.
  • Firebase Performance Monitoring — бесплатан алат са аутоматским прикупљањем HTTP метрика, времена покретања и рендеровања екрана.
  • Прилагођени trace-ови су неопходни за мерење пословних сценарија — плаћања, учитавања садржаја, аутентификације.
  • Алармирање треба да користи динамичке границе засноване на перцентилима (p95), а не просечним вредностима.
  • Комбинација RUM-а, синтетичких тестова и distributed tracing-а покрива 95% сценарија деградације перформанси мобилне апликације.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође