Datadog, altyapı izleme, APM, günlük kaydı ve dijital deneyimi tek bir arayüzde birleştiren bir bulut gözlemlenebilirlik platformudur. Platform, sunuculardan, konteynerlardan ve mobil cihazlardan gerçek zamanlı olarak metrikler, izler ve günlükler toplar ve ekiplerin sorunların kök nedenini hızlıca bulmasını sağlar. Datadog, 2025'e göre platform, dünya genelinde binlerce müşteriden her gün 2,5 petabayttan fazla veri işliyor. Mobil geliştiriciler için Datadog, otomatik performans metrikleri toplama özelliğine sahip Android ve iOS için yerel SDK'lar sunar.
Ana Noktalar
Datadog, 2010 yılında Olivier Pomel ve Alexis Lê-Quôc tarafından başlatılan bir bulut izleme ve gözlemlenebilirlik platformudur. Platform, altyapı, uygulamalar ve kullanıcı cihazlarından metrikler, günlükler ve izler toplamak için birleşik bir pano sağlar. Nokta çözümlerin aksine Datadog, APM, günlükler, altyapı izleme, Synthetic Monitoring ve RUM'u tek bir üründe birleştirir.
Datadog'un mimarisi, ajanlar — sunuculara yüklenen veya uygulamalara gömülen hafif programlar — üzerine kurulmuştur. Ajan verileri toplar ve şifreli bir bağlantı üzerinden Datadog bulut altyapısına gönderir. Mobil platformlar için Datadog, Android (Kotlin, Java) ve iOS (Swift, Objective-C) üzerinde çalışan yerel SDK'lar sağlar.
Gartner Magic Quadrant for APM and Observability (2024) raporuna göre Datadog, en geniş entegre yetenek setiyle gözlemlenebilirlik kategorisinde lider olarak kabul edilmektedir. Platform, günlük milyonlarca cihazı izlemek için Samsung, Adidas ve Peloton gibi şirketler tarafından kullanılmaktadır.
Mobil ekipler için Datadog, arka uç performansını cihazdaki kullanıcı deneyimine bağladığı için özellikle değerlidir. Bir API daha yavaş yanıt vermeye başlarsa, Datadog yalnızca sunucu yanıt süresini değil, aynı zamanda belirli bir telefon modelinde başlatma süresini veya ekran oluşturmayı nasıl etkilediğini de gösterir.
Altyapı İzleme, sunucular, konteynerlar ve Kubernetes kümeleri için CPU, bellek, disk ve ağ metriklerini takip eder. APM (Application Performance Monitoring), dağıtılmış bir sistemden geçen her istek için izler toplar ve her atlamada gecikmeyi gösterir. Günlük Yönetimi, tam metin arama ve günlüklerden metrik oluşturma yeteneği ile tüm günlükleri — sistemden uygulamaya — merkezileştirir. Synthetic Monitoring, farklı coğrafi konumlardan kullanıcı senaryolarını simüle eder. Real User Monitoring (RUM), mobil telefonlar ve tabletler dahil olmak üzere gerçek kullanıcı cihazlarından veri toplar.
Datadog, ürün bazında fiyatlandırmayla kullandıkça öde modelini kullanır: altyapı ana bilgisayarları, APM ana bilgisayarları, günlükler (gigabayt cinsinden hacim), RUM oturumları ve Synthetic testleri. Her ürün ayrı olarak faturalandırılır ve yalnızca kullanılan özellikler için ödeme yapmanızı sağlar. Fiyatlar, altyapı izleme için aylık ana bilgisayar başına 15 $'dan ve 10.000 RUM oturumu için 1 $'dan başlar. Startup'lar, 100.000 $'a kadar krediyle Datadog for Startups programına başvurabilir.
Application Performance Monitoring (APM) Datadog'da, girişten iç içe tüm işlemlerin tamamlanmasına kadar her isteği izleyen dağıtılmış bir izleme sistemidir. APM, popüler framework'leri ve kütüphaneleri otomatik olarak enstrümante eder: Spring Boot, Django, Express.js, ASP.NET Core ve diğerleri. Her istek için APM bir alev grafiği — tüm kod yollarında yürütme süresinin görsel bir temsili — oluşturur.
Bir alev grafiği, her işlev çağrısının veya harici hizmet isteğinin ne kadar sürdüğünü gösterir. Bir veritabanı yöntemi beklenen 200 milisaniye yerine 2 saniye sürerse, bu grafikte hemen görülebilir. Datadog APM, OpenTelemetry — telemetri toplama için açık bir standart — destekler ve uyumlu herhangi bir sağlayıcıdan enstrümantasyon bağlamanıza olanak tanır.
Benchling Engineering Blog (2024)'e göre, Datadog APM'ye geçiş, izlerin günlükler ve metriklerle otomatik ilişkilendirilmesi yoluyla ekibin olay teşhis süresini 45 dakikadan 8 dakikaya düşürdü. Ana senaryo, iz-günlük ilişkisidir: tek bir iz kimliğiyle, manuel arama yapmadan belirli bir istekle ilgili tüm günlükleri bulabilirsiniz.
Hizmet Haritası, tüm sistem hizmetlerinin ve bunların ara bağlantılarının otomatik olarak oluşturulmuş bir grafiğidir. Her hizmet bir düğüm olarak görüntülenir ve düğümler arasındaki bağlantılar, hizmetler arasında hangi çağrıların gerçekleştiğini gösterir. Düğüm rengi sağlık durumunu yansıtır: yeşil — normal çalışma, sarı — artan gecikme, kırmızı — hatalar. Hizmet Haritası, mimari hakkında önceden bilgi sahibi olmadan bile hangi hizmetin darboğaz olduğunu hızlıca belirlemeye yardımcı olur.
import datadog.trace.api.Trace;
import io.opentelemetry.api.trace.Span;
public class PaymentService {
@Trace(resourceName = "PaymentService.processPayment")
public PaymentResult processPayment(Order order) {
Span span = Tracer.buildSpan("validate.payment").start();
try {
PaymentGateway gateway = new PaymentGateway();
PaymentResult result = gateway.charge(order.getAmount());
span.setTag("payment.provider", "stripe");
return result;
} finally {
span.close();
}
}
}
Real User Monitoring (RUM) Datadog'da gerçek kullanıcı cihazlarından veri toplar — ekran yükleme süreleri, dokunma yanıt verebilirliği, bellek tüketimi, ANR (Application Not Responding) sıklığı ve çökme oranları. Android ve iOS için RUM SDK'sı uygulamaya entegre olur ve otomatik olarak oturumlar oluşturarak tüm olayları tek bir kullanıcı etkileşimi içinde gruplar.
Her RUM oturumu bir dizi olay içerir: ekran açma, düğmeye dokunma, ağ isteği, kaydırma. Her olay için Datadog bir zaman damgası, süre ve cihazın teknik özelliklerini kaydeder: model, işletim sistemi, uygulama sürümü, bağlantı türü. Bu, metriklerin belirli sürümler ve cihazlara göre filtrelenmesini sağlar. Örneğin, belirli bir Samsung modelinde Android 14'te başlatma süresinin arttığını görebilirsiniz.
RUM, APM ile sıkı bir şekilde entegredir: bir kullanıcı oturumu ödeme ekranında bir hatayla sonlanırsa, Datadog otomatik olarak ilgili arka uç izini gösterir. Bu, ön uç ve arka uç günlüklerini manuel olarak eşleştirmeye kıyasla tanıyı 5-7 kat hızlandırır. Mobil ekipler için RUM ayrıca izleme listesi raporları — temel metrik bozulmalarının haftalık özeti — sağlar.
Datadog RUM, kaynak kod satır numaraları dahil tam yığın izleriyle birlikte çökme raporlarını otomatik olarak toplar. Android için bu, ACRA veya Firebase Crashlytics ile entegrasyon yoluyla çalışır; iOS için — PLCrashReporter aracılığıyla. Her çökme bir kullanıcı oturumuna bağlanır ve çökmeye yol açan eylem sırasının yeniden oynatılmasına olanak tanır. RUM ayrıca ANR'yi — Android uygulamaları için en kritik olaylardan biri — izler. Uygulama 5 saniyeden uzun süre yanıt vermezse, Datadog ANR'yi kaydeder ve UI tıkanması anında tam iş parçacığı dökümünü gösterir.
Günlük Yönetimi Datadog'da tam metin arama ile tüm uygulama ve altyapı günlüklerini tek bir depoda merkezileştirir. Mobil günlükler (analitik olaylar, API hataları, telemetri) SDK aracılığıyla cihazdan gönderilir ve ortak bir tanımlayıcı kullanılarak sunucu günlükleriyle birleştirilir. Datadog, günlükleri otomatik olarak yapılandırılmış alanlara ayrıştırır: seviye (INFO, WARN, ERROR), hizmet, ana bilgisayar, zaman damgası, mesaj.
Günlük filtreleme için Datadog, joker karakterleri, düzenli ifadeleri ve yönleri destekleyen kendi sorgu dilini kullanır. Günlükler desenlere göre gruplanabilir — Datadog, yinelenen desenleri otomatik olarak algılar ve bunları tek bir küme olarak görüntüler. Bu, mobil cihazlardan binlerce günlük ayrıştırırken özellikle kullanışlıdır: aynı hatalar gruplanır ve geliştirici 10.000 satır değil, oluş sıklığıyla birlikte 10 küme görür.
Metrikler, 1 saniyeden başlayan aralıklarla toplanan sayısal zaman serileridir. Datadog üç metrik türünü destekler: gauge (geçerli değer), count (aralık toplamı) ve rate (değişim oranı). Mobil uygulamalar için özel metrikler, ekran açma sayısını, temel iş senaryosu yürütme süresini veya belirli bir özelliğin kullanım sıklığını izleyebilir. Özel metrikler DogStatsD — Datadog uzantılarıyla StatsD uyumlu protokol — aracılığıyla gönderilir.
import com.datadog.android.Datadog
import com.datadog.android.log.Logger
class PaymentAnalytics {
private val logger = Logger.Builder()
.setDatadogLogsEnabled(true)
.setNetworkInfoEnabled(true)
.setBundleWithTraceEnabled(true)
.build()
fun trackCheckout(orderId: String, amount: Double) {
logger.info(
"Checkout initiated for order {orderId}",
mapOf(
"order.id" to orderId,
"order.amount" to amount,
"payment.method" to "credit_card"
)
)
}
}
Datadog SDK'sı Android ve iOS için birleşik bir modül seti sağlar: Core (başlatma), RUM (kullanıcı deneyimi izleme), Logs (günlük gönderme), Trace (istek izleme). Android için SDK, Gradle aracılığıyla eklenir; iOS için — CocoaPods veya Swift Package Manager aracılığıyla. Kurulumdan sonra SDK, bir istemci belirteci, ortam ve uygulama adı ileterek Application.onCreate (Android) veya AppDelegate (iOS) içinde başlatılır.
Android'de ağ isteklerinin otomatik izlenmesi için OkHttp Interceptor kullanılır; iOS'te — NSURLProtocol veya URLSession temsilcisi. Datadog ayrıca popüler HTTP istemcileriyle entegrasyonu destekler: Retrofit, Apollo GraphQL, Ktor, Alamofire. Interceptor bağlandıktan sonra, her HTTP isteği otomatik olarak bir RUM oturumuna ve APM izine bağlanarak istemciden sunucuya tek bir zincir oluşturur.
dependencies {
// Ana SDK ve RUM modülü
implementation "com.datadoghq:dd-sdk-android-core:2.15.0"
implementation "com.datadoghq:dd-sdk-android-rum:2.15.0"
// Otomatik izleme için OkHttp entegrasyonu
implementation "com.datadoghq:dd-sdk-android-okhttp:2.15.0"
// NDK çökme raporlaması
implementation "com.datadoghq:dd-sdk-android-ndk:2.15.0"
}
import DatadogCore
import DatadogRUM
import DatadogLogs
@main class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Datadog.initialize(
with: DatadogConfiguration.builder(
clientToken: "your_client_token",
environment: "production"
).build()
)
RUM.enable(
with: RUMConfiguration(applicationID: "your_rum_app_id")
)
return true
}
}
Datadog, metrik grafiklerini, günlük tablolarını, hata dağılım ağaç haritalarını ve SLO widget'larını birleştirebileceğiniz grafiksel bir pano düzenleyicisi sağlar. Panolar, şablon değişkenlerini destekler — örneğin, tüm hizmetler için bir pano oluşturabilir ve hizmet adını içeren bir açılır menü kullanarak bağlamı değiştirebilirsiniz. Her pano, harici paydaşlar için herkese açık bir bağlantı aracılığıyla salt okunur modda yayınlanabilir.
Monitör (uyarı) sistemi, herhangi bir metrik için eşik koşulları belirlemenizi sağlar: gecikme 5 dakikadan uzun süre 500 ms'yi aşarsa — Slack, PagerDuty veya e-postaya bildirim gönderin. Datadog, bileşik koşulları destekler: “5xx hataları > %1 ve istek sayısı > 1000/dk ise, önceliği kritik seviyeye yükselt.” Mobil ekipler için gerileme algılama monitörü özellikle kullanışlıdır — Datadog, geçerli metriği otomatik olarak geçmiş taban çizgisiyle karşılaştırır ve istatistiksel olarak anlamlı bozulma durumunda uyarır.
Gartner Peer Insights (2024)'e göre, otomatik ilişkilendirme ile Datadog monitörlerini kullanan ekiplerin ortalama çözüm süresi (MTTR), benimsemeden sonraki ilk ayda %35 azalır. Bunun nedeni, her uyarının yalnızca tetikleme koşulunu değil, aynı zamanda ilgili panolara, günlüklere ve izlere bağlantılar içermesidir — geliştiricilerin araçlar arasında geçiş yapması gerekmez.
Sıkça Sorulan Sorular
Datadog, metrikleri, günlükleri, izleri ve RUM'u tek bir arayüzde birleştiren birleşik bir platformla öne çıkar. Grafana + Prometheus (yalnızca metrikler) veya ELK'nin (yalnızca günlükler) aksine Datadog, entegrasyonları manuel olarak yapılandırmaya gerek kalmadan tüm veri türleri arasında yerleşik ilişkilendirme sağlar.
Fiyatlar ayda 10.000 RUM oturumu başına 1 $'dan başlar. Ayda 50.000 oturumlu küçük projeler için maliyet yaklaşık 5 $ olacaktır. APM ve günlükler ayrı olarak faturalandırılır. Startup'lar, ilk yıl için 100.000 $'a kadar krediyle Datadog for Startups programına başvurabilir.
Datadog SDK'sı Android (API 21+, Kotlin ve Java), iOS (iOS 13+, Swift ve Objective-C) ve React Native'i destekler. Flutter ve Xamarin için topluluk entegrasyonları mevcuttur. SDK, Maven Central, CocoaPods ve Swift Package Manager aracılığıyla dağıtılır.
Datadog, Veri Temizleme — günlüklerden ve RUM verilerinden PII'nin otomatik olarak kaldırılması — sağlar. Maskeleme kuralları yapılandırılabilir: e-posta, telefon numaraları ve kredi kartlarını karmalar veya yıldızlarla değiştirin. Veriler aktarım sırasında (TLS 1.3) ve depolamada (AES-256) şifrelenir.
Evet, APM ve RUM olmadan yalnızca Günlükler modülünü kullanabilirsiniz. Bu durumda, yalnızca günlük hacmi için ödeme yaparsınız. Datadog her ürünü ayrı olarak faturalandırır ve yeniden entegrasyon olmadan bir modülle başlamanıza ve ihtiyaç duydukça diğerlerini eklemenize olanak tanır.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun