Başarılı Örnekler

Datadog, ProfilingManager ile milyonlarca ayrıntılı performans analizi sunar

Okuma süresi: 4 dakika

Performans gerilemelerinin yeniden üretilmesi zordur ve bu nedenle mobil geliştiriciler için büyük bir darboğaz oluşturur. ANR oranları gibi sinyaller, üretimde hangi sorunların oluştuğunu gösterse de performans sorununa neden olan belirli kod satırını belirlemek için geçmişte kapsamlı manuel yeniden üretim veya deneme yanılma yoluyla spekülatif deneyler yapılması gerekiyordu.

Datadog, Android 15 ve sonraki sürümlerde kullanılabilen ProfilingManager API'yi Gerçek Kullanıcı İzleme (RUM) ve Sürekli Profil Oluşturma platformlarına entegre ederek bu sorunu azaltmak için Google ile işbirliği yaptı. Bu entegrasyon, hata ayıklama iş akışını dönüştürerek geliştiricilerin yüzeysel belirtilerin ötesine geçip performans darboğazının nedenini tespit etmesini sağlar.

Bu sistem düzeyindeki API'den yararlanan Datadog, Haziran 2026'daki Datadog'un kendi verilerine göre artık dünya genelinde haftada milyonlarca üretim profili işliyor. Bu araç, mühendislik ekiplerine gerçek dünyadaki performans konusunda yeni bir görünürlük düzeyi sunarken üretim ölçeğinde performans izleme için düşük bir çalışma zamanı ek yükünü korur.

ProfilingManager'ın etkisi

ProfilingManager, Android 15'te kullanıma sunulan bir sisteme ait hizmettir. Uygulamaların, çağrı yığını örnekleri, alan izleri ve bellek yığını dökümleri gibi performans verilerini doğrudan üretim ortamlarından programatik olarak toplamasına olanak tanır. Bu özellik, mühendislik paradigmasını reaktif manuel yeniden üretimden proaktif alan analizine kaydırır.

AANDDM_DataDog_Quote_01.png

Örneğin, bir Google iletişim uygulaması, yeni ve daha güçlü donanımlarda sıfırdan başlatma sürelerinin neden daha yavaş olduğunu araştırmak için alan izlerini kullandı. Mühendis, sahada toplanan izleri inceleyip farklı cihaz türlerindeki izleri karşılaştırarak gizli bir planlama sorunu keşfetti: Uygulama başlatılırken arka plandaki metin okuma hizmeti gereksiz yere önceden ısıtılıyordu. İzlemeler, bu arka plan işleminin cihazın en iyi performans gösteren büyük CPU çekirdeğini tekeline aldığını ve ön yükleme gerçekleşirken uygulamanın ana iş parçacığını uyumaya zorladığını ortaya çıkardı.

Android kod düzeyinde görünürlük sorununu çözme

ProfilingManager'ın uygulanmasından önce Datadog'un Gerçek Kullanıcı İzleme (RUM) özelliği, kullanıcı yolculuğunu değerlendirmek için üst düzey uygulama sağlığına ve oturum düzeyinde telemetriye odaklanıyordu. Mühendislik ekipleri, ilk görüntüleme süresi, ANR oranları, CPU yükü ve donmuş kareler gibi Android performans sinyallerini izleyebilir. Bu analizler, ağ gecikmesi, dokunma etkinlikleri ve ana iş parçacığı askıya alınması gibi ayrıntılı etkileşimleri de kapsıyordu. Ancak bu veriler, sahada hangi performans darboğazlarının ortaya çıktığını etkili bir şekilde vurgulasa da bu hataların temel nedenini belirlemek için net bir yol sunmuyordu.

AANDDM_DataDog_Quote_02.png

Bu sorunu çözmek için Datadog'un, üretimdeki cihazlardan Android izlerini doğrudan yakalayabilen ve performans üzerinde minimum etkiye sahip bir profilleme motoruna ihtiyacı vardı. Android Debug API'lerini kullanarak kendi izleme işlemcilerini yazmak gibi alternatif yaklaşımları değerlendirdikten sonra ekip, ProfilingManager'ı seçti. Bunun nedeni, değerlendirdikleri profilleme seçenekleri arasında en iyi performansı sunması ve örnekleme kararlarının ek yükünü işletim sistemine aktarmasıdır.

ProfilingManager; CPU izleri, çağrı yığını örnekleme, Java yığını dökümleri ve yerel yığın profilleri aracılığıyla bellek analizi gibi çok çeşitli toplama yöntemlerini destekler. Geliştiricilerin üretim derlemelerini profillemesine, iz dosyalarını harici depolama alanına yüklemesine ve bunları Perfetto iz analizcisi kullanıcı arayüzünde incelemesine olanak tanır. Bir SaaS sağlayıcı olarak Datadog, SDK'sı aracılığıyla toplanan bu profilleri yükler, görselleştirir ve analiz ederek uygulamanın çalışma durumuyla ilgili birleşik bir görünüm sunar. 

ProfilingManager, yüksek doğruluklu telemetriyi birleştirilmiş bir gözlemlenebilirlik API'sinde merkezileştirerek Datadog'u ve müşterilerini aşağıdaki temel teknik avantajlarla karmaşık Android performans gerilemelerini proaktif olarak izleme, araştırma ve düzeltme konusunda güçlendirir:

  • Ayrıntılı oturum teşhisleri: ProfilingManager, doğrudan işletim sistemi düzeyinde izleme verileri sağlayarak hata ayıklama özelliğini geliştirir ve sistem hizmetleriyle özel günlüğe kaydetmeye özgü görünürlük ve hizalama sorunlarının üstesinden gelir. Daha ayrıntılı bilgi edinmek isteyen geliştiriciler, bu izleri Datadog'dan indirerek Perfetto kullanıcı arayüzü gibi görselleştirme araçlarında daha ayrıntılı bir şekilde inceleyebilir.
  • Otomatik telemetri tetikleyicileri: Datadog, temel optimizasyon noktalarında izleme kayıtlarını başlatmak için yerel sistem etkinliklerinden yararlanarak özel toplama mantığı oluşturma ihtiyacını azaltır. İlk kullanıma sunma aşamasında APP_FULLY_DRAWN sinyaline odaklanılsa da bu gözlemlenebilirliği ANR, OOM ve COLD_START tetikleyicilerini de içerecek şekilde genişletme planları yapılıyor.
  • Proaktif izleme anlık görüntüleri: Sistem düzeyindeki Perfetto hizmetiyle (izlenen) doğrudan arayüz oluşturarak ProfilingManager, öngörülemeyen sorunları yakalamak için tasarlanmış proaktif bir arka plan kaydı modeli kullanır. Bu sayede geliştiriciler, performans anormalliğine yol açan etkinliklerin hassas bir görselleştirmesini alır ve manuel enstrümantasyonla mümkün olanın ötesinde bir analiz düzeyi elde eder.
  • Büyük ölçekte performans sorunu tespiti: Datadog, yalnızca benzersiz donanım yapılandırmaları ve değişken ağ ortamlarında ortaya çıkan regresyonları ortaya çıkarmak için Datadog'un küresel müşteri tabanındaki telemetriyi sentezleyebilir.
  • Sistem tarafından zorunlu kılınan kaynak kararlılığı: API, performans ve kullanıcı deneyimi üzerindeki etkilerin fark edilmemesini sağlamak için örnekleme izi toplama özelliğinden yararlanır.
  • Cihaz üzerinde veri kontrolleri: ProfilingManager, profil uygulamaya teslim edilmeden önce cihaz üzerindeki diğer işlemlerden gelen alakasız bilgileri filtreler. Bu sayede dosya boyutları en aza indirilir ve yalnızca uygulamanın işlemleriyle alakalı verilerin sağlanması sağlanır.

Gerçek dünyadaki uygulamaları optimize etmek için haftada milyonlarca profil işleme

Sistemin genelinde profil oluşturma API'sini küresel bir izleme SDK'sına entegre etmek için altyapı sorunlarının çözülmesi gerekiyordu. ProfilingManager, son derece ayrıntılı performans izleri oluşturduğundan Datadog mühendislik ekibinin, bu profilleri sunucu tarafında büyük ölçekte ayrıştırıp analiz edebilen bir işlem hattı oluşturması gerekiyordu. Datadog, profil toplamanın yanı sıra örnekleme sıklığını uygulamanız hakkında anlamlı analizler oluşturmak için yeterli veri toplama ile dengelemenin önemini de vurgular. Datadog, ProfilingManager’ın yerleşik sıklık sınırlamasını kritik bir kararlılık teminatı olarak kullanır ve aşırı telemetri isteklerinin kullanıcı cihazlarını aşırı yüklemesini önler. 

Ekip, hızlı ve hatasız bir lansman deneyimi sağlamak ve performans algılama algoritmalarını iyileştirmek için aylardır Datadog'un kendi yerel Android uygulamasının ve erken erişim kullanıcılarının uygulamalarının profilini çıkarıyor ve milyonlarca profil topluyor. Üretim entegrasyonu, günümüzde çeşitli Android cihazlarda sorunsuz bir şekilde ölçeklenebilir. 

Sonuç

Datadog, Android'in ProfilingManager API'sini entegre ederek müşterileri için arka uç sistemleri ile mobil istemci uygulamaları arasındaki görünürlük boşluğunu başarıyla kapattı. Datadog, haftada milyonlarca profili ihmal edilebilir cihaz ek yüküyle işleyerek Android geliştiricilere karmaşık performans hatalarını anında teşhis etmek için gereken kod düzeyinde analizler sunuyor. Bu sayede geliştiriciler daha sorunsuz uygulamalar oluşturabiliyor ve uygulamalarının Play Store'daki performans sinyallerini iyileştirebiliyor. ProfilingManager API'yi doğrudan performans gözlemlenebilirlik çerçevenize dahil etmek için dokümanlarımıza göz atın.

Datadog, gelecekte Android profil oluşturma verilerini, kodlama aracıları için birinci sınıf bir giriş haline getirmeyi ve böylece performans darboğazlarını bağımsız olarak çözerek algılama ile düzeltme arasındaki geri bildirim döngüsünü kapatmayı hedefliyor. Datadog, Android profil oluşturma özelliğini geliştiricilerin geniş bir şekilde erişebileceği bir özellik haline getirmek için çalışmaktadır.

ProfilingManager tarafından desteklenen Datadog gerçek kullanıcı izleme özelliğini kullanmaya başlamak için  Datadog Mobile Real User Monitoring sayfasını ziyaret edin.

Yazan:

Okumaya devam edin