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) positioning شده بود، اما با گذشت سالها به یک پلتفرم 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.
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 میانگین زمان پاسخ برای هر endpoint برنامه موبایل در یک ساعت گذشته را با تفکیک بازههای زمانی نشان میدهد. نتیجه به عنوان نمودار خطی در داشبورد 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 صدک 95 زمان شروع سرد را برای برنامههای iOS 17 که شروع سرد بیش از 3 ثانیه است، گروهبندیشده بر اساس مدلهای دستگاه برمیگرداند. این امکان را فراهم میکند که iPhone XS 40٪ شروع کندتری نسبت به iPhone 15 دارد و تصمیم بهینهسازی گرفته شود.
New Relic یک سیستم هشدار انعطافپذیر با پشتیبانی از آستانههای ثابت و پویا ارائه میدهد. Static alert هنگام تجاوز از مقدار ثابت فعال میشود: Apdex < 0.85. Dynamic alert از یادگیری ماشین برای تشخیص ناهنجاریها استفاده میکند: سیستم رفتار معمول معیار را در 4 هفته گذشته یاد میگیرد و در انحراف بیش از 3 انحراف معیار فعال میشود.
New Relic AI (formerly 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 در مانیتورینگ زیرساخت و محصولات امنیتی قویتر است. انتخاب بین آنها اغلب به استک فناوری بستگی دارد: اگر برنامه heavily mobile است — 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 از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید