APM: vad det är, mätvärden och hur det fungerar

Författare: IT Sectr Publicerad: 2026-05-29 Lästid: 8 min

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, system för övervakning av applikationsprestanda på alla nivåer: klient, nätverk, server, infrastruktur.
  • Tre pelare av APM — mätvärden, spårning och loggar, förenade i en enda observability-plattform för omfattande incidentanalys.
  • Agent-based APM — installation av en programvaruagent på applikationsservern för insamling av detaljerad körningsdata.
  • Service map — graf över beroenden mellan mikrotjänster, automatiskt byggd baserat på spårningsdata.
  • Apdex score — standardiserad indikator för användarnöjdhet med applikationens svarstid.

Vad är APM inom utveckling

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.

Tre pelare av APM: mätvärden, spårning, loggar

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 som sammanlänkning

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.

Loggning för djup

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.

SignalFrågaEnhet
MätvärdenVad händer?Numeriska aggregat
SpårningVarför händer detta?Spans och spårningar
LoggarVad gick exakt fel?Textposter

APM-arkitektur: agenter och kollektorer

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.

Hur APM-agenten fungerar

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.

java
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.

Kollektor och backend

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 score och SLA-övervakning

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.

APM för mobila applikationer

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.

Datainsamling från enheten

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.

Viktiga mobila mätvärden

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.

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()
    }
}

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.

Jämförelse av populära APM-plattformar

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.

PlattformMobil agentDistribuerad spårningGratis tariff
DatadogiOS, AndroidJaNej
New ReliciOS, AndroidJa100 GB/mån
DynatraceiOS, AndroidJa15 dagar
GrafanaVia OpenTelemetryJaJa (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

Hur skiljer sig APM från vanlig serverövervakning?

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.

Behövs APM för en enda mikrotjänst?

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.

Hur påverkar APM infrastrukturkostnaden?

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.

Kan APM användas för en mobilapp utan backend?

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.

Hur ofta behöver APM-konfigurationen uppdateras?

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

  • APM — omfattande lösning för övervakning av applikationsprestanda som kombinerar mätvärden, spårning och loggar.
  • Distribuerad spårning — den viktigaste skillnaden mellan APM och klassisk övervakning, som möjliggör spårning av en förfrågans väg genom alla mikrotjänster.
  • APM-agenter är inbäddade i applikationen och samlar automatiskt in data om körningstid, HTTP-förfrågningar och databasanrop.
  • Apdex score — standardiserad metrik för användarnöjdhet, beräknad baserat på svarstidströsklar.
  • Mobile APM tar hänsyn till enheternas specificitet: kallstart, FPS, ANR, nätverksförhållanden och OS-versioner.
  • OpenTelemetry gör det möjligt att bygga ett APM-system utan leverantörsbindning med hjälp av en öppen standard för datainsamling.
  • Valet av APM-plattform bestäms av projektets omfattning: Firebase för startups, Datadog eller Dynatrace för enterprise-arkitekturer med höga krav på observability.

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.

Diskutera projektet

Läs också