APM (Application Performance Monitoring) — är ett omfattande tillvägagångssätt för att observera mjukvaruprestanda, inklusive insamling av mätvärden, spårning av förfrågningar och diagnostisering av fel i realtid. Enligt data från Gartner IT Glossary, 2024, kombinerar APM tre nyckelområden: övervakning av användarupplevelse, upptäckt av fel i applikationsarkitekturen och analys av körningsdata för djupgående diagnos av incidenter.
Huvudpunkter
APM (Application Performance Monitoring) — är disciplinen för prestandahantering av applikationer, som omfattar insamling, visualisering och analys av data om mjukvarans funktion. Till skillnad från punktövervakning av enskilda mätvärden (CPU, minne) ger APM en helhetsbild: hur applikationen beter sig ur användarens perspektiv, hur dess komponenter interagerar och var flaskhalsar uppstår.
Konceptet APM bildades på 2010-talet med övergången från monolitiska applikationer till mikrotjänstarkitektur. När antalet tjänster översteg 10–15 enheter slutade traditionella övervakningsmetoder att fungera — det var omöjligt att avgöra vilken tjänst som orsakade fördröjningen av hela förfrågan. APM-lösningar löste detta problem genom distribuerad spårning och automatisk byggande av tjänstkarta.
Enligt data från Grand View Research (2024) värderas APM-marknaden till 8,2 miljarder amerikanska dollar och växer med 11,5% årligen. Huvuddrivkrafter — migrering till molnet, ökning av antalet mikrotjänster och högre krav på kvaliteten på användarupplevelsen i mobila applikationer och webbtjänster.
Modern APM bygger på tre typer av data som tillsammans bildar en fullständig bild av applikationens tillstånd. Mätvärden — är numeriska aggregat: svarstid, antal förfrågningar, procent fel. De svarar på frågan \u201cvad händer\u201d och möjliggör inställning av varningar baserat på tröskelvärden.
Spårning (distribuerad spårning) svarar på frågan \u201dvarför händer detta\u201d. Varje inkommande förfrågan spåras genom alla mikrotjänster, databaser och externa anrop. APM-systemet kombinerar mätvärden och spårning: om mätvärdet för svarstid ökar, går utvecklaren till spårningsinstrumentpanelen och ser den exakta förfrågan som orsakade fördröjningen, uppdelad per tjänst.
Loggar ger sammanhang — det specifika felmeddelandet, variabelvärdet, anropsstacken. Moderna APM-plattformar (Datadog, New Relic, Grafana) kopplar loggar till spårningar via gemensam trace_id, vilket möjliggör övergång från mätvärdesgraf till logg för en specifik förfrågan. Enligt data från Datadog (2025) minskar korrelationen av loggar med spårningar den genomsnittliga diagnostiden för en incident från 45 till 12 minuter.
| Signal | Fråga | Enhet |
|---|---|---|
| Mätvärden | Vad händer? | Numeriska aggregat |
| Spårning | Varför händer detta? | Spans och spårningar |
| Loggar | Vad gick exakt fel? | Textposter |
Klassisk APM-arkitektur består av tre nivåer: agent, kollektor och backend. Agent — är ett bibliotek som är inbäddat i applikationen eller körs bredvid den (sidecar). Agenten fångar inkommande och utgående anrop, samlar in data om körningstid och skickar dem till kollektorn via en säker kanal.
APM-agenten för Java kan ansluta via javaagent på JVM-nivå och automatiskt instrumentera alla HTTP-förfrågningar, databasanrop, meddelandeköer och externa API:er. För mobila plattformar ansluts agenten som SDK och samlar in mätvärden från enheten. New Relic Agent för Android följer till exempel automatiskt alla nätverksförfrågningar via OkHttp, HTTP-klienter och WebView.
import com.newrelic.agent.android.NewRelic;
public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
NewRelic.withApplicationToken("YOUR_TOKEN")
.start(this);
}
}
Koden initierar New Relic Agent i en Android-applikation. Efter start samlar agenten automatiskt in mätvärden för nätverksförfrågningar, fel, ANR och UI-prestandadata utan ytterligare instrumentering av varje skärm. Agenten arbetar i bakgrunden och påverkar inte prestandan för applikationens huvudgränssnitt.
Kolektorn tar emot data från tusentals agenter, aggregerar mätvärden, utför sampling av spårningar och lagrar data i långtidslagring med möjlighet till varm och kall lagring. APM-backend tillhandahåller instrumentpaneler, varningar, tjänstkartor och API för integration med externa system (Slack, PagerDuty, Jira, ServiceNow). Datadog bearbetar över 10 miljoner datapunkter per sekund via sina kollektorer placerade i 20+ regioner världen över för minimal överföringsfördröjning.
Apdex (Application Performance Index) — en öppen standard för att mäta användarnöjdhet med applikationens svarstid. Apdex-värdet beräknas med formeln: (antal nöjda användare + antal toleranta användare / 2) / totalt antal användare. Resultatet är ett tal från 0 till 1, där 1 betyder att alla användare är nöjda.
Apdex-trösklar ställs in individuellt för varje applikation. För mobila applikationer är den typiska nöjdhetströskeln — svarstid upp till 1,5 sekunder, tolerant — upp till 4,5 sekunder. Allt som överstiger 4,5 sekunder anses oacceptabelt. Apdex score på 0,94 och högre anses vara en utmärkt indikator för produktionsmiljö.
Apdex används inte bara som en kvalitetsmetrik utan också som en tröskel för varningar. Om Apdex sjunker under 0,85 under 10 minuter skickar APM-systemet ett meddelande till jourteamet. Detta är ett mer balanserat tillvägagångssätt än att binda till absoluta svarstidsvärden, som kan fluktuera beroende på tid på dygnet och belastning.
Mobil APM har sin egen specificitet: applikationen körs på användarens enhet, som kan befinna sig i olika nätverksförhållanden, ha olika mängd ledigt minne och OS-version. Mobile APM måste ta hänsyn till alla dessa faktorer och tillhandahålla uppdelning av mätvärden efter enhetsmodell, OS-version, region och kommunikationsoperatör.
Mobila APM-agenter samlar in mätvärden på enheten och skickar dem till servern i batchar med 1–5 minuters intervall. Detta minimerar påverkan på användarens trafik. Vid förlust av anslutning sparas data i lokal cache och skickas vid nästa anslutning. Firebase Performance och Dynatrace Mobile stöder automatisk återsändning vid nätverksförlust.
Till standardmätvärdena för APM inom mobilutveckling läggs specifika till: kallstarttid, FPS vid scrollning, mängd förbrukat minne, frekvens av ANR (Android) och antal watchdog-termineringar (iOS). New Relic Mobile följer dessutom map views, procentuell cache-användning och renderingstid för specifika ViewControllers.
import NewRelic
class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NewRelic.startInteraction(withName: "ProfileView")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NewRelic.stopCurrentInteraction()
}
}
Koden i Swift skapar en interaction trace för användarens profilsida. New Relic mäter automatiskt laddningstiden för data, UI-rendering och alla nätverksförfrågningar som utfördes under visningen av denna sida.
APM-marknaden representeras av dussintals lösningar som skiljer sig i övervakningsdjup, kostnad och plattformsstöd. Datadog APM leder inom integration av mätvärden, spårningar och loggar i ett enhetligt gränssnitt. New Relic erbjuder den mest detaljerade spårningen för mobila plattformar. Dynatrace använder AI-motorn Davis för automatisk upptäckt av grundorsaker till problem.
| Plattform | Mobil agent | Distribuerad spårning | Gratis tariff |
|---|---|---|---|
| Datadog | iOS, Android | Ja | Nej |
| New Relic | iOS, Android | Ja | 100 GB/mån |
| Dynatrace | iOS, Android | Ja | 15 dagar |
| Grafana | Via OpenTelemetry | Ja | Ja (OSS) |
Valet av APM-plattform beror på teamets storlek, teknikstack och budget. För startups är Firebase Performance i kombination med Grafana för backend optimalt. För enterprise-projekt med höga SLA-krav — Datadog eller Dynatrace med en full uppsättning observability-verktyg och stöd för AI-analys av grundorsaker till incidenter.
Vanliga frågor
Vanlig övervakning följer infrastrukturella mätvärden: CPU, minne, disk. APM tittar på applikationsnivå: körningstid för specifika transaktioner, SQL-frågor, HTTP-anrop mellan mikrotjänster. APM kan visa att CPU är normal men applikationen saktar ner på grund av en långsam databasfråga.
För en enda tjänst räcker standardövervakning + loggning för grundläggande täckning. APM blir nödvändigt när det finns 5 eller fler tjänster och en förfrågan går genom flera av dem i ett användarscenario. APM ger svar på vilken tjänst som saktar ner hela förfrågeflödet och var flaskhalsen finns.
APM-agenter förbrukar 1–3% CPU och 50–200 MB minne på servern. Licenskostnaden varierar från 15 till 80 dollar per värd per månad. Telemetritrafik uppgår till 1–10 GB per dag per värd beroende på spårningsintensitet. OpenTelemetry + Grafana — gratis alternativ till kommersiella APM.
Ja, mobila APM-agenter fungerar självständigt. De samlar in mätvärden på enheten även om applikationen inte har någon serverdel: starttid, FPS, krascher, nätverksförfrågningar till externa API:er. Data skickas till APM-plattformen när enheten ansluter till internet.
Grundkonfigurationen av APM (trösklar, instrumentpaneler, varningar) ställs in en gång och justeras vid arkitekturförändringar eller prestandatester. Agent configuration uppdateras automatiskt via APM-plattformens hanteringspanel utan att applikationen behöver släppas på nytt eller koden ändras.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också