APM: co to je, metriky a jak funguje

Autor: IT Sectr Publikováno: 2026-05-29 Doba čtení: 8 min

APM (Application Performance Monitoring) — je komplexní přístup k pozorování výkonu softwaru, zahrnující sběr metrik, trasování požadavků a diagnostiku chyb v reálném čase. Podle údajů Gartner IT Glossary, 2024, APM spojuje tři klíčové oblasti: monitorování uživatelského prožitku, detekci selhání v architektuře aplikace a analýzu dat běhu pro hlubokou diagnostiku incidentů.

Hlavní body

  • APM — Application Performance Monitoring, systém monitorování výkonu aplikací na všech úrovních: klient, síť, server, infrastruktura.
  • Tři pilíře APM — metriky, trasování a logy, spojené do jediné observability platformy pro komplexní analýzu incidentů.
  • Agent-based APM — instalace softwarového agenta na aplikační server pro sběr detailních dat o době běhu.
  • Service map — graf závislostí mezi mikroslužbami, automaticky vytvářený na základě trasovacích dat.
  • Apdex score — standardizovaný ukazatel spokojenosti uživatele s dobou odezvy aplikace.

Co je APM ve vývoji

APM (Application Performance Monitoring) — je disciplína řízení výkonu aplikací, která zahrnuje sběr, vizualizaci a analýzu dat o běhu softwaru. Na rozdíl od bodového monitorování jednotlivých metrik (CPU, paměť) poskytuje APM celistvý obraz: jak se aplikace chová z pohledu uživatele, jak její komponenty interagují a kde vznikají úzká hrdla.

Koncepce APM se zformovala v roce 2010 s přechodem od monolitických aplikací k mikroslužbové architektuře. Když počet služeb překročil 10–15 jednotek, tradiční metody monitorování přestaly fungovat — nebylo možné určit, která služba způsobila zpomalení celého požadavku. Řešení APM vyřešila tento problém prostřednictvím distribuovaného trasování a automatického vytváření mapy služeb.

Podle údajů Grand View Research (2024) je trh APM oceněn na 8,2 miliardy amerických dolarů a ročně roste o 11,5 %. Hlavní hybné síly — migrace do cloudu, nárůst počtu mikroslužeb a zvýšené požadavky na kvalitu uživatelského prožitku v mobilních aplikacích a webových službách.

Tři pilíře APM: metriky, trasování, logy

Moderní APM je postaveno na třech typech dat, která dohromady tvoří úplný obraz stavu aplikace. Metriky — jsou numerické agregáty: doba odezvy, počet požadavků, procento chyb. Odpovídají na otázku „co se děje" a umožňují nastavení výstrah na základě prahových hodnot.

Trasování jako spojovací článek

Trasování (distribuované trasování) odpovídá na otázku „proč se to děje". Každý příchozí požadavek je sledován přes všechny mikroslužby, databáze a externí volání. Systém APM spojuje metriky a trasování: pokud metrika doby odezvy vzrostla, vývojář přejde na dashboard trasování a vidí přesný požadavek, který způsobil zpomalení, s rozpisem na každou službu.

Logování pro hloubku

Logy poskytují kontext — konkrétní chybovou zprávu, hodnotu proměnné, zásobník volání. Moderní APM platformy (Datadog, New Relic, Grafana) propojují logy s trasováním prostřednictvím společného trace_id, což umožňuje přechod z grafu metriky na log konkrétního požadavku. Podle údajů Datadog (2025) korelace logů s trasováním zkracuje průměrnou dobu diagnostiky incidentu ze 45 na 12 minut.

SignálOtázkaJednotka
MetrikyCo se děje?Numerické agregáty
TrasováníProč se to děje?Spany a stopy
LogyCo přesně se pokazilo?Textové záznamy

Architektura APM: agenti a kolektory

Klasická architektura APM se skládá ze tří úrovní: agent, kolektor a backend. Agent — je knihovna vložená do aplikace nebo spuštěná vedle ní (sidecar). Agent zachycuje příchozí a odchozí volání, shromažďuje data o době běhu a odesílá je kolektoru přes zabezpečený kanál.

Činnost APM agenta

APM agent pro Javu se může připojit prostřednictvím javaagent na úrovni JVM, automaticky instrumentovat všechny HTTP požadavky, databázová volání, fronty zpráv a externí API. Pro mobilní platformy se agent připojuje jako SDK a sbírá metriky ze zařízení. New Relic Agent pro Android například automaticky sleduje všechny síťové požadavky přes OkHttp, HTTP klienty a WebView.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

Kód inicializuje New Relic Agent v Android aplikaci. Po spuštění agent automaticky sbírá metriky síťových požadavků, chyby, ANR a data o výkonu UI bez dodatečné instrumentace každé obrazovky. Agent pracuje na pozadí a neovlivňuje výkon hlavního rozhraní aplikace.

Kolektor a backend

Kolektor přijímá data od tisíců agentů, agreguje metriky, provádí vzorkování tras a ukládá data do dlouhodobého úložiště s možností horkého a studeného ukládání. Backend APM poskytuje dashboardy, výstrahy, mapy služeb a API pro integraci s externími systémy (Slack, PagerDuty, Jira, ServiceNow). Datadog zpracovává více než 10 milionů datových bodů za sekundu prostřednictvím svých kolektorů umístěných ve 20+ regionech světa pro minimální latenci přenosu.

Apdex score a SLA monitorování

Apdex (Application Performance Index) — otevřený standard pro měření spokojenosti uživatelů s dobou odezvy aplikace. Hodnota Apdex se vypočítá podle vzorce: (počet spokojených uživatelů + počet tolerantních uživatelů / 2) / celkový počet uživatelů. Výsledkem je číslo od 0 do 1, kde 1 znamená, že všichni uživatelé jsou spokojeni.

Prahové hodnoty Apdex se nastavují individuálně pro každou aplikaci. Pro mobilní aplikace je typická prahová hodnota spokojenosti — doba odezvy do 1,5 sekundy, tolerantní — do 4,5 sekundy. Vše, co překračuje 4,5 sekundy, je považováno za nepřijatelné. Apdex score 0,94 a výše je považován za vynikající ukazatel pro produkční prostředí.

Apdex se používá nejen jako metrika kvality, ale také jako prahová hodnota pro výstrahy. Pokud Apdex klesne pod 0,85 po dobu 10 minut, systém APM odešle oznámení službukonajícímu týmu. To je vyváženější přístup než vázání na absolutní hodnoty doby odezvy, které mohou kolísat v závislosti na denní době a zatížení.

APM pro mobilní aplikace

Mobilní APM má svou specifiku: aplikace běží na zařízení uživatele, které se může nacházet v různých síťových podmínkách, mít různé množství volné paměti a verzi OS. Mobile APM musí všechny tyto faktory zohlednit a poskytovat rozpis metrik podle modelů zařízení, verzí OS, regionů a operátorů.

Sběr dat ze zařízení

Mobilní APM agenti sbírají metriky na zařízení a odesílají je na server v dávkách (batch) v intervalu 1–5 minut. To minimalizuje dopad na provoz uživatele. Při ztrátě spojení jsou data uložena v lokální cache a odeslána při dalším připojení. Firebase Performance a Dynatrace Mobile podporují automatickou retransmisi při ztrátě sítě.

Klíčové mobilní metriky

Ke standardním metrikám APM v mobilním vývoji se přidávají specifické: doba studeného startu, FPS při scrollování, množství spotřebované paměti, frekvence ANR (Android) a počet watchdog terminací (iOS). New Relic Mobile navíc sleduje map views, procento využití cache a dobu vykreslování konkrétních ViewController.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

Kód ve Swiftu vytváří interaction trace pro obrazovku profilu uživatele. New Relic automaticky změří dobu načítání dat, vykreslování UI a všechny síťové požadavky provedené během zobrazení této obrazovky.

Srovnání populárních APM platforem

Trh APM je zastoupen desítkami řešení, která se liší hloubkou monitorování, cenou a podporovanými platformami. Datadog APM vede v integraci metrik, tras a logů v jednotném rozhraní. New Relic nabízí nejpodrobnější trasování pro mobilní platformy. Dynatrace využívá AI engine Davis pro automatickou detekci hlavních příčin problémů.

PlatformaMobilní agentDistributed tracingBezplatný tarif
DatadogiOS, AndroidAnoNe
New ReliciOS, AndroidAno100 GB/měs
DynatraceiOS, AndroidAno15 dní
GrafanaPřes OpenTelemetryAnoAno (OSS)

Výběr APM platformy závisí na velikosti týmu, technologickém stacku a rozpočtu. Pro startupy je optimální Firebase Performance v kombinaci s Grafanou pro backend. Pro enterprise projekty s vysokými požadavky na SLA — Datadog nebo Dynatrace s plnou sadou nástrojů observability a podporou AI analýzy hlavních příčin incidentů.

Často kladené otázky

Čím se APM liší od běžného monitorování serverů?

Běžné monitorování sleduje infrastrukturní metriky: CPU, paměť, disk. APM se dívá na úroveň aplikace: dobu běhu konkrétních transakcí, SQL dotazů, HTTP volání mezi mikroslužbami. APM může ukázat, že CPU je v normě, ale aplikace zpomaluje kvůli pomalému dotazu do databáze.

Je APM potřeba pro jednu mikroslužbu?

Pro jednu službu stačí standardní monitorování + logování pro základní pokrytí. APM se stává nezbytným, když je služeb 5 a více a požadavek prochází několika z nich v jednom uživatelském scénáři. APM dává odpověď, která služba zpomaluje celý tok požadavku a kde se nachází úzké hrdlo.

Jak APM ovlivňuje náklady na infrastrukturu?

APM agenti spotřebovávají 1–3 % CPU a 50–200 MB paměti na serveru. Cena licencí se pohybuje od 15 do 80 dolarů za hostitele měsíčně. Telemetrický provoz činí 1–10 GB denně na hostitele v závislosti na intenzitě trasování. OpenTelemetry + Grafana — bezplatná alternativa ke komerčním APM.

Lze použít APM pro mobilní aplikaci bez backendu?

Ano, mobilní APM agenti pracují autonomně. Sbírají metriky na zařízení, i když aplikace nemá serverovou část: dobu spuštění, FPS, pády, síťové požadavky na externí API. Data jsou odesílána na APM platformu, když se zařízení připojí k internetu.

Jak často je třeba aktualizovat konfiguraci APM?

Základní konfigurace APM (prahové hodnoty, dashboardy, výstrahy) se nastavuje jednou a upravuje se při změně architektury nebo benchmarkových testů výkonu. Agent configuration se aktualizuje automaticky prostřednictvím panelu správy APM platformy bez nutnosti znovu vydávat aplikaci nebo měnit kód.

Shrnutí

  • APM — komplexní řešení pro monitorování výkonu aplikací, které spojuje metriky, trasování a logy.
  • Distributed tracing — klíčový rozdíl APM od klasického monitorování, umožňující sledovat cestu požadavku přes všechny mikroslužby.
  • APM agenti jsou vloženi do aplikace a automaticky sbírají data o době běhu, HTTP požadavcích a databázových voláních.
  • Apdex score — standardizovaná metrika spokojenosti uživatelů, vypočítávaná na základě prahových hodnot doby odezvy.
  • Mobile APM zohledňuje specifika zařízení: studený start, FPS, ANR, síťové podmínky a verze OS.
  • OpenTelemetry umožňuje vybudovat APM systém bez vázání na dodavatele s použitím otevřeného standardu sběru dat.
  • Výběr APM platformy je určen rozsahem projektu: Firebase pro startupy, Datadog nebo Dynatrace pro enterprise architektury s vysokými požadavky na observability.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také