APM: що це, метрики та як це працює

Автор: IT Sectr Опубліковано: 2026-05-29 Час читання: 8 хв

APM (Application Performance Monitoring) — це комплексний підхід до спостереження за продуктивністю програмного забезпечення, що включає збір метрик, трасування запитів та діагностику помилок у реальному часі. За даними Gartner IT Glossary, 2024, APM об’єднує три ключові напрями: моніторинг користувацького досвіду, виявлення збоїв у архітектурі додатка та аналітику даних виконання для глибокої діагностики інцидентів.

Головне

  • APM — Application Performance Monitoring, система спостереження за продуктивністю додатків на всіх рівнях: клієнт, мережа, сервер, інфраструктура.
  • Три стовпи APM — метрики, трасування та логи, об’єднані в єдину платформу спостережуваності для накрізного аналізу інцидентів.
  • Agent-based APM — встановлення програмного агента на сервері додатка для збору деталізованих даних часу виконання.
  • Мапа сервісів — граф залежностей між мікросервісами, автоматично побудований на основі даних трасування.
  • Apdex score — стандартизований показник задоволеності користувача часом відповіді додатка.

Що таке APM у розробці

APM (Application Performance Monitoring) — це дисципліна управління продуктивністю додатків, що охоплює збір, візуалізацію та аналіз даних роботи програмного забезпечення. На відміну від точкового моніторингу окремих метрик (CPU, пам’ять), APM надає цілісну картину: як додаток поводиться з точки зору користувача, як взаємодіють його компоненти та де виникають вузькі місця.

Концепція APM сформувалась у 2010-х роках з переходом від монолітних додатків до мікросервісної архітектури. Коли кількість сервісів перевищила 10–15 одиниць, традиційні методи моніторингу перестали працювати — неможливо було визначити, який саме сервіс викликав уповільнення всього запиту. APM-рішення вирішили цю проблему через розподілене трасування та автоматичне побудову карти сервісів.

За даними Grand View Research (2024), ринок APM оцінюється в 8,2 мільярда доларів США і зростає на 11,5% щорічно. Основні драйвери — міграція у хмару, зростання кількості мікросервісів та підвищення вимог до якості користувацького досвіду в мобільних додатках та веб-сервісах.

Три стовпи APM: метрики, трасування, логи

Сучасний APM будується на трьох типах даних, які разом утворюють повну картину стану додатка. Метрики — це числові агрегати: час відповіді, кількість запитів, відсоток помилок. Вони відповідають на питання “що відбувається” та дозволяють настроювати сповіщення за пороговими значеннями.

Трасування як сполучна ланка

Трасування (розподілене трасування) відповідає на питання “чому це відбувається.” Кожний вхідний запит простежується через усі мікросервіси, бази даних та зовнішні виклики. APM-система об’єднує метрики та трасування: якщо метрика часу відповіді зросла, розробник переходить на панель трас та бачить точний запит, який викликав уповільнення, з розбивкою по кожному сервісу.

Логування для глибини

Логи надають контекст — конкретне повідомлення про помилку, значення змінної, стек викликів. Сучасні APM-платформи (Datadog, New Relic, Grafana) пов’язують логи з трасами через спільний trace_id, дозволяючи переходити від графіка метрики до логу конкретного запиту. За даними Datadog (2025), кореляція логів з трасами скорочує середній час діагностики інциденту з 45 до 12 хвилин.

СигналПитанняОдиниця
МетрикиЩо відбувається?Числові агрегати
ТрасуванняЧому це відбувається?Spans та traces
ЛогиЩо саме пішло не так?Текстові записи

Архітектура APM: агенти та колектори

Класична APM-архітектура складається з трьох рівнів: агент, колектор та бекенд. Агент — це бібліотека, яку вбудовують в додаток або запускають поряд з ним (sidecar). Агент перехоплює вхідні та вихідні виклики, збирає дані часу виконання та надсилає їх на колектор за захищеним каналом.

Робота APM-агента

APM-агент для Java може підключатися через javaagent на рівні JVM, автоматично інструментуючи всі HTTP-запити, виклики баз даних, черги повідомлень та зовнішні API. Для мобільних платформ агент підключається як SDK та збирає метрики з пристрою. New Relic Agent для Android, наприклад, автоматично відстежує всі мережеві запити через OkHttp, HTTP-клієнти та WebView.

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

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

Цей код ініціалізує New Relic Agent в Android-додатку. Після запуску агент автоматично збирає метрики мережевих запитів, помилки, ANR та дані продуктивності UI без додаткової інструментації кожного екрану. Агент працює в фоновому потоці та не впливає на продуктивність основного інтерфейсу додатка.

Колектор та бекенд

Колектор приймає дані від тисяч агентів, агрегує метрики, виконує семплювання трас та зберігає дані в довгостроковому сховищі з можливістю гарячого та холодного зберігання. Бекенд APM надає панелі керування, сповіщення, карти сервісів та API для інтеграції з зовнішніми системами (Slack, PagerDuty, Jira, ServiceNow). Datadog обробляє понад 10 мільйонів точок даних на секунду через свої колектори, розташовані в 20+ регіонах світу для мінімальної затримки передачі.

Apdex score та моніторинг SLA

Apdex (Application Performance Index) — це відкритий стандарт для вимірювання задоволеності користувачів часом відповіді додатка. Значення Apdex обчислюється за формулою: (кількість задоволених користувачів + кількість терплячих користувачів / 2) / загальна кількість користувачів. Результат — число від 0 до 1, де 1 означає, що всі користувачі задоволені.

Пороги Apdex встановлюються індивідуально для кожного додатка. Для мобільних додатків типовий поріг задоволеності — час відповіді до 1,5 секунди, терпимий — до 4,5 секунди. Усе, що перевищує 4,5 секунди, вважається неприйнятним. Apdex score 0,94 та вище вважається відмінним показником для продакшн-середовища.

Apdex використовується не тільки як метрика якості, але й як поріг для сповіщень. Якщо Apdex падає нижче 0,85 протягом 10 хвилин, APM-система надсилає сповіщення черговій команді. Це більш збалансований підхід, ніж прив’язка до абсолютних значень часу відповіді, які можуть коливатися залежно від пори дня та навантаження.

APM для мобільних додатків

Мобільний APM має свою специфіку: додаток працює на пристрої користувача, який може перебувати в різних мережевих умовах, мати різний об’єм вільної пам’яті та версії ОС. Mobile APM має враховувати всі ці фактори та надавати розбивку метрик за моделями пристроїв, версіями ОС, регіонами та операторами зв’язку.

Збір даних з пристрою

Мобільні APM-агенти збирають метрики на пристрої та надсилають їх на сервер пачками (batch) з інтервалом 1–5 хвилин. Це мінімізує вплив на трафік користувача. У разі втрати з’єднання дані зберігаються в локальному кеші та надсилаються при наступному підключенні. Firebase Performance та Dynatrace Mobile підтримують автоматичну ретрансляцію при втраті мережі.

Ключові mobile-метрики

До стандартних APM-метрик у мобільній розробці додаються специфічні: час холодного старту, FPS при прокруці, обсяг споживаної пам’яті, частота ANR (Android) та кількість watchdog-термінацій (iOS). New Relic Mobile додатково відстежує перегляди карт, відсоток використання кешу та час рендерінгу конкретних 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()
    }
}

Код на Swift створює interaction trace для екрану профілю користувача. New Relic автоматично виміряє час завантаження даних, відмалювання UI та всі мережеві запити, виконані під час відображення цього екрану.

Порівняння популярних APM-платформ

Ринок APM налічує десятки рішень, що різняться за глибиною моніторингу, вартістю та підтримуваними платформами. Datadog APM лідер з інтеграції метрик, трас та логів в єдиному інтерфейсі. New Relic пропонує найбільш деталізоване трасування для мобільних платформ. Dynatrace використовує AI-рушій Davis для автоматичного виявлення першопричин проблем.

ПлатформаМобільний агентDistributed tracingБезкоштовний тариф
DatadogiOS, AndroidТакНі
New ReliciOS, AndroidТак100 ГБ/міс
DynatraceiOS, AndroidТак15 днів
GrafanaЧерез OpenTelemetryТакТак (OSS)

Вибір APM-платформи залежить від розміру команди, стеку технологій та бюджету. Для стартапів оптимальним є Firebase Performance в комбінації з Grafana для бекенду. Для enterprise-проєктів з високими вимогами до SLA — Datadog або Dynatrace з повним набором інструментів спостережуваності та AI-аналізом першопричин.

Часті запитання

Чим APM відрізняється від звичайного моніторингу серверів?

Звичайний моніторинг відстежує інфраструктурні метрики: CPU, пам’ять, диск. APM дивиться на рівень додатка: час виконання конкретних транзакцій, SQL-запитів, HTTP-викликів між мікросервісами. APM може показати, що CPU в нормі, але додаток гальмує через повільний запит до бази даних.

Чи потрібен APM для одного мікросервісу?

Для одного сервісу достатньо стандартного моніторингу + логування для базового покриття. APM стає необхідним, коли сервісів 5 і більше, і запит проходить через кілька з них за один користувацький сценарій. APM дає відповідь, який саме сервіс уповільнює весь потік запиту та де знаходиться вузьке місце.

Як APM впливає на вартість інфраструктури?

APM-агенти споживають 1–3% CPU та 50–200 MB пам’яті на сервері. Вартість ліцензій коливається від 15 до 80 доларів за хост на місяць. Трафік телеметрії становить 1–10 ГБ на день на хост залежно від інтенсивності трасування. OpenTelemetry + Grafana — безкоштовна альтернатива комерційному APM.

Чи можна використовувати APM для мобільного додатка без бекенду?

Так, мобільні APM-агенти працюють автономно. Вони збирають метрики на пристрої, навіть якщо додаток не має серверної частини: час старту, FPS, краші, мережеві запити до сторонніх API. Дані надсилаються на APM-платформу, коли пристрій підключається до інтернету.

Як часто потрібно оновлювати конфігурацію APM?

Базова конфігурація APM (пороги, панелі керування, сповіщення) налаштовується один раз та коригується при зміні архітектури або оновленні benchmark-тестів продуктивності. Agent configuration оновлюється автоматично через панель керування APM-платформи без необхідності перевипускати додаток або змінювати код.

Підсумки

  • APM — комплексне рішення для моніторингу продуктивності додатків, що об’єднує метрики, трасування та логи.
  • Distributed tracing — ключова відмінність APM від класичного моніторингу, що дозволяє простежити шлях запиту через усі мікросервіси.
  • APM-агенти вбудовуються в додаток та автоматично збирають дані часу виконання, HTTP-запитів та викликів БД.
  • Apdex score — стандартизована метрика задоволеності користувачів, що розраховується на основі порогів часу відповіді.
  • Mobile APM враховує специфіку пристроїв: холодний старт, FPS, ANR, мережеві умови та версії ОС.
  • OpenTelemetry дозволяє побудувати APM-систему без прив’язки до вендора, використовуючи відкритий стандарт збору даних.
  • Вибір APM-платформи визначається масштабом проєкту: Firebase для стартапів, Datadog або Dynatrace для enterprise-архітектур з високими вимогами до спостережуваності.

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також