APM (Application Performance Monitoring) — egy komplex megközelítés a szoftverteljesítmény megfigyelésére, amely magában foglalja a metrikák gyűjtését, a kérések nyomon követését és a hibák valós idejű diagnosztizálását. A Gartner IT Glossary, 2024 adatai szerint az APM három kulcsfontosságú irányt egyesít: a felhasználói élmény monitorozását, a hibák észlelését az alkalmazásarchitektúrában és a végrehajtási adatok elemzését az események mélyreható diagnosztizálásához.
Főbb pontok
APM (Application Performance Monitoring) — az alkalmazások teljesítménymenedzsmentjének tudományága, amely magában foglalja a szoftver működésére vonatkozó adatok gyűjtését, vizualizálását és elemzését. Az egyes metrikák (CPU, memória) pontszerű monitorozásával ellentétben az APM holisztikus képet nyújt: hogyan viselkedik az alkalmazás a felhasználó szempontjából, hogyan lépnek kölcsönhatásba az összetevői, és hol alakulnak ki szűk keresztmetszetek.
Az APM koncepciója a 2010-es években alakult ki a monolitikus alkalmazásokról a mikroszolgáltatási architektúrára való áttéréssel. Amikor a szolgáltatások száma meghaladta a 10–15 egységet, a hagyományos monitorozási módszerek működésképtelenné váltak — lehetetlen volt meghatározni, melyik szolgáltatás okozta a teljes kérés lelassulását. Az APM-megoldások ezt a problémát az elosztott nyomkövetés és a szolgáltatástérkép automatikus felépítése révén oldották meg.
A Grand View Research (2024) adatai szerint az APM-piacot 8,2 milliárd amerikai dollárra becsülik, és évente 11,5%-kal növekszik. Fő mozgatórugók — a felhőbe való migráció, a mikroszolgáltatások számának növekedése és a felhasználói élmény minőségére vonatkozó követelmények növekedése a mobilalkalmazásokban és webszolgáltatásokban.
A modern APM három adattípusra épül, amelyek együtt az alkalmazás állapotának teljes képét alkotják. Metrikák — numerikus aggregátumok: válaszidő, kérések száma, hibák százalékaránya. A \u201emi történik\u201d kérdésre válaszolnak, és lehetővé teszik a riasztások beállítását küszöbértékek alapján.
Nyomkövetés (elosztott nyomkövetés) a \u201emiért történik ez\u201d kérdésre válaszol. Minden bejövő kérést nyomon követ az összes mikroszolgáltatáson, adatbázison és külső híváson keresztül. Az APM-rendszer összekapcsolja a metrikákat és a nyomkövetést: ha a válaszidő-metrika nőtt, a fejlesztő átlép a nyomkövetési irányítópultra, és látja a lassulást okozó pontos kérést, szolgáltatásonkénti bontásban.
Naplók kontextust biztosítanak — a konkrét hibaüzenetet, a változó értékét, a hívási vermet. A modern APM-platformok (Datadog, New Relic, Grafana) a naplókat a nyomkövetésekkel közös trace_id-n keresztül kapcsolják össze, lehetővé téve a metrikagrafikáról egy adott kérés naplójára való átlépést. A Datadog (2025) adatai szerint a naplók és nyomkövetések korrelációja az eseménydiagnosztika átlagos idejét 45 percről 12 percre csökkenti.
| Jel | Kérdés | Egység |
|---|---|---|
| Metrikák | Mi történik? | Numerikus aggregátumok |
| Nyomkövetés | Miért történik ez? | Span-ek és nyomok |
| Naplók | Mi ment pontosan rosszul? | Szöveges feljegyzések |
A klasszikus APM-architektúra három szintből áll: ügynök, gyűjtő és backend. Ügynök — egy könyvtár, amely az alkalmazásba van ágyazva vagy mellette fut (sidecar). Az ügynök elfogja a bejövő és kimenő hívásokat, összegyűjti a végrehajtási időre vonatkozó adatokat, és biztonságos csatornán keresztül elküldi a gyűjtőnek.
A Java APM-ügynök javaagent-en keresztül csatlakozhat JVM-szinten, automatikusan instrumentálva az összes HTTP-kérést, adatbázishívást, üzenetsort és külső API-t. Mobil platformok esetén az ügynök SDK-ként csatlakozik, és metrikákat gyűjt az eszközről. New Relic Agent Androidhoz például automatikusan nyomon követi az összes hálózati kérést OkHttp-n, HTTP-klienseken és WebView-n keresztül.
import com.newrelic.agent.android.NewRelic;
public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
NewRelic.withApplicationToken("YOUR_TOKEN")
.start(this);
}
}
A kód inicializálja a New Relic Agent-et az Android-alkalmazásban. Az indítás után az ügynök automatikusan gyűjti a hálózati kérések metrikáit, hibákat, ANR-t és UI-teljesítményadatokat az egyes képernyők további instrumentálása nélkül. Az ügynök háttérszálon működik, és nem befolyásolja az alkalmazás fő felületének teljesítményét.
A gyűjtő több ezer ügynöktől fogad adatokat, aggregálja a metrikákat, mintavételezi a nyomkövetéseket, és az adatokat hosszú távú tárolóban őrzi meleg és hideg tárolási lehetőséggel. Az APM backend irányítópultokat, riasztásokat, szolgáltatástérképeket és API-t biztosít külső rendszerekkel való integrációhoz (Slack, PagerDuty, Jira, ServiceNow). A Datadog több mint 10 millió adatpontot dolgoz fel másodpercenként a gyűjtőin keresztül, amelyek 20+ világrégióban helyezkednek el a minimális átviteli késleltetés érdekében.
Apdex (Application Performance Index) — nyílt szabvány a felhasználók elégedettségének mérésére az alkalmazás válaszidejével. Az Apdex értéket a következő képlettel számítjuk: (elégedett felhasználók száma + tűrőképes felhasználók száma / 2) / összes felhasználó száma. Az eredmény egy 0 és 1 közötti szám, ahol az 1 azt jelenti, hogy minden felhasználó elégedett.
Az Apdex-küszöböket minden alkalmazásra egyedileg állítják be. Mobilalkalmazások esetében a tipikus elégedettségi küszöb — 1,5 másodpercig terjedő válaszidő, a tűrhető — 4,5 másodpercig. Minden, ami meghaladja a 4,5 másodpercet, elfogadhatatlannak minősül. Az Apdex score 0,94 és afelett kiváló mutatónak számít éles környezetben.
Az Apdex nemcsak minőségi metrikaként, hanem a riasztások küszöbértékeként is használatos. Ha az Apdex 10 percen belül 0,85 alá csökken, az APM-rendszer értesítést küld az ügyeletes csapatnak. Ez kiegyensúlyozottabb megközelítés, mint a válaszidő abszolút értékeihez való kötés, amelyek a napszaktól és a terheléstől függően ingadozhatnak.
A mobil APM-nek megvan a maga sajátossága: az alkalmazás a felhasználó eszközén fut, amely különböző hálózati körülmények között lehet, eltérő mennyiségű szabad memóriával és operációs rendszer verzióval rendelkezhet. Mobile APM mindezeket a tényezőket figyelembe kell vennie, és a metrikák bontását kell biztosítania eszköztípusok, operációs rendszer verziók, régiók és kommunikációs szolgáltatók szerint.
A mobil APM-ügynökök az eszközön gyűjtik a metrikákat, és 1–5 perces időközönként kötegekben (batch) küldik el a szerverre. Ez minimalizálja a felhasználó forgalmára gyakorolt hatást. Kapcsolat megszakadása esetén az adatok a helyi gyorsítótárban tárolódnak, és a következő csatlakozáskor kerülnek elküldésre. Firebase Performance és Dynatrace Mobile támogatja az automatikus újraküldést hálózatvesztés esetén.
A szabványos APM-metrikákhoz a mobilfejlesztésben specifikusak is hozzáadódnak: a hidegindítás ideje, FPS görgetéskor, a felhasznált memória mennyisége, ANR gyakorisága (Android) és a watchdog-megszakítások száma (iOS). New Relic Mobile emellett nyomon követi a map views-t, a gyorsítótár-használat százalékát és az egyes ViewController-ek renderelési idejét.
import NewRelic
class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NewRelic.startInteraction(withName: "ProfileView")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NewRelic.stopCurrentInteraction()
}
}
A Swift-kód interaction trace-t hoz létre a felhasználói profil képernyőhöz. A New Relic automatikusan megméri az adatok betöltési idejét, a UI renderelést és az összes, a képernyő megjelenítése során végrehajtott hálózati kérést.
Az APM-piacot több tucatnyi megoldás képviseli, amelyek a monitorozás mélységében, költségében és a támogatott platformokban különböznek. Datadog APM vezet a metrikák, nyomkövetések és naplók egyetlen felületen történő integrációjában. New Relic a legrészletesebb nyomkövetést kínálja mobil platformokhoz. Dynatrace a Davis AI-motort használja a problémák kiváltó okainak automatikus felderítésére.
| Platform | Mobil ügynök | Distributed tracing | Ingyenes tarifa |
|---|---|---|---|
| Datadog | iOS, Android | Igen | Nem |
| New Relic | iOS, Android | Igen | 100 GB/hó |
| Dynatrace | iOS, Android | Igen | 15 nap |
| Grafana | OpenTelemetry-n keresztül | Igen | Igen (OSS) |
Az APM-platform kiválasztása a csapat méretétől, a technológiai veremtől és a költségvetéstől függ. Startupok számára a Firebase Performance Grafanával kombinálva a backendhez optimális. Magas SLA-követelményekkel rendelkező enterprise projektekhez — Datadog vagy Dynatrace a megfigyelhetőségi eszközök teljes készletével és az események kiváltó okainak AI-elemzéséhez nyújtott támogatással.
Gyakran ismételt kérdések
A szokásos monitorozás infrastrukturális metrikákat követ nyomon: CPU, memória, lemez. APM az alkalmazás szintjére néz: konkrét tranzakciók végrehajtási ideje, SQL-lekérdezések, HTTP-hívások a mikroszolgáltatások között. Az APM megmutathatja, hogy a CPU normális, de az alkalmazás egy lassú adatbázis-lekérdezés miatt lelassul.
Egyetlen szolgáltatáshoz elegendő a szabványos monitorozás + naplózás az alapvető lefedettséghez. APM akkor válik szükségessé, ha a szolgáltatások száma 5 vagy több, és egy kérés egy felhasználói forgatókönyvben több szolgáltatáson halad keresztül. Az APM megadja a választ, hogy melyik szolgáltatás lassítja a teljes kérésfolyamatot, és hol van a szűk keresztmetszet.
Az APM-ügynökök 1–3% CPU-t és 50–200 MB memóriát fogyasztanak a szerveren. A licencek költsége havi 15 és 80 dollár között változik hosztonként. A telemetriai forgalom a nyomkövetés intenzitásától függően napi 1–10 GB hosztonként. OpenTelemetry + Grafana — ingyenes alternatíva a kereskedelmi APM-ekhez.
Igen, a mobil APM-ügynökök autonóm módon működnek. Metrikákat gyűjtenek az eszközön akkor is, ha az alkalmazásnak nincs szerveroldali része: indulási idő, FPS, összeomlások, hálózati kérések külső API-khoz. Az adatok akkor kerülnek elküldésre az APM-platformra, amikor az eszköz csatlakozik az internethez.
Az alap APM-konfigurációt (küszöbértékek, irányítópultok, riasztások) egyszer kell beállítani, és az architektúra vagy a teljesítménytesztek változásakor módosítani. Az ügynökkonfiguráció automatikusan frissül az APM-platform kezelőpaneljén keresztül, anélkül hogy az alkalmazást újra kellene adni vagy a kódot módosítani kellene.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is