APM (Application Performance Monitoring) — ay isang komprehensibong diskarte sa pagmamasid sa pagganap ng software, kabilang ang pagkolekta ng mga sukatan, pagsubaybay ng mga kahilingan, at pag-diagnose ng mga error sa real-time. Ayon sa datos ng Gartner IT Glossary, 2024, pinagsasama ng APM ang tatlong pangunahing direksyon: pagsubaybay sa karanasan ng gumagamit, pagtuklas ng mga pagkabigo sa arkitektura ng aplikasyon, at analitika ng datos ng pagpapatupad para sa malalim na pagsusuri ng insidente.
Mga Pangunahing Punto
APM (Application Performance Monitoring) — ay ang disiplina ng pamamahala ng pagganap ng aplikasyon, na sumasaklaw sa pagkolekta, pag-visualize, at pagsusuri ng datos tungkol sa operasyon ng software. Hindi tulad ng point monitoring ng mga indibidwal na sukatan (CPU, memorya), ang APM ay nagbibigay ng holistic na larawan: kung paano kumikilos ang aplikasyon mula sa pananaw ng gumagamit, kung paano nakikipag-ugnayan ang mga bahagi nito, at kung saan lumilitaw ang mga bottleneck.
Ang konsepto ng APM ay nabuo noong 2010s sa paglipat mula sa mga monolitikong aplikasyon patungo sa arkitekturang microservice. Nang ang bilang ng mga serbisyo ay lumampas sa 10–15 yunit, ang mga tradisyonal na pamamaraan ng pagsubaybay ay tumigil sa paggana — imposibleng matukoy kung aling serbisyo ang nagdulot ng pagbagal ng buong kahilingan. Mga solusyon sa APM ay nalutas ang problemang ito sa pamamagitan ng distributed tracing at awtomatikong pagbuo ng mapa ng serbisyo.
Ayon sa datos ng Grand View Research (2024), ang merkado ng APM ay nagkakahalaga ng 8.2 bilyong dolyar ng US at lumalaki ng 11.5% taun-taon. Mga pangunahing driver — paglipat sa cloud, pagtaas ng bilang ng mga microservice, at pagtaas ng mga kinakailangan sa kalidad ng karanasan ng gumagamit sa mga mobile application at web service.
Ang modernong APM ay binuo sa tatlong uri ng datos na magkakasamang bumubuo ng kumpletong larawan ng estado ng aplikasyon. Mga sukatan — ay mga numerikong aggregate: oras ng pagtugon, bilang ng mga kahilingan, porsyento ng mga error. Sinasagot nila ang tanong na \u201canong nangyayari\u201d at pinapayagan ang pag-setup ng mga alert batay sa mga halaga ng threshold.
Pagsubaybay (distributed tracing) ay sumasagot sa tanong na \u201cbakit ito nangyayari\u201d. Ang bawat papasok na kahilingan ay sinusubaybayan sa pamamagitan ng lahat ng microservice, database, at panlabas na tawag. Pinagsasama ng sistema ng APM ang mga sukatan at pagsubaybay: kung ang sukatan ng oras ng pagtugon ay tumaas, ang developer ay pumunta sa dashboard ng mga trace at nakikita ang eksaktong kahilingan na nagdulot ng pagbagal, na may breakdown bawat serbisyo.
Mga log ay nagbibigay ng konteksto — ang tiyak na mensahe ng error, halaga ng variable, stack ng tawag. Ang mga modernong APM platform (Datadog, New Relic, Grafana) ay nag-uugnay ng mga log sa mga trace sa pamamagitan ng karaniwang trace_id, na nagpapahintulot ng paglipat mula sa graph ng sukatan patungo sa log ng isang partikular na kahilingan. Ayon sa datos ng Datadog (2025), ang ugnayan ng mga log sa mga trace ay nagbabawas ng average na oras ng pagsusuri ng insidente mula 45 hanggang 12 minuto.
| Signal | Tanong | Yunit |
|---|---|---|
| Mga sukatan | Anong nangyayari? | Numerikong aggregate |
| Pagsubaybay | Bakit ito nangyayari? | Span at trace |
| Mga log | Ano ba talaga ang mali? | Tekstwal na talaan |
Ang klasikong arkitektura ng APM ay binubuo ng tatlong antas: agent, kolektor, at backend. Agent — ay isang library na naka-embed sa aplikasyon o pinapatakbo sa tabi nito (sidecar). Ang agent ay humaharang ng mga papasok at papalabas na tawag, nangongolekta ng datos tungkol sa oras ng pagpapatupad, at ipinapadala ang mga ito sa kolektor sa pamamagitan ng secure na channel.
Ang APM agent para sa Java ay maaaring kumonekta sa pamamagitan ng javaagent sa antas ng JVM, awtomatikong ini-instrument ang lahat ng HTTP na kahilingan, tawag sa database, pila ng mensahe, at panlabas na API. Para sa mga mobile platform, ang agent ay kumokonekta bilang SDK at nangongolekta ng mga sukatan mula sa device. New Relic Agent para sa Android, halimbawa, awtomatikong sinusubaybayan ang lahat ng network request sa pamamagitan ng OkHttp, HTTP clients, at WebView.
import com.newrelic.agent.android.NewRelic;
public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
NewRelic.withApplicationToken("YOUR_TOKEN")
.start(this);
}
}
Ang code ay nag-i-initialize ng New Relic Agent sa Android application. Pagkatapos ng paglunsad, awtomatikong nangongolekta ang agent ng mga sukatan ng network request, error, ANR, at datos ng pagganap ng UI nang walang karagdagang instrumentasyon ng bawat screen. Ang agent ay gumagana sa background at hindi nakakaapekto sa pagganap ng pangunahing interface ng aplikasyon.
Ang kolektor ay tumatanggap ng datos mula sa libu-libong agent, nag-a-aggregate ng mga sukatan, nagsasagawa ng sampling ng mga trace, at nag-iimbak ng datos sa pangmatagalang imbakan na may kakayahang mainit at malamig na pag-iimbak. Ang backend ng APM ay nagbibigay ng mga dashboard, alert, mapa ng serbisyo, at API para sa integrasyon sa mga panlabas na sistema (Slack, PagerDuty, Jira, ServiceNow). Datadog ay nagpoproseso ng higit sa 10 milyong punto ng datos bawat segundo sa pamamagitan ng mga kolektor nito na matatagpuan sa 20+ rehiyon ng mundo para sa minimal na latency ng transmisyon.
Apdex (Application Performance Index) — isang bukas na pamantayan para sa pagsukat ng kasiyahan ng mga gumagamit sa oras ng pagtugon ng aplikasyon. Ang halaga ng Apdex ay kinakalkula gamit ang formula: (bilang ng nasiyahang gumagamit + bilang ng mapagparayang gumagamit / 2) / kabuuang bilang ng gumagamit. Ang resulta ay isang numero mula 0 hanggang 1, kung saan ang 1 ay nangangahulugang lahat ng gumagamit ay nasiyahan.
Ang mga threshold ng Apdex ay itinakda nang indibidwal para sa bawat aplikasyon. Para sa mga mobile application, ang tipikal na threshold ng kasiyahan — oras ng pagtugon hanggang 1.5 segundo, mapagparaya — hanggang 4.5 segundo. Lahat ng lumalampas sa 4.5 segundo ay itinuturing na hindi katanggap-tanggap. Apdex score na 0.94 at mas mataas ay itinuturing na mahusay na tagapagpahiwatig para sa production environment.
Ang Apdex ay ginagamit hindi lamang bilang sukatan ng kalidad, kundi pati na rin bilang threshold para sa mga alert. Kung ang Apdex ay bumaba sa ibaba 0.85 sa loob ng 10 minuto, ang sistema ng APM ay nagpapadala ng notipikasyon sa naka-duty na team. Ito ay isang mas balanseng diskarte kaysa sa pag-angkla sa ganap na halaga ng oras ng pagtugon, na maaaring magbago depende sa oras ng araw at karga.
Ang mobile APM ay may sariling spesipiko: ang aplikasyon ay tumatakbo sa device ng gumagamit, na maaaring nasa iba't ibang kondisyon ng network, may iba't ibang dami ng libreng memorya at bersyon ng OS. Mobile APM ay dapat isaalang-alang ang lahat ng mga salik na ito at magbigay ng breakdown ng mga sukatan ayon sa modelo ng device, bersyon ng OS, rehiyon, at operator ng komunikasyon.
Ang mga mobile APM agent ay nangongolekta ng mga sukatan sa device at ipinapadala ang mga ito sa server sa mga batch na may pagitan ng 1–5 minuto. Ito ay nagpapaliit sa epekto sa trapiko ng gumagamit. Sa pagkawala ng koneksyon, ang datos ay nai-save sa lokal na cache at ipinapadala sa susunod na koneksyon. Firebase Performance at Dynatrace Mobile ay sumusuporta sa awtomatikong retransmission kapag nawala ang network.
Sa mga pamantayang sukatan ng APM sa mobile development ay idinaragdag ang mga spesipiko: oras ng malamig na pagsisimula, FPS sa pag-scroll, dami ng natupok na memorya, dalas ng ANR (Android) at bilang ng watchdog termination (iOS). New Relic Mobile ay karagdagang sumusubaybay ng map views, porsyento ng paggamit ng cache, at oras ng pag-render ng mga partikular na ViewController.
import NewRelic
class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NewRelic.startInteraction(withName: "ProfileView")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NewRelic.stopCurrentInteraction()
}
}
Ang code sa Swift ay lumikha ng interaction trace para sa screen ng profile ng gumagamit. Awtomatikong susukatin ng New Relic ang oras ng pag-load ng datos, pag-render ng UI, at lahat ng network request na isinagawa habang ipinapakita ang screen na ito.
Ang merkado ng APM ay kinakatawan ng dose-dosenang solusyon na nagkakaiba sa lalim ng pagsubaybay, gastos, at mga sinusuportahang platform. Datadog APM ay nangunguna sa pagsasama ng mga sukatan, trace, at log sa iisang interface. New Relic ay nag-aalok ng pinakadetalyadong pagsubaybay para sa mga mobile platform. Dynatrace ay gumagamit ng AI engine na Davis para sa awtomatikong pagtuklas ng mga ugat na sanhi ng mga problema.
| Platform | Mobile agent | Distributed tracing | Libreng taripa |
|---|---|---|---|
| Datadog | iOS, Android | Oo | Hindi |
| New Relic | iOS, Android | Oo | 100 GB/buwan |
| Dynatrace | iOS, Android | Oo | 15 araw |
| Grafana | Sa pamamagitan ng OpenTelemetry | Oo | Oo (OSS) |
Ang pagpili ng APM platform ay nakadepende sa laki ng team, technology stack, at badyet. Para sa mga startup, ang Firebase Performance na may kombinasyon ng Grafana para sa backend ay optimal. Para sa mga enterprise project na may mataas na kinakailangan sa SLA — Datadog o Dynatrace na may kumpletong set ng observability tools at suporta para sa AI analysis ng mga ugat na sanhi ng insidente.
Mga Madalas Itanong
Ang ordinaryong pagsubaybay ay sumusubaybay ng mga sukatan ng imprastraktura: CPU, memorya, disk. APM ay tumitingin sa antas ng aplikasyon: oras ng pagpapatupad ng mga tiyak na transaksyon, SQL query, HTTP tawag sa pagitan ng mga microservice. Maaaring ipakita ng APM na normal ang CPU, ngunit bumabagal ang aplikasyon dahil sa mabagal na query sa database.
Para sa isang serbisyo, sapat na ang standard na pagsubaybay + pag-log para sa pangunahing coverage. APM ay nagiging kinakailangan kapag ang mga serbisyo ay 5 o higit pa, at ang kahilingan ay dumadaan sa ilan sa mga ito sa isang senaryo ng gumagamit. Ang APM ay nagbibigay ng sagot kung aling serbisyo ang nagpapabagal sa buong daloy ng kahilingan at kung saan ang bottleneck.
Ang mga APM agent ay kumokonsumo ng 1–3% CPU at 50–200 MB memorya sa server. Ang gastos ng lisensya ay nag-iiba mula 15 hanggang 80 dolyar bawat host bawat buwan. Telemetry traffic ay umaabot ng 1–10 GB bawat araw bawat host depende sa intensity ng pagsubaybay. OpenTelemetry + Grafana — libreng alternatibo sa komersyal na APM.
Oo, ang mga mobile APM agent ay gumagana nang awtonomo. Nangongolekta sila ng mga sukatan sa device, kahit na ang aplikasyon ay walang bahagi ng server: oras ng pagsisimula, FPS, crash, network request sa panlabas na API. Ang datos ay ipinapadala sa APM platform kapag ang device ay kumonekta sa internet.
Ang pangunahing configuration ng APM (threshold, dashboard, alert) ay ini-setup nang isang beses at inaayos kapag nagbago ang arkitektura o mga benchmark test ng pagganap. Agent configuration ay awtomatikong naa-update sa pamamagitan ng management panel ng APM platform nang hindi kailangang muling ilabas ang aplikasyon o baguhin ang code.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din