APM (Application Performance Monitoring) — este o abordare complexă pentru observarea performanței software-ului, incluzând colectarea de metrici, trasarea cererilor și diagnosticarea erorilor în timp real. Conform datelor Gartner IT Glossary, 2024, APM combină trei direcții cheie: monitorizarea experienței utilizatorului, detectarea defecțiunilor în arhitectura aplicației și analiza datelor de execuție pentru diagnosticarea profundă a incidentelor.
Principalele idei
APM (Application Performance Monitoring) — este disciplina de gestionare a performanței aplicațiilor, care acoperă colectarea, vizualizarea și analiza datelor despre funcționarea software-ului. Spre deosebire de monitorizarea punctuală a metricilor individuale (CPU, memorie), APM oferă o imagine de ansamblu: cum se comportă aplicația din perspectiva utilizatorului, cum interacționează componentele sale și unde apar blocajele.
Conceptul APM s-a format în anii 2010 odată cu trecerea de la aplicațiile monolitice la arhitectura microserviciilor. Când numărul de servicii a depășit 10–15 unități, metodele tradiționale de monitorizare au încetat să funcționeze — era imposibil de determinat care serviciu a cauzat încetinirea întregii cereri. Soluțiile APM au rezolvat această problemă prin distributed tracing și construirea automată a hărții serviciilor.
Conform datelor Grand View Research (2024), piața APM este evaluată la 8,2 miliarde de dolari SUA și crește cu 11,5% anual. Principalii factori motori — migrarea în cloud, creșterea numărului de microservicii și cerințele sporite privind calitatea experienței utilizatorului în aplicațiile mobile și serviciile web.
APM modern se bazează pe trei tipuri de date care împreună formează o imagine completă a stării aplicației. Metricile — sunt agregate numerice: timpul de răspuns, numărul de cereri, procentul de erori. Ele răspund la întrebarea „ce se întâmplă” și permit configurarea alertelor pe baza valorilor prag.
Trasarea (distributed tracing) răspunde la întrebarea „de ce se întâmplă acest lucru”. Fiecare cerere de intrare este urmărită prin toate microserviciile, bazele de date și apelurile externe. Sistemul APM combină metricile și trasarea: dacă metrica timpului de răspuns a crescut, dezvoltatorul merge la tabloul de bord al trasărilor și vede cererea exactă care a cauzat încetinirea, cu defalcare pe fiecare serviciu.
Logurile oferă context — mesajul specific de eroare, valoarea variabilei, stiva de apeluri. Platformele APM moderne (Datadog, New Relic, Grafana) leagă logurile cu trasările prin trace_id comun, permițând trecerea de la graficul metricii la logul unei cereri specifice. Conform datelor Datadog (2025), corelarea logurilor cu trasările reduce timpul mediu de diagnosticare a incidentului de la 45 la 12 minute.
| Semnale | Întrebare | Unitate |
|---|---|---|
| Metrici | Ce se întâmplă? | Agregate numerice |
| Trasare | De ce se întâmplă? | Span-uri și trace-uri |
| Loguri | Ce anume a mers prost? | Înregistrări text |
Arhitectura clasică APM constă din trei niveluri: agent, colector și backend. Agentul — este o bibliotecă încorporată în aplicație sau rulată lângă aceasta (sidecar). Agentul interceptează apelurile de intrare și de ieșire, colectează date despre timpul de execuție și le trimite la colector printr-un canal securizat.
Agentul APM pentru Java se poate conecta prin javaagent la nivelul JVM, instrumentând automat toate cererile HTTP, apelurile la baze de date, cozile de mesaje și API-urile externe. Pentru platformele mobile, agentul se conectează ca SDK și colectează metrici de pe dispozitiv. New Relic Agent pentru Android, de exemplu, urmărește automat toate cererile de rețea prin OkHttp, clienții HTTP și WebView.
import com.newrelic.agent.android.NewRelic;
public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
NewRelic.withApplicationToken("YOUR_TOKEN")
.start(this);
}
}
Codul inițializează New Relic Agent în aplicația Android. După lansare, agentul colectează automat metricile cererilor de rețea, erorile, ANR și datele de performanță UI fără instrumentarea suplimentară a fiecărui ecran. Agentul rulează în fundal și nu afectează performanța interfeței principale a aplicației.
Colectorul primește date de la mii de agenți, agregă metricile, efectuează eșantionarea trasărilor și stochează datele într-un depozit pe termen lung cu posibilitatea de stocare la cald și la rece. Backend-ul APM oferă tablouri de bord, alerte, hărți de servicii și API pentru integrarea cu sisteme externe (Slack, PagerDuty, Jira, ServiceNow). Datadog procesează peste 10 milioane de puncte de date pe secundă prin colectorii săi situați în 20+ de regiuni ale lumii pentru o latență minimă de transmisie.
Apdex (Application Performance Index) — un standard deschis pentru măsurarea satisfacției utilizatorilor față de timpul de răspuns al aplicației. Valoarea Apdex se calculează după formula: (numărul de utilizatori mulțumiți + numărul de utilizatori toleranți / 2) / numărul total de utilizatori. Rezultatul este un număr de la 0 la 1, unde 1 înseamnă că toți utilizatorii sunt mulțumiți.
Pragurile Apdex se setează individual pentru fiecare aplicație. Pentru aplicațiile mobile, pragul tipic de satisfacție — timpul de răspuns până la 1,5 secunde, tolerat — până la 4,5 secunde. Orice depășește 4,5 secunde este considerat inacceptabil. Apdex score de 0,94 și mai sus este considerat un indicator excelent pentru mediul de producție.
Apdex este folosit nu doar ca metrică de calitate, ci și ca prag pentru alerte. Dacă Apdex scade sub 0,85 timp de 10 minute, sistemul APM trimite o notificare echipei de gardă. Aceasta este o abordare mai echilibrată decât raportarea la valorile absolute ale timpului de răspuns, care pot fluctua în funcție de ora zilei și încărcare.
APM mobil are specificul său: aplicația rulează pe dispozitivul utilizatorului, care poate fi în diferite condiții de rețea, poate avea volum diferit de memorie liberă și versiune de sistem de operare. Mobile APM trebuie să ia în considerare toți acești factori și să ofere defalcarea metricilor pe modele de dispozitive, versiuni de sistem de operare, regiuni și operatori de comunicații.
Agenții APM mobili colectează metrici pe dispozitiv și le trimit pe server în loturi (batch) la interval de 1–5 minute. Aceasta minimizează impactul asupra traficului utilizatorului. În caz de pierdere a conexiunii, datele sunt salvate în cache-ul local și trimise la următoarea conectare. Firebase Performance și Dynatrace Mobile suportă retransmisia automată în caz de pierdere a rețelei.
La metricile standard APM în dezvoltarea mobilă se adaugă cele specifice: timpul de pornire la rece, FPS la derulare, volumul de memorie consumată, frecvența ANR (Android) și numărul de terminări watchdog (iOS). New Relic Mobile suplimentar urmărește map views, procentul de utilizare a cache-ului și timpul de randare al ViewController-urilor specifice.
import NewRelic
class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NewRelic.startInteraction(withName: "ProfileView")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NewRelic.stopCurrentInteraction()
}
}
Codul în Swift creează o interaction trace pentru ecranul de profil al utilizatorului. New Relic va măsura automat timpul de încărcare a datelor, randarea UI și toate cererile de rețea executate în timpul afișării acestui ecran.
Piața APM este reprezentată de zeci de soluții care diferă prin profunzimea monitorizării, cost și platformele suportate. Datadog APM conduce în ceea ce privește integrarea metricilor, trasărilor și logurilor într-o singură interfață. New Relic oferă cea mai detaliată trasare pentru platforme mobile. Dynatrace utilizează motorul AI Davis pentru detectarea automată a cauzelor principale ale problemelor.
| Platforma | Agent mobil | Distributed tracing | Tarif gratuit |
|---|---|---|---|
| Datadog | iOS, Android | Da | Nu |
| New Relic | iOS, Android | Da | 100 GB/lună |
| Dynatrace | iOS, Android | Da | 15 zile |
| Grafana | Prin OpenTelemetry | Da | Da (OSS) |
Alegerea platformei APM depinde de mărimea echipei, stiva tehnologică și buget. Pentru startup-uri, Firebase Performance combinat cu Grafana pentru backend este optim. Pentru proiecte enterprise cu cerințe înalte de SLA — Datadog sau Dynatrace cu setul complet de instrumente observability și suport pentru analiza AI a cauzelor principale ale incidentelor.
Întrebări frecvente
Monitorizarea obișnuită urmărește metrici de infrastructură: CPU, memorie, disc. APM privește la nivelul aplicației: timpul de execuție al tranzacțiilor specifice, cererilor SQL, apelurilor HTTP între microservicii. APM poate arăta că CPU este normal, dar aplicația încetinește din cauza unei cereri lente la baza de date.
Pentru un singur serviciu, monitorizarea standard + logarea pentru acoperirea de bază este suficientă. APM devine necesar când serviciile sunt 5 sau mai multe, iar cererea trece prin mai multe dintre ele într-un singur scenariu de utilizator. APM oferă răspunsul care serviciu încetinește întregul flux al cererii și unde se află blocajul.
Agenții APM consumă 1–3% CPU și 50–200 MB de memorie pe server. Costul licențelor variază între 15 și 80 de dolari per host pe lună. Traficul de telemetrie constituie 1–10 GB pe zi per host, în funcție de intensitatea trasării. OpenTelemetry + Grafana — alternativă gratuită la APM comerciale.
Da, agenții APM mobili funcționează autonom. Ei colectează metrici pe dispozitiv, chiar dacă aplicația nu are parte server: timpul de pornire, FPS, crash-uri, cereri de rețea către API-uri externe. Datele sunt trimise în platforma APM când dispozitivul se conectează la internet.
Configurația de bază APM (praguri, tablouri de bord, alerte) se setează o dată și se ajustează la modificarea arhitecturii sau a testelor de performanță. Agent configuration se actualizează automat prin panoul de gestionare al platformei APM fără a fi necesară reeditarea aplicației sau modificarea codului.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și