APM (Application Performance Monitoring) — proqram təminatının performansını müşahidə etmək üçün kompleks yanaşmadır, metrikaların toplanması, sorğuların izlənməsi və real vaxtda səhvlərin diaqnostikasını əhatə edir. Gartner IT Glossary, 2024 məlumatlarına görə, APM üç əsas istiqaməti birləşdirir: istifadəçi təcrübəsinin monitorinqi, tətbiq arxitekturasında nasazlıqların aşkarlanması və hadisələrin dərin diaqnostikası üçün icra məlumatlarının analitikası.
Əsas məqamlar
APM (Application Performance Monitoring) — proqram təminatının işi haqqında məlumatların toplanması, vizuallaşdırılması və analizini əhatə edən tətbiq performansının idarə edilməsi intizamıdır. Ayrı-ayrı metrikaların (CPU, yaddaş) nöqtəvi monitorinqindən fərqli olaraq, APM vahid mənzərə təqdim edir: tətbiqin istifadəçi baxımından necə davrandığı, komponentlərin necə qarşılıqlı əlaqədə olduğu və darboğazların harada yarandığı.
APM konsepsiyası 2010-cu illərdə monolit tətbiqlərdən mikroxidmət arxitekturasına keçidlə formalaşdı. Xidmətlərin sayı 10–15 vahidi keçdikdə, ənənəvi monitorinq metodları işləməyi dayandırdı — hansı xidmətin bütün sorğunun yavaşlamasına səbəb olduğunu müəyyən etmək mümkün deyildi. APM həlləri bu problemi distributed tracing və xidmət xəritəsinin avtomatik qurulması vasitəsilə həll etdi.
Grand View Research (2024) məlumatlarına görə, APM bazarı 8,2 milyard ABŞ dolları dəyərindədir və illik 11,5% artır. Əsas sürücülər — buluda miqrasiya, mikroxidmətlərin sayının artması və mobil tətbiqlərdə və veb-xidmətlərdə istifadəçi təcrübəsinin keyfiyyətinə tələblərin yüksəlməsidir.
Müasir APM üç növ məlumat üzərində qurulur ki, bunlar birlikdə tətbiqin vəziyyətinin tam mənzərəsini yaradır. Metrikalar — ədədi aqreqatlardır: cavab müddəti, sorğuların sayı, səhvlərin faizi. Onlar “nə baş verir” sualına cavab verir və hədd dəyərlərinə görə bildirişlər qurmağa imkan verir.
İzləmə (distributed tracing) “bu niyə baş verir” sualına cavab verir. Hər bir daxil olan sorğu bütün mikroxidmətlər, verilənlər bazaları və xarici çağırışlar vasitəsilə izlənir. APM sistemi metrikaları və izləməni birləşdirir: cavab müddəti metrikası artarsa, tərtibatçı izlər panelinə keçir və yavaşlamaya səbəb olan dəqiq sorğunu hər xidmət üzrə bölgü ilə görür.
Loglar kontekst verir — konkret səhv mesajı, dəyişənin dəyəri, çağırış yığını. Müasir APM platformaları (Datadog, New Relic, Grafana) logları izlərlə ümumi trace_id vasitəsilə əlaqələndirərək, metrika qrafikindən konkret sorğunun loguna keçməyə imkan verir. Datadog (2025) məlumatlarına görə, logların izlərlə korrelyasiyası hadisə diaqnostikasının orta müddətini 45 dəqiqədən 12 dəqiqəyə qədər azaldır.
| Siqnal | Sual | Vahid |
|---|---|---|
| Metrikalar | Nə baş verir? | Ədədi aqreqatlar |
| İzləmə | Bu niyə baş verir? | Spanlar və izlər |
| Loglar | Dəqiq nə səhv getdi? | Mətn qeydləri |
Klassik APM arxitekturası üç səviyyədən ibarətdir: agent, kollektor və backend. Agent — tətbiqə daxil edilən və ya onun yanında işlədilən (sidecar) kitabxanadır. Agent daxil olan və çıxan çağırışları ələ keçirir, icra müddəti haqqında məlumatları toplayır və təhlükəsiz kanal vasitəsilə kollektora göndərir.
Java üçün APM agenti JVM səviyyəsində javaagent vasitəsilə qoşularaq bütün HTTP sorğularını, verilənlər bazası çağırışlarını, mesaj növbələrini və xarici API-ləri avtomatik instrumentasiya edə bilər. Mobil platformalar üçün agent SDK kimi qoşulur və cihazdan metrikalar toplayır. New Relic Agent Android üçün, məsələn, OkHttp, HTTP müştəriləri və WebView vasitəsilə bütün şəbəkə sorğularını avtomatik izləyir.
import com.newrelic.agent.android.NewRelic;
public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
NewRelic.withApplicationToken("YOUR_TOKEN")
.start(this);
}
}
Kod Android tətbiqində New Relic Agent-i işə salır. İşə salındıqdan sonra agent hər ekranın əlavə instrumentasiyası olmadan avtomatik olaraq şəbəkə sorğularının metrikalarını, səhvləri, ANR və UI performans məlumatlarını toplayır. Agent fon axınında işləyir və tətbiqin əsas interfeysinin performansına təsir göstərmir.
Kollektor minlərlə agentdən məlumatları qəbul edir, metrikaları aqreqasiya edir, izlərin seçməsini həyata keçirir və məlumatları isti və soyuq saxlama imkanı ilə uzunmüddətli anbarda saxlayır. APM backend-i panellər, bildirişlər, xidmət xəritələri və xarici sistemlərlə (Slack, PagerDuty, Jira, ServiceNow) inteqrasiya üçün API təqdim edir. Datadog saniyədə 10 milyondan çox məlumat nöqtəsini öz kollektorları vasitəsilə emal edir, 20+ dünya regionunda yerləşərək minimal ötürmə gecikməsini təmin edir.
Apdex (Application Performance Index) — istifadəçilərin tətbiqin cavab müddətindən məmnunluğunu ölçmək üçün açıq standartdır. Apdex dəyəri düsturla hesablanır: (məmnun istifadəçilərin sayı + dözümlü istifadəçilərin sayı / 2) / ümumi istifadəçi sayı. Nəticə 0-dan 1-ə qədər rəqəmdir, burada 1 bütün istifadəçilərin məmnun olması deməkdir.
Apdex hədləri hər tətbiq üçün fərdi olaraq təyin edilir. Mobil tətbiqlər üçün tipik məmnunluq həddi — 1,5 saniyəyə qədər cavab müddəti, dözümlü — 4,5 saniyəyə qədər. 4,5 saniyəni keçən hər şey qəbuledilməz hesab olunur. Apdex score 0,94 və yuxarı istehsal mühiti üçün əla göstərici hesab edilir.
Apdex yalnız keyfiyyət metrikası kimi deyil, həm də bildirişlər üçün hədd kimi istifadə olunur. Apdex 10 dəqiqə ərzində 0,85-dən aşağı düşərsə, APM sistemi növbətçi komandaya bildiriş göndərir. Bu, günün vaxtından və yükdən asılı olaraq dəyişə bilən mütləq cavab müddəti dəyərlərinə bağlanmaqdan daha balanslı bir yanaşmadır.
Mobil APM-in öz spesifikası var: tətbiq müxtəlif şəbəkə şəraitində ola bilən, müxtəlif miqdarda boş yaddaşa və ƏS versiyasına malik olan istifadəçi cihazında işləyir. Mobile APM bütün bu amilləri nəzərə almalı və metrikaların cihaz modelləri, ƏS versiyaları, regionlar və rabitə operatorları üzrə bölgüsünü təqdim etməlidir.
Mobil APM agentləri cihazda metrikalar toplayır və onları 1–5 dəqiqə intervalı ilə paketlərlə (batch) serverə göndərir. Bu, istifadəçinin trafikinə təsiri minimuma endirir. Əlaqə itkisi halında məlumatlar yerli keşdə saxlanılır və növbəti qoşulmada göndərilir. Firebase Performance və Dynatrace Mobile şəbəkə itkisi zamanı avtomatik retranslyasiyanı dəstəkləyir.
Mobil inkişafda standart APM metrikalarına spesifik olanlar əlavə olunur: soyuq start vaxtı, sürüşdürmə zamanı FPS, istehlak olunan yaddaşın həcmi, ANR tezliyi (Android) və watchdog-terminasiyaların sayı (iOS). New Relic Mobile əlavə olaraq map views, keşdən istifadə faizi və konkret ViewController-lərin render müddətini izləyir.
import NewRelic
class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NewRelic.startInteraction(withName: "ProfileView")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NewRelic.stopCurrentInteraction()
}
}
Swift-də kod istifadəçi profil ekranı üçün interaction trace yaradır. New Relic avtomatik olaraq məlumat yükləmə vaxtını, UI renderini və bu ekranın göstərilməsi zamanı yerinə yetirilən bütün şəbəkə sorğularını ölçəcək.
APM bazarı monitorinq dərinliyi, dəyəri və dəstəklənən platformalarla fərqlənən onlarla həll ilə təmsil olunur. Datadog APM metrikaların, izlərin və logların vahid interfeysdə inteqrasiyasına görə liderdir. New Relic mobil platformalar üçün ən ətraflı izləmə təklif edir. Dynatrace problemlərin kök səbəblərini avtomatik aşkarlamaq üçün Davis AI mühərrikindən istifadə edir.
| Platforma | Mobil agent | Distributed tracing | Pulsuz tarif |
|---|---|---|---|
| Datadog | iOS, Android | Bəli | Xeyr |
| New Relic | iOS, Android | Bəli | 100 GB/ay |
| Dynatrace | iOS, Android | Bəli | 15 gün |
| Grafana | OpenTelemetry vasitəsilə | Bəli | Bəli (OSS) |
APM platformasının seçimi komandanın ölçüsündən, texnologiya yığınından və büdcədən asılıdır. Startaplar üçün Firebase Performance backend üçün Grafana ilə kombinasiyada optimaldır. Yüksək SLA tələbləri olan enterprise layihələr üçün — Datadog və ya Dynatrace tam observability alətləri dəsti və hadisələrin kök səbəblərinin AI analizi dəstəyi ilə.
Tez-tez verilən suallar
Adi monitorinq infrastruktur metrikalarını izləyir: CPU, yaddaş, disk. APM tətbiq səviyyəsinə baxır: konkret tranzaksiyaların icra müddəti, SQL sorğuları, mikroxidmətlər arasında HTTP çağırışları. APM göstərə bilər ki, CPU normaldır, lakin tətbiq verilənlər bazasına yavaş sorğu səbəbindən ləngiyir.
Bir xidmət üçün standart monitorinq + loglama əsas əhatə üçün kifayətdir. APM xidmətlərin sayı 5 və daha çox olduqda və sorğu bir istifadəçi ssenarisində onların bir neçəsindən keçdikdə zəruri olur. APM sorğunun hansı xidmətin bütün axını yavaşlatdığına və darboğazın harada olduğuna cavab verir.
APM agentləri serverdə 1–3% CPU və 50–200 MB yaddaş istehlak edir. Lisenziya dəyəri ayda host başına 15–80 dollar arasında dəyişir. Telemetriya trafiki izləmə intensivliyindən asılı olaraq gündə host başına 1–10 GB təşkil edir. OpenTelemetry + Grafana — kommersiya APM-lərə pulsuz alternativdir.
Bəli, mobil APM agentləri avtonom işləyir. Onlar tətbiqin server hissəsi olmasa belə cihazda metrikalar toplayır: start vaxtı, FPS, crash-lər, xarici API-lərə şəbəkə sorğuları. Məlumatlar cihaz internetə qoşulduqda APM platformasına göndərilir.
APM-in əsas konfiqurasiyası (hədlər, panellər, bildirişlər) bir dəfə qurulur və arxitektura dəyişikliyi və ya performans benchmark testlərindən sonra düzəliş edilir. Agent configuration tətbiqi yenidən buraxmaq və ya kodu dəyişmək zərurəti olmadan APM platformasının idarəetmə paneli vasitəsilə avtomatik yenilənir.
Nəticə
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.
Həm də oxuyun