Datadog, ProfilingManager ile milyonlarca ayrıntılı performans analizi sunuyor
Okuma süresi: 4 dk.
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 yapmak gerekirdi.
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.
Profil Yöneticisi'nin 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 saha analizine kaydırır.
Örneğin, bir Google iletişim uygulaması, yeni ve daha güçlü donanımlarda baştan 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 yüksek performanslı 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üzeyindeki 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.
Bu sorunu çözmek için Datadog'un, üretimdeki cihazlardan doğrudan Android izlerini 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, değerlendirdikleri profilleme seçenekleri arasında en iyi performansı sunan çözüm olduğu ve örnekleme kararlarının ek yükünü işletim sistemine aktardığı için ProfilingManager'ı seçti.
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 çeşitli toplama yöntemlerini destekler. Geliştiricilerin üretim derlemelerinin profilini oluşturmasına, iz dosyalarını harici depolama alanına yüklemesine ve bunları Perfetto iz analiz arayüzünde incelemesine olanak tanır. Bir SaaS sağlayıcısı olan Datadog, SDK'sı aracılığıyla toplanan bu profilleri yükler, görselleştirir ve analiz ederek uygulama sağlığıyla ilgili birleşik bir görünüm sunar.
ProfilingManager, yüksek doğruluklu telemetriyi birleşik 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ıklanabilirliği artırır 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, önemli 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: ProfilingManager, sistem düzeyindeki Perfetto hizmetiyle (traced) doğrudan arayüz oluşturarak öngörülemeyen sorunları yakalamak için tasarlanmış proaktif bir arka plan kaydı modelinden yararlanır. Bu sayede geliştiriciler, performans anormalliğine yol açan etkinliklerin hassas bir görselleştirilmesini elde ederek manuel ölçümle mümkün olanın ötesinde bir analiz düzeyine ulaşır.
- 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ı küçülür 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
Sistem düzeyinde bir 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 önlemi 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 sunar. Böylece geliştiriciler daha sorunsuz uygulamalar oluşturabilir ve Play Store'daki uygulama performans sinyallerini iyileştirebilir. ProfilingManager API'yi doğrudan performans gözlemlenebilirlik çerçevenize dahil etmek için belgelerimize 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 kullanabilmesi 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.
-
Başarılı ÖrneklerKarrot, kullanıcıların diğer doğrulanmış kullanıcılarla ürün satın almasına, satmasına ve takas etmesine olanak tanıyan, topluluk odaklı, yakın çevreye özel bir eşler arası pazar yeri uygulamasıdır. 2015'te Güney Kore'de kullanıma sunulan platform, küresel pazarlara açılarak 43 milyondan fazla kayıtlı kullanıcıya ulaştı.
Thomas Ezan, Tracy Agyemang • Okuma süresi: 2 dk. -
Başarılı ÖrneklerEkip, orijinal uygulamadan% 50 daha küçük olan yapay zeka tabanlı bir kullanıcı arayüzü kod tabanı oluşturdu. Bu sayede yapay zeka aracısı yürütme süresinde% 35, mühendis-aracı değişimlerinde% 32 ve jeton maliyetinde% 33 azalma sağlandı.
Pavlo Stavytskyi, Rebecca Franks • Okuma süresi: 11 dakika -
Başarılı ÖrneklerWhatsApp, dünya genelinde milyarlarca kullanıcıya hizmet veren, dünyanın en büyük mesajlaşma platformudur. Çeşitli bölgelerdeki kullanıcılar için varsayılan iletişim aracıdır. Kullanıcıları özel, güvenilir ve güvenli mesajlaşma yoluyla birbirine bağlar.
Niharika Arora, Tracy Agyemang, Mayank Jain • Okuma süresi: 8 dk.
Android geliştirmeyle ilgili en son analizleri haftalık olarak gelen kutunuza alın.