New Relic е платформа за full-stack observability, която предоставя събиране на метрики, проследяване на разпределени заявки, регистриране и мониторинг на потребителското изживяване в единен интерфейс. Според New Relic Documentation, 2025, New Relic обработва над 130 екзабайта данни месечно за 17.000+ клиенти, включително Ticketmaster, Yelp и Ryanair.
Основни точки
New Relic — една от най-старите и най-зрелите observability платформи, основана през 2008 г. Първоначално New Relic беше позициониран като APM за уеб приложения (Ruby on Rails), но с годините прерасна в full-stack платформа, обхващаща мобилни приложения, браузъри, микрослужби, serverless функции и инфраструктура.
През 2020 г. New Relic представи New Relic One — напълно преработена платформа с поддръжка на персонализирани табла, NRQL заявки и интегриране на данни от всякакви източници. За разлика от конкурентите (Datadog, Dynatrace), New Relic предлага щедър безплатен план: 100 GB данни на месец (включва всички видове телеметрия — метрики, проследяване, логове) без ограничение на времето за съхранение на основните метрики.
Според New Relic State of Observability Report (2024), 74% от организациите използват New Relic за мобилен мониторинг, а средното време за откриване на инциденти се намалява от 3 часа на 12 минути след внедряване на платформата. Основни сценарии на използване — APM за микрослужби, мониторинг на мобилни приложения и full-stack debugging.
New Relic One — централната конзола на платформата, която обединява всички типове данни в един интерфейс. Потребителят може да създаде неограничен брой табла с изпълними модули: линейни графики, топлинни карти, таблици, списъци. Всеки изпълним модул се основава на заявка към NRDB (New Relic Database) — собствена база данни, оптимизирана за времеви редове.
New Relic One позволява създаване на табла за различна аудитория: техническо табло с подробни метрики (latency p95, throughput, error rate), бизнес табло с Apdex резултат и потребителски метрики (конверсия, време за завършване на поръчка) и инфраструктурно табло (CPU, памет, мрежа). Dashboard-as-code се поддържа чрез Terraform доставчик и New Relic API.
NRQL (New Relic Query Language) — подобен на SQL език за заявки към телеметрични данни. Той позволява избор, агрегиране и визуализиране на данни без използване на външни инструменти. NRQL поддържа функции за времеви редове (TIMESERIES, SINCE, UNTIL), филтриране по атрибути, групиране (FACET) и изчисляване на персентили (percentile).
SELECT average(duration) as "Avg Response"
FROM Transaction
WHERE appName = "MobileApp"
FACET endpoint
SINCE 1 hour ago
TIMESERIES auto
LIMIT 10
NRQL заявката показва средното време за отговор за всяка крайна точка на мобилното приложение за последния час с разбивка по времеви интервали. Резултатът се визуализира като линейна графика в таблото на New Relic One.
New Relic Mobile agent предоставя SDK за iOS (Swift, Objective-C) и Android (Kotlin, Java) с автоматично събиране на метрики за производителност, сривове, ANR и HTTP заявки. Инсталацията отнема 10 минути и включва добавяне на зависимост и инициализация с токен на приложението.
Android SDK се свързва чрез приставката Gradle, която автоматично инструментира Activity, HTTP клиенти (OkHttp, Retrofit, Volley) и фонови услуги. New Relic Android agent също проследява WebView, зареждане на изображения и работа с базата данни Room.
import com.newrelic.agent.android.NewRelic
class App : Application() {
override fun onCreate() {
super.onCreate()
NewRelic.withApplicationToken("YOUR_TOKEN")
.withCrashReporting(true)
.withHttpResponseBodyCapture(true)
.start(this)
}
}
Кодът инициализира New Relic SDK с активирано докладване на сривове и заснемане на съдържанието на HTTP отговори. Параметърът withHttpResponseBodyCapture позволява да се види съдържанието на отговора при грешки 4xx/5xx, което е критично за диагностициране на API проблеми.
iOS SDK поддържа Swift Package Manager и CocoaPods. След инсталация агентът автоматично прихваща URLSession заявки, UIApplication метрики и Swift грешки. New Relic iOS agent също събира метрики за батерията, брой стартирания и температура на устройството — данни, полезни за оценка на влиянието на приложението върху устройството.
import NewRelic
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
NewRelic.enableFeatures(NRFeatureFlag.SwiftAsyncURLSession)
NewRelic.start(withApplicationToken: "YOUR_TOKEN")
return true
}
}
Кодът активира мониторинг на Swift async/await заявки чрез URLSession (iOS 15+) и стартира New Relic агента. NRFeatureFlag.SwiftAsyncURLSession включва инструментиране на модерни Swift Concurrency извиквания.
New Relic Distributed Tracing обединява заявки от мобилния клиент чрез API Gateway, микрослужби и бази данни в един trace. Стандартите W3C Trace Context и OpenTelemetry се поддържат, което позволява интегриране на данни от външни инструменти в общото проследяване.
Service Map — автоматично изградена карта на зависимостите между услугите въз основа на данни от проследяване. Всяка услуга се показва като възел на графа, а стрелките между тях представляват извиквания на една услуга от друга. Цветът на възела показва здравословното състояние: зелено (всичко е нормално), жълто (грешките са се увеличили), червено (услугата е недостъпна). Service Map се актуализира в реално време при промяна на архитектурата.
Според New Relic (2024), екипите, използващи Service Map, намират основната причина за забавяния 55% по-бързо, отколкото при ръчен анализ на логове. Картата е особено полезна за микрослужбени архитектури, където каскадна повреда в една услуга може да изглежда като проблем в няколко несвързани компонента.
New Relic свързва мобилни сесии със сървърно проследяване чрез хедери. Ако мобилното приложение изпраща заявка с New Relic хедер, сървърният агент поема контекста и trace се показва от устройството на потребителя до базата данни. Mobile instrumentation автоматично добавя необходимите хедери към всички изходящи HTTP заявки.
NRDB — собствена база данни на New Relic, оптимизирана за съхранение и анализ на времеви редове. За разлика от традиционните SQL бази данни, NRDB поддържа неограничена кардиналност (брой уникални стойности на атрибути), което е критично за телеметрия с милиони уникални комбинации (device_id, endpoint, version).
NRQL позволява изпълнение на сложни аналитични заявки без експортиране на данни в BI система. Например, може да се изчисли „какъв процент от потребителите на iOS 17 изпитват време за студен старт над 3 секунди, групирано по модел на устройство“. Това помага при вземането на решения относно поддръжката на по-стари устройства и оптимизация за конкретни модели.
SELECT percentile(coldStartTime, 95)
FROM MobileSession
WHERE osVersion LIKE "iOS 17%"
AND coldStartTime > 3
FACET deviceModel
SINCE 7 days ago
LIMIT 20
NRQL заявката връща p95 на времето за студен старт за приложения на iOS 17, където студеният старт надвишава 3 секунди, групирано по модели устройства. Това позволява откриване, че iPhone XS има 40% по-бавен старт от iPhone 15, и вземане на решение за оптимизация.
New Relic предоставя гъвкава система за известия с поддръжка на статични и динамични прагове. Static alert се задейства при превишаване на фиксирана стойност: Apdex < 0.85. Dynamic alert използва машинно обучение за откриване на аномалии: системата учи типичното поведение на метриката за последните 4 седмици и се задейства при отклонение, по-голямо от 3 стандартни отклонения.
New Relic AI (преди Applied Intelligence) автоматично открива аномалии във всички типове данни — метрики, събития, логове — без ръчно настройване на прагове. AI anomaly detection взема предвид сезонността (дневният трафик е по-висок от нощния, делничните дни са по-високи от уикенда) и не създава фалшиви аларми при очаквани колебания. При откриване на аномалия AI създава инцидент с предложение за основна причина въз основа на корелация с други метрики.
New Relic поддържа изпращане на уведомления до PagerDuty, Slack, Opsgenie, Webhook и по имейл. Notification channels се конфигурират на ниво политика за известия и позволяват изпращане на различни уведомления до различни екипи: критични грешки — до дежурния инженер чрез PagerDuty, предупреждения — до Slack канала на екипа.
Често задавани въпроси
New Relic предлага безплатен план 100 GB на месец (всички типове данни). За мобилно приложение със 100.000 DAU и 5.000 събития на потребител на месец това е достатъчно за основен мониторинг. Платеният план Pro започва от 0.55 долара за GB над безплатния лимит.
New Relic се отличава с NRQL език за заявки, щедър безплатен план (100 GB) и дълбочина на мобилния мониторинг. Datadog е по-силен в инфраструктурния мониторинг и продуктите за сигурност. Изборът между тях често зависи от технологичния стек: ако приложението е предимно мобилно — New Relic, ако основното натоварване е върху инфраструктурата — Datadog.
Да, New Relic напълно поддържа OpenTelemetry Protocol (OTLP). Данните от OpenTelemetry SDK се приемат директно без използване на New Relic агент. Поддържат се всички типове сигнали: traces, metrics, logs, както и автоматично изграждане на Service Map въз основа на OTel данни.
New Relic предоставя инструменти за Data Management: маскиране на PII, премахване на атрибути по правила, управление на периода на съхранение. Безплатният план съхранява данни за 8 дни за trace, 30 дни за метрики и 7 дни за логове. Платените планове позволяват удължаване на периода на съхранение до 90 дни и повече.
Да, New Relic предоставя SDK за Flutter чрез официалния пакет (newrelic_flutter). Поддържа Android и iOS, автоматично събиране на HTTP заявки, сривове и персонализирано инструментиране. За Dart код, Flutter SDK предоставя същите функции като естествените SDK, с автоматично създаване на транзакции и span-ове.
Обобщение
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също