Versiyon: 4.0 | Guncelleme: 2026-06-11
PostPaid ana sayfa acildiginda 3 paralel API cagrilir, tumu tamamlaninca (veya timeout olunca) AOM MVA call tetiklenir. 200K gercek kullanici verisiyla toplam sure cihaza gore 3.7s - 7.4s arasi degisir.
Ozet Sureler (200K Kullanici Verisi):
| RAM Segmenti | Kullanici Payi | Dashboard → AOM Request | AOM Request → Response | Toplam Sure | Render Suresi |
|---|---|---|---|---|---|
| 3-4GB RAM | 30.5% | 3.9s | 3.5s | 7.4s | 1.8s |
| 4-6GB RAM | 26.3% | 3.1s | 3.0s | 6.1s | 0.9s |
| 6-8GB RAM | 20.6% | 2.5s | 2.4s | 4.9s | 0.8s |
| 8-12GB+ RAM | 3.0% | 1.8s | 1.9s | 3.7s | 0.4s |
Kritik Bulgu: Kullanicilarin %56.8'i 3-6GB RAM segmentinde ve ortalama 6.8s yukleme yasiyorlar.
Global Installation Base: 11.06 Milyon Kullanici (1,379 farkli cihaz modeli)
| RAM Grubu | Cihaz Sayisi | Toplam Kullanici | Kullanici Payi | Ort. per Model |
|---|---|---|---|---|
| ≤2GB | 158 | 513,954 | 4.6% | 3,252 |
| 2-3GB | 194 | 1,634,190 | 14.8% | 8,423 |
| 3-4GB | 431 | 3,370,668 | 30.5% | 7,820 |
| 4-5GB | 7 | 25,573 | 0.2% | 3,653 |
| 5-6GB | 239 | 2,912,495 | 26.3% | 12,186 |
| 6-8GB | 288 | 2,278,809 | 20.6% | 7,912 |
| 8-12GB | 59 | 327,084 | 3.0% | 5,543 |
| >12GB | 3 | 1,106 | 0.0% | 368 |
Sonuc: Performance tuning 3-4GB ve 4-6GB RAM segmentlerine odaklanmali (%56.8 toplam pazar payi, 6.28M kullanici)
+--------------------------------------------+
| Yanimda App |
| |
| +--------------------------------------+ |
| | PostPaidHomeActivity (UI) | |
| | - LiveData observe | |
| | - setTargetTimeoutTimer (2s guard) | |
| | - AOM_MVA confirmation | |
| +------------------+-------------------+ |
| v |
| +--------------------------------------+ |
| | PostPaidHomeViewModel | |
| | - isTargetRun (guard flag) | |
| | - isAllTargetDataEnabled() | |
| | - triggerTargetTimeout | |
| +------------------+-------------------+ |
| v |
| +--------------------------------------+ |
| | HomePageResponseState (State) | |
| | - postValue() [thread-safe bridge] | |
| +------------------+-------------------+ |
| v |
| +--------------------------------------+ |
| | TealiumHelper (SDK Wrapper) | |
| | - trackView() - HTTP POST | |
| | - homeRemoteCommand callback | |
| +------------------+-------------------+ |
| v |
| +--------------------------------------+ |
| | Tealium SDK | |
| +------------------+-------------------+ |
+---------------------+----------------------+
v
+---------------------+
| Tag Management |
| Server |
+---------------------+
ViewModel init'te 3 API ayni anda tetiklenir:
| API | Gorev |
|---|---|
| getAppIcons | Icon change response |
| getMainPageOffer | MCCM main page offer |
| setTobiWelcomeMessage | Tobi welcome message |
Her API response geldiginde ViewModel'e postValue yapilir.
Iki yoldan biri ilk olan kazanir:
Yol A - Normal: Tum API'ler tamamlanir (isAllTargetDataEnabled = true)
Yol B - Timeout: 2s dolar, API'ler hala gelmemis
| # | API | Tip | Tetikleyici | Timeout Guard |
|---|---|---|---|---|
| 1 | getAppIcons | REST | ViewModel init | 2s timer |
| 2 | getMainPageOffer | REST | ViewModel init | 2s timer |
| 3 | setTobiWelcomeMessage | REST | ViewModel init | 2s timer |
| 4 | fetch_aom (AOM MVA CALL) | Tealium trackView | Tum API complete VEYA timeout | - |
| 5 | homeRemoteCommand | Tealium Remote Cmd | Server response | - |
| 6 | aom_mva (AOM MVA RESPONSE) | Tealium trackView | Remote cmd response | - |
0ms 3900ms 7400ms
| | |
Dashboard AOM Request AOM Response
Init Gonderildi Alindi
[---- 3.5s network ----]
Render: 1.8s (Dashboard componentleri)
Metrikler:
| Asamalar | Sure |
|---|---|
| Dashboard acilisi → AOM istegi gonderimi | 3.9s |
| AOM istegi → AOM yaniti | 3.5s |
| Toplam (Dashboard → AOM response) | 7.4s |
| Dashboard komponentlerinin render suresi | 1.8s |
Karakteristikler:
0ms 3100ms 6100ms
| | |
Dashboard AOM Request AOM Response
Init Gonderildi Alindi
[--- 3.0s network ---]
Render: 0.9s
Metrikler:
| Asamalar | Sure |
|---|---|
| Dashboard acilisi → AOM istegi gonderimi | 3.1s |
| AOM istegi → AOM yaniti | 3.0s |
| Toplam (Dashboard → AOM response) | 6.1s |
| Dashboard komponentlerinin render suresi | 0.9s |
Karakteristikler:
0ms 2500ms 4900ms
| | |
Dash AOM Req AOM Resp
Init Gonderildi Alindi
[-- 2.4s network --]
Render: 0.8s
Metrikler:
| Asamalar | Sure |
|---|---|
| Dashboard acilisi → AOM istegi gonderimi | 2.5s |
| AOM istegi → AOM yaniti | 2.4s |
| Toplam (Dashboard → AOM response) | 4.9s |
| Dashboard komponentlerinin render suresi | 0.8s |
Karakteristikler:
0ms 1800ms 3700ms
| | |
Dash AOM Req AOM Resp
Init Gonderildi Alindi
[- 1.9s net -]
Render: 0.4s
Metrikler:
| Asamalar | Sure |
|---|---|
| Dashboard acilisi → AOM istegi gonderimi | 1.8s |
| AOM istegi → AOM yaniti | 1.9s |
| Toplam (Dashboard → AOM response) | 3.7s |
| Dashboard komponentlerinin render suresi | 0.4s |
Karakteristikler:
| Metric | 3-4GB RAM | 4-6GB RAM | 6-8GB RAM | 8-12GB+ RAM |
|---|---|---|---|---|
| Kullanici Payi | 30.5% | 26.3% | 20.6% | 3.0% |
| Etkilenen Kullanici | 3.37M | 2.91M | 2.28M | 327K |
| Dashboard → AOM Request | 3.9s | 3.1s | 2.5s | 1.8s |
| AOM Request → Response | 3.5s | 3.0s | 2.4s | 1.9s |
| Toplam Dashboard Yukleme | 7.4s | 6.1s | 4.9s | 3.7s |
| Dashboard Render Suresi | 1.8s | 0.9s | 0.8s | 0.4s |
| RAM vs Baseline (8GB+) Fark | +100% | +65% | +32% | Baseline |
Kritik Cikarimlar:
Onceki test cihazlariyla yapilan olcumler (referans amacli):
| Metric | Device A (Dusuk) | Device C (Orta) | Device B (Yuksek) |
|---|---|---|---|
| getAppIcons | 1463ms | 368ms | 256ms |
| getMainPageOffer | 1474ms | 368ms | 275ms |
| setTobiWelcomeMessage | 1473ms | 562ms | 420ms |
| AOM request | 4395ms | 615ms | 335ms |
| Toplam | 6913ms | 1724ms | 794ms |
Not: Bu veriler 3 test cihazi bazlidir. Production verileri (Section 7.1-7.2) 200K kullanici bazli olup daha gercekci.
Akis:
Guard Mekanizmasi:
isTargetRun = false (baslangic)
|
+--> Normal path tetiklerse -> isTargetRun = true -> Timer artik skip
|
+--> Timer tetiklerse -> isTargetRun = true -> Observer artik skip
| Ozellik | Deger |
|---|---|
| Event type | view |
| Tetikleyici | Tum API response VEYA 2s timeout |
| Guard | isTargetRun == false |
| Data | getTealiumData() veya null |
| Ozellik | Deger |
|---|---|
| Event type | view |
| Tetikleyici | Remote command response |
| Data | page_name, session_id, container_name, offer JSON, source |
| Timer | Sure | Kaynak | Amac | Fail Davranisi |
|---|---|---|---|---|
| setTargetTimeoutTimer | 2000ms (default) | ConfigManager.mccmTobiTargetData.timeoutDuration | API'ler gelmezse zorla AOM call | Partial data veya null ile devam |
| SDK Init | ~33-485ms | Jetpack Startup | SDK hazir olmasi | AOM call gecikir |
| fetch_aom Network | 8s | Tealium SDK | Server response | Timeout, no response |
| Target Offer Delay | 0-1000ms | Remote config | UI settle | Hemen goster |
setTargetTimeoutTimer detay:
ConfigManager.getConfig().mccmTobiTargetData.timeoutDurationHomeConstants.TARGET_DELAY = 2000LRace condition yonetimi: isTargetRun flag ile timer ve observer arasinda sadece ilk tetiklenen kazanir
Bottleneck 3-4GB RAM: Dashboard hazirlik 3.9s + AOM network 3.5s = 7.4s toplam (en buyuk segment)
Bottleneck 4-6GB RAM: Dashboard hazirlik 3.1s + AOM network 3.0s = 6.1s toplam (ikinci buyuk segment)
Render suresi RAM'e cok bagli: 1.8s (dusuk) → 0.4s (yuksek) - 4.5x fark
AOM network latency RAM'e bagli: Muhtemelen dusuk RAM cihazlar istek hazirlik + network processing'de yavasliyor
Toplam yukleme 2x fark: 7.4s (3-4GB) vs 3.7s (8GB+)
Thread-safe: Remote command [IO] - postValue() - Observer [Main]
Priority: Tealium > API (remote command data varsa override eder)
3-4GB RAM (30.5% kullanici - EN BUYUK SEGMENT):
Dashboard Init (3.9s) → AOM Network (3.5s) → Render (1.8s) = 7.4s total
4-6GB RAM (26.3% kullanici - IKINCI BUYUK SEGMENT):
Dashboard Init (3.1s) → AOM Network (3.0s) → Render (0.9s) = 6.1s total
6-8GB RAM (20.6% kullanici):
Dashboard Init (2.5s) → AOM Network (2.4s) → Render (0.8s) = 4.9s total
8GB+ RAM (3% kullanici - BASELINE):
Dashboard Init (1.8s) → AOM Network (1.9s) → Render (0.4s) = 3.7s total
Bagimlilik Grafigi:
Dashboard Init
|
+---> setTargetTimeoutTimer(2s) ----timeout---+
| |
+---> getAppIcons --------+ |
+---> getMainPageOffer ---+-- isAllTarget? ---+---> trackAomCall (ilk gelen kazanir)
+---> setTobiWelcomeMsg --+ |
|
isTargetRun = true <--------------------------+
| RAM Segment | Kullanici Payi | Kullanici Sayisi | Toplam Sure | Dashboard → AOM | AOM Network | Render | Optimizasyon Onceligi |
|---|---|---|---|---|---|---|---|
| 3-4GB | 30.5% | 3.37M | 7.4s | 3.9s | 3.5s | 1.8s | CRITICAL |
| 4-6GB | 26.3% | 2.91M | 6.1s | 3.1s | 3.0s | 0.9s | HIGH |
| 6-8GB | 20.6% | 2.28M | 4.9s | 2.5s | 2.4s | 0.8s | MEDIUM |
| 8-12GB+ | 3.0% | 327K | 3.7s | 1.8s | 1.9s | 0.4s | LOW |
Karakteristikler:
Optimizasyon Onerisi (ONCELIKLI):
Dashboard init optimizasyonu: 3.9s → 2.5s (-1.4s)
AOM network iyilestirme: 3.5s → 2.5s (-1.0s)
Render optimizasyonu: 1.8s → 1.0s (-0.8s)
Hedef: 7.4s → 5.0s (-2.4s, %32 iyilestirme)
Karakteristikler:
Optimizasyon Onerisi:
Hedef: 6.1s → 4.0s (-2.1s, %34 iyilestirme)
Karakteristikler:
Optimizasyon Onerisi:
Hedef: 4.9s → 4.0s (-0.9s, %18 iyilestirme)
Karakteristikler:
Optimizasyon Onerisi:
| Oncelik | Segment | Kullanici | Sure | Impact Score | Optimizasyon ROI |
|---|---|---|---|---|---|
| 1 | 3-4GB RAM | 3.37M (30.5%) | 7.4s | 24,938 | En Yuksek |
| 2 | 4-6GB RAM | 2.91M (26.3%) | 6.1s | 17,751 | Yuksek |
| 3 | 6-8GB RAM | 2.28M (20.6%) | 4.9s | 11,172 | Orta |
| 4 | 8-12GB+ RAM | 327K (3.0%) | 3.7s | 1,210 | Dusuk |
Impact Score = Kullanici Sayisi × Sure (saniye)
| Segment | Mevcut | Target | Iyilestirme | Etkilenen Kullanici | Risk |
|---|---|---|---|---|---|
| 3-4GB RAM | 7.4s | 5.0s | -2.4s (-32%) | 3.37M | Yuksek |
| 4-6GB RAM | 6.1s | 4.0s | -2.1s (-34%) | 2.91M | Orta |
| 6-8GB RAM | 4.9s | 4.0s | -0.9s (-18%) | 2.28M | Dusuk |
| 8-12GB+ RAM | 3.7s | 3.7s | Baseline | 327K | N/A |
Phase 1 (Q3 2026) - Quick Wins:
Phase 2 (Q4 2026) - Major Improvements:
Phase 3 (Q1 2027) - Polish:
Market Coverage: %56.8 kullanici icin 3-6GB cihazlar MANDATORY
Test Onceligi:
| Oncelik | RAM Segment | Cihaz Secimi | Kullanici Payi | Baseline Sure | Target Sure |
|---|---|---|---|---|---|
| P0 | 3-4GB | Redmi Note 8, Galaxy A32 | 30.5% | 7.4s | 5.0s |
| P0 | 4-6GB | Pixel 4a, Redmi Note 10 | 26.3% | 6.1s | 4.0s |
| P1 | 6-8GB | Galaxy S20, OnePlus 8 | 20.6% | 4.9s | 4.0s |
| P2 | 8-12GB+ | Pixel 6 Pro, S21 Ultra | 3.0% | 3.7s | 3.7s |
3-4GB RAM Cihazlar (CRITICAL):
4-6GB RAM Cihazlar (HIGH):
6-8GB RAM Cihazlar (MEDIUM):
8-12GB+ RAM Cihazlar (BASELINE):
Kullanici Dagilimi:
Bottlenecklar:
Immediate Actions (Sprint 1-2):
Short-term (Q3 2026):
Long-term (Q4 2026 - Q1 2027):
Success Metrics:
Doküman Sonu