01
Gelişmiş tanı
çoğu aracın kaçırdığı naming-mismatch ve static-value tuzakları, deneyler dahil ATT consent tracking, günlük paywall-değişiklik izleme, ve price-tier cohort quality — hangi tier'ın gerçekten kalan kullanıcıları çektiğini gör
02
Sürüm Gerileme Dedektörü
her metrik değişikliğini tam olarak ilgili sürüm, cihaz ve özellik bayrağıyla ilişkilendirir - bir gerilemeyi yayına çıkışından saatler sonra yakalar
03
Çökme ve Donma Bağlam Grafiği
sade bir stack trace'in ötesine geçip kullanıcının son 20 adımını, cihazını ve aktif deneylerini gösterir. Her biri için gerçek lehte ve aleyhte kanıtlarla olası kök nedenleri sıralar, bir donma sırasında ekranı hangi sistem API'sinin engellediğini sınıflandırır, ciddi bir küme tespit edildiği anda bağlı bir özellik bayrağını kapatabilir, ve sizin için açabileceği GitHub sorununa eklenmiş önerilen bir düzeltme taslağı hazırlayabilir (bir metin taslağından gerçek bir dal ve Pull Request'e kadar) — her taslak açıkça doğrulanmamış AI çıktısı olarak etiketlenir, bir insan tarafından incelenir ve birleştirilir, asla otomatik olarak uygulanmaz
04
Başlangıç Yolu Ayrıştırıcısı
soğuk/ılık/sıcak başlangıcı aşamalara ayırır (SDK başlatma, taşıma, kimlik doğrulama, ilk kare) - gerçek kullanıcılar için zamanın tam olarak nerede kaybolduğunu gösterir
05
Push Teslimat Gerçeklik Motoru
Madar sizin adınıza kendi Firebase projeniz üzerinden push gönderir ve her birine gerçekte ne olduğunu, çoğu aracın sadece "gönderildi" dediği noktanın ötesinde takip eder. Reddedilen her teslimat, ham bir hata kodu yerine eyleme dönüştürülebilir bir nedene göre gruplanır — rutin token değişimi ile hiç kimseye ulaşılmadığı anlamına gelen yanlış Firebase projesi hatası birbirinden ayrılır. Ayrıca hâlâ gönderilmekte olan bir kampanya, kendi uygulamanızın taban çizgisine göre çıkışlar ani yükseldiğinde kendini durdurabilir
06
Derin Bağlantı Yolculuğu Doğrulayıcısı
tıklanan bir bağlantının, bir giriş ekranından geçse bile amaçlanan ekrana gerçekten ulaştığını onaylar — sadece yönlendirme kararının hesaplandığını değil. Artık bir bağlantının NEDEN başarısız olduğunu da ayırır — hedefi kaybeden bir giriş duvarı, uygulamanızın işleyicisi olmayan bir rota veya bağlantının parametreleri olmadan ulaşılan doğru ekran; bu sonuncusu rota adlarını karşılaştıran her kontrole başarı gibi görünür. Hedefler hata oranına göre değil, size kaç kullanıcıya mal olduklarına göre sıralanır. Uygulamanızın gerçekten işlediği rotaları kaydedin; Madar bir kampanya bağlantısını GÖNDERMEDEN ÖNCE kontrol eder — yeniden adlandırılmış bir rotaya işaret eden ya da oturum açmamış bir kitleyi giriş ekranında bırakacak bir bağlantıyı, hâlâ değiştirebilecekken yakalar
07
Çevrimdışı Senkronizasyon Bütünlüğü Motoru
bir müşterinin işlemini sunucunuzda sessizce ikiye katlayan kararsız bir yeniden deneme anahtarını yakalar, ve sıraya alınıp hiç geri dönmeyen bir değişikliği işaretler. Artık aynı kaydı düzenlemek için gerçekten yarışan iki cihazı ve aynı mantıksal işlemi ayrı kimlikler altında iki kez sıraya alan bir kuyruk hatasını da tespit ediyor — her biri taslak bir düzeltme önerisi ve tüm uygulama için tek bir senkronizasyon sağlık notuyla birlikte
08
Mobil Kök Neden Beyni
bir sürüm bir şeyi bozduğunda, tek bir aceleci tahmin yerine her Madar aracındaki her bulguyu tek bir Kök Neden Portföyünde toplar. Ayrıca hatırlar: her olay, ona neden olan değişikliğin BİÇİMİ ve maliyetiyle birlikte kaydedilir ve gelecekteki her değişiklik yayınlanmadan önce hepsine karşı kontrol edilir — böylece on sekiz ay sonra orada olmayan biri aynı şeyi önerdiğinde Madar bunun 4.2.0'da ödemenin %14'üne mal olan olaya benzediğini söyler. Bir olay raporu bunu yapamaz, çünkü düzyazı bir pull request ile karşılaştırılamaz. Ayrıca birden fazla düzeltmeniz olduğunda onları sıralar: etkiden bağımsız olarak önce ölçüm, çünkü bozuk analitiğe karşı yapılan bir doğrulama sonuçsuz değil anlamsızdır. Sınırlama onarımdan önce ve aşama başına bir kök düzeltme, çünkü beş düzeltmeyi tek sürümde yayınlamak herhangi birinin işe yarayıp yaramadığını söyleyecek tek şeyi yok eder
09
Ekran Kullanılabilirlik Hazırlık Monitörü
bir ekranın açılması ile bir kullanıcının gerçekten bir şeye dokunabilmesi arasındaki gerçek boşluğu ölçer, VE bu boşluğu tam yedi aşamalı bir huniye ayırır (ilk kare, kontroller etkin, kritik içerik, ilk etkileşim, etkileşim başarısı, tam içerik) - böylece gecikmenin sadece var olduğunu değil, tam olarak nerede olduğunu görürsünüz
10
Kare Takılma Atıf Motoru
kaydırma takılmasını ve donmuş kareleri cihaz modeline göre ortaya çıkarır — amiral gemisinde sorunsuz, orta segment bir cihazda takılıyor. Takılmayı gerçekten neyin tetiklediğini (görüntü kod çözme, liste kaydırma, ağır animasyon, üçüncü taraf SDK katmanı) sıralar ve Android'de, her render aşamasında (layout, çizim, GPU komutları, arabellek değişimi) harcanan gerçek ölçülen süreyi yakalar — Android Studio'nun kendi Profiler'ının kullandığı aynı veri derinliği
11
Uzun Kuyruk Deneyimi Analizörü
en yavaş %1 deneyimin tipik olandan çok daha kötü olduğu metrikleri işaretler. O yavaş kuyrukta tam olarak hangi cihazın, işletim sistemi sürümünün, ağ türünün veya ülkenin aşırı temsil edildiğini adlandırır ve kanıtlardan segmente özel bir sınırlama ve kök neden düzeltme önerisi taslağı hazırlayabilir
12
API Gecikme Analizörü
uygulamanın sunucunun kendi bildirdiğinden çok daha uzun beklediği uç noktaları işaretler — fark DNS, bağlantı kurulumu, aktarım, ayrıştırma veya cihaz üzerindeki işlemede kaybolan zamandır. Bu farkı gerçek alt aşamalara ayırır, istatistiksel olarak aşırı büyük bir yük, aşırı yeniden denemeler veya önbellek kaçırma sorunuyla ilişkilendirir, her uç noktanın kendi yük ve gecikme tavanını sağlıklı taban çizgisinden otomatik olarak türetir ve bir tavan aşıldığı anda canlı bir Remote Config yedeğini tetikleyebilir
13
Sahte Başarı Dedektörü
uygulamanın müşteriye işe yaradığını söylediği ama backend'in bunu asla kalıcı olarak kaydetmediği işlemleri yakalar - kafası karışan bir müşteriyi tekrar denemeye ve mükerrer sipariş veya mükerrer ödeme oluşturmaya iten tam olarak bu boşluktur. Her vakayı belirli bir kök nedene sınıflandırır (gerçek bir kayıttan sonra kaybolan yanıt, gerçek bir hiç onaylanmama hatası veya istemci tarafı iyimser arayüz hatası) ve işlem türü başına kendi Sonuç Sözleşmenizi tanımlamanızı sağlar
14
Kimlik Güvenli Önbellek Denetçisi
oturum açmış bir kullanıcı altında yazılan bir önbellek girişinin, farklı bir kullanıcı aktifken geri okunmasını yakalar - paylaşılan veya çok hesaplı cihazlarda gerçek bir gizlilik riski. Her sızıntıyı belirli bir kök nedene sınıflandırır (eksik bir kimlik anahtarı, yanlış ortam, önbelleği hiç temizlemeyen bir çıkış ve daha fazlası), bunun için bir düzeltme taslağı hazırlar ve gerçek bir sızıntı olmadan önce mimari boşluğu yakalayan anahtar başına bir Önbellek Sahiplik Sözleşmesi tanımlamanıza olanak tanır
15
Kimlik Doğrulama Döngüsü ve Token Yarışı Dedektörü
kullanıcıların tekrar tekrar giriş ekranına geri sıçratılmasını ve birbiriyle yarışan eşzamanlı token yenileme girişimlerini yakalar. Her olayı belirli bir kök nedene sınıflandırır (cihaz saat kayması, gerçekten iptal edilmiş bir oturum, başarısız bir güvenli depolama yazması ve daha fazlası) ve bunun için bir düzeltme taslağı hazırlar. İzin verilen oturum durumu geçişleri kümesini tanımlamanıza olanak tanır ve herhangi bir yasa dışı geçişi bir kalıba dönüşmeden önce, gerçekleştiği anda yakalar
16
Yinelenen Kimlik Çözümü
30 gün içinde iki veya daha fazla farklı hesap olarak oturum açan cihazları ortaya çıkarır. Artık her adayı dört güven katmanında derecelendirir — doğrulanmış bir tanımlayıcıyı paylaşan onaylanmış bir eşleşmeden, iki hesabın çelişen doğrulanmış kimlikler taşıdığı açık bir güvensiz karara kadar; bu, cihazı paylaşan iki farklı kişi oldukları ve asla birleştirilmemeleri gerektiği anlamına gelir. Yalnızca onaylanmış katman birleştirilmesi güvenli olarak işaretlenir. Ayrıca yeni bir hesap oluşturulmadan önce bir kayıt öncesi kontrol çalışır ve ikinci bir hesabın ortaya çıkmasına izin vermek yerine kişiye zaten bir hesabı olduğunu gösterir — yalnızca bilgilendirir, bir kaydı asla engellemez. Her kontrol kaydedilir, böylece tahmin yerine kaç yinelenen hesabın gerçekten önlendiğine dair gerçek bir sayı elde edersiniz — yalnızca kesine yakın eşleşmeler sayılır, paylaşılan aile cihazı vakalarıyla asla şişirilmez
17
Hesap Silme Kanıt Motoru
eşleşen kalıcı bir onay almayan silme taleplerini yakalar - ayrılmak isteyen bir müşteri için devam eden faturalandırma anlamına gelir. Artık her veri kaynağını ayrı ayrı izler — kimlik doğrulama, analitik, faturalama, her satıcı — anonimleştirilmiş ve yasal olarak saklanan dahil altı sonuç üzerinden, ve bir düzenleyiciye sunabileceğiniz denetlenebilir bir sistem bazlı rapor üretir. Hiç yanıt vermeyen bir sistem bilinmiyor olarak kaydedilir ve kanıtı engeller. Her sistemi önceden bir sahip ve belirtilmiş bir silme politikasıyla kaydedin; böylece eklediğiniz ama hiç bağlamadığınız bir satıcı görünmez olmaktan çıkar — sessizliği her kanıtta ortaya çıkar
18
Arka Plan Yürütme Güvenilirliği Monitörü
hiç çalışmayan zamanlanmış arka plan veya sessiz senkronizasyon görevlerini yakalar - işletim sistemi, bataryayı korumak için çalışmayı erteleyebilir veya bırakabilir. Artık görevlerin gerçekte NE KADAR GEÇ çalıştığını da ölçer — ertesi akşam gerçekleşen gecelik bir senkronizasyon teknik olarak çalışmıştır ama kullanıcılarınız gün boyu eski veri görmüştür — ve kendi kodunuzda düzeltebileceğiniz gecikmeleri işletim sistemi pil yönetiminden kaynaklananlardan ayırır. İş başına bir gecikme bütçesi, bir sahip ve bir kurtarma politikası kaydedin; böylece uygulaması kendi toleransını bildirmeyi unutan bir görev görünmez olmaktan çıkar — nihayet geç sayılabilir
19
Faturalandırma Onay Bekçisi
onayın yavaş olması veya hiç gerçekleşmemesi nedeniyle Google Play'in otomatik iadesi riski altındaki satın alımları yakalar. Artık bir oran yerine işlem bazlı bir geri sayım gösterir — hangi satın alımın saatleri kaldığını, değere göre değil kalan süreye göre sıralayarak. Para, hâlâ kurtarılabilir olan ile zaten kaybedilmiş olan şeklinde ayrılır. Başarısız onaylar ayrıca nedene göre sınıflandırılır — her satın alımı engelleyen iptal edilmiş bir hizmet hesabı ile başka hiçbir şeyi etkilemeyen tek bir bozuk token birbirinden ayrılır. İkisi de Google'dan aynı hata sınıfı olarak gelir
20
Abone Kalitesi İstihbaratı
ücretli dönüşümlerin ilk ücretlendirmeden günler sonra hemen iade edildiği veya iptal edildiği edinme kaynaklarını işaretler. Ayrıca bir kaynağı kalite penceresi kapanmadan önce derecelendirmeyi reddeder — dün başlayan bir kohortun geri dönüş oranı hiç yoktur ve Madar bunu sıfır olarak değil “çok erken” olarak bildirir, çünkü sıfır ile veri yokluğu bir panoda aynı görünür ve biri yeşil ışık olarak okunur. Bir kaynak değerlendirilebilir hale geldiğinde ise sabit bir sayı yerine DİĞER kaynaklarınıza göre derecelendirilir — sağlıklı trafiğiniz %3'teyse %12'lik bir kaynak, herhangi bir mutlak eşiğin rahatça geçirdiği ciddi bir sorundur. Bir kaynak şiddetli, iyi kanıtlanmış ve yeterince büyük olduğunda Madar harcamanın duraklatılmasını önerir — ancak yalnızca dört koşulun tümü aynı anda sağlandığında ve bir öneriyi engelleyen her kapıyı listeler. Madar hiçbir şeyi kendisi duraklatmaz; reklam hesaplarınıza dokunmaz. Bir abonenin size hizmet maliyetini bildirirseniz Madar gelir yerine katkıyı raporlar — sıfır iadesi ve mutlu yenilemeleri olan ama yine de her abonede para kaybettiren bir kaynağı yakalar; diğer tüm kalite sinyalleri onu mükemmel sayardı
21
Ödeme Duvarı Bütünlüğü ve Ekonomisi Denetçisi
satın alma düğmesi dokunuşlarının önemli bir kısmının mağazanın kendi satın alma sayfasının hiç görünmemesiyle sonuçlandığı bir ödeme duvarını işaretler. Yeni bir ödeme duvarı yayınlamadan önce, dönüşümün göremeyeceği üç şeyi de kontrol eder: bazı bölgelerin fiziksel olarak satın alıp alamadığı, fiyatın ve geri yükleme düğmesinin yardımcı teknolojiyle erişilebilir olup olmadığı, ve belirsiz deneme koşullarının dönüşümü yükseltirken iadeleri de yükseltip yükseltmediği — başarıya en çok benzeyen hata. Bir ödeme duvarını A/B test ettiğinizde Madar sonucu dönüşüme göre değil, iadelerden sonraki net gelire göre değerlendirir — dönüşümü yükseltirken iadeleri de yükselten bir varyant kayıp olarak bildirilir
22
Sürüm Elde Tutma Nedensellik Motoru
D7 elde tutmayı sürümden sürüme karşılaştırır ve yeni bir sürüm çıktıktan hemen sonra anlamlı bir düşüşü işaretler. Ayrıca bir dağıtımı yalnızca çökmelere göre değil dört boyuta göre değerlendirir — bir sürüm tamamen çökmesiz olabilir ve yine de o çeyrek uygulamanızın başına gelen en kötü şey olabilir. Bir gerileme olduğunda ise hasarı sürümdeki tek tek değişikliklere atfeder, böylece on iki yerine bir tanesini geri alırsınız
23
Aktivasyon Gerçeklik Motoru
onboarding tamamlama ile gerçek bir ilk değer anına ulaşma arasındaki büyük farkı işaretler. Ayrıca her adımı, kendisine mal olan kullanıcılara karşı değerlendirir — bir adım bitirenlere gerçekten yardımcı olabilir ve yine de net bir kayıp olabilir. Avantajı, motive kullanıcıların kendi kendini seçmesiyle açıklanabilecek kadar küçük olan adımlar haklı değil, kanıtlanmamış olarak bildirilir. Bir kitleyi kurtaran bir adım başka bir kitleyi öldürebileceği için her adım niyet kohortu bazında da değerlendirilir — +%40 ve -%40'taki iki grubun ortalaması sıfırdır ve oradaki doğru cevap adımı silmek ya da herkes için tutmak değil, koşullu hale getirmektir
24
İzin Sürtünmesi İstihbaratı
istemi reddeden kullanıcıların, kabul edenlere göre çok daha düşük bir oranda geri döndüğü bir izni işaretler. Ayrıca bunu önleyecek soruyu da sorar: bu iznin bir yedek davranışı var mı? Kamera, konum ve bildirimlerde sistem istemi bir kez görünür, dolayısıyla yedeği olmayan bir izin size bir konuşmaya değil, o kullanıcının o özelliğe sonsuza kadar erişimine mal olur. Bir istemi değiştirdiğinizde Madar bunu izin oranına göre değil sonuca göre değerlendirir — daha erken ve daha ısrarcı bir istem izin oranını güvenilir şekilde yükseltirken insanlar izni Ayarlar'dan kapatır ve açtığı özellik kullanılmaz kalır
25
Pil Tükenmesi Nedensellik Profilleyici
uygulama arka plandayken anormal derecede yüksek bir pil tükenme oranını işaretler - arka plandaki bir uygulama neredeyse boşta olmalıdır. Her özellik ve her SDK için yayınlanmadan önce bir pil bütçesi belirleyin; Madar hangisinin aştığını ve ne kadar aştığını gösterir — üçüncü taraf bir SDK'nın enerji maliyeti satıcısı tarafından asla yayınlanmaz ve uygulamayı bir bütün olarak ölçtüğünüzde normal değişkenlik içinde kaybolur. En çok izlenmeye değer sayı, kimsenin hiçbir bileşene atfetmediği tüketimdir. Madar ayrıca cihazın gerçek durumuna göre bir enerji duruşu önerir — aynı iş şarj olan bir telefonda bedavadır, %8'deki bir telefonda kalan yarım saatin bir kısmını alır ve termal olarak kısıtlanmış bir cihazda daha yavaş çalışıp daha çok tüketir. Termal durum şarj durumundan önceliklidir
26
Üçüncü Taraf SDK Risk Defteri
bir SDK, uygulamanızın toplam çökme hacminin orantısız bir payından sorumlu olduğunda onu işaretler. Ayrıca her SDK'yı yedi kabul koşuluna karşı kontrol eder ve beyan edilen değer eksi performans, gizlilik, bakım ve risk maliyeti üzerinden puanlar. En önemlisi kaldırma planıdır: onsuz bir SDK belgelenmemiş değil, yapısal olarak kalıcıdır — yayınlandığı günden itibaren kaldırmak bir araştırma projesine dönüşür ve araştırma projeleri yol haritasına yenilir. Madar ayrıca aynı işi yapan SDK'ları bulur — her biri tek başına iyi puan alır ve kimse onları karşılaştırmamıştır. Ve gizlilik beyanınızda olmayan bir sunucuya bağlanan her SDK'yı işaretler; bu, beyanı yavaş değil YANLIŞ kılar ve kendi kodunuzu okuyarak bulamazsınız
27
Sessiz Hata İstihbaratı
etkilenen kullanıcıların hatasız bir taban çizgisine göre önemli ölçüde daha düşük bir oranda geri döndüğü ölümcül olmayan bir hata türünü işaretler, VE her işlemi baştan sona izler (başladı → işleniyor → sonuç → onay) - hiç sonuçlanmayan bir dokunuş, backend'in hiç onaylamadığı bir başarı ekranı, hiç durmayan bir yükleme animasyonu gibi sessizce kaybolanları yakalar
28
Bellek Zekası
cihazlarınız ve sürümleriniz genelinde günlük en yüksek bellek kullanımının P50/P90/P99 görünümü, artı - en son SDK yüklendiğinde - her oturum için gerçek bir ekran başına bellek eğrisi, belleğin sürekli yükseldiği ve asla geri düşmediği belirli ekranı işaretler
29
Satın Alma-Hak Denetleyicisi
ödeme yapıp karşılığını hiç almayan müşterileri yakalar, mağaza işleminden hak tanımlamasına kadar tüm zinciri izler. Artık tersini de kontrol eder — bir iade, iptal veya sona erme sonrasında hâlâ etkin olan erişim; bunu kimse bildirmez, çünkü kimse bedava bir şey aldığını söylemek için talep açmaz. Her iki yön de bir dolar rakamıyla gelir. Her uyuşmazlık, son tarihi olan izlenen bir olaya dönüşür — satın aldığına erişemeyen ödeme yapan bir müşteri için 24 saat, yavaş bir sızıntı için bir hafta — böylece bir boşluk her raporda değişmeden yeniden görünmek yerine bir yaşa sahip olur ve geri dönen bir sorun yeni görünmek yerine tekrar olarak işaretlenir
30
Abonelik Durumu Uzlaştırıcısı
Apple, Google ve arka ucunuzu her abonenin gerçek durumu konusunda uyum içinde tutar - deneme, ödeme yeniden deneme, iptal edilmiş ama aktif ve daha fazlası. Artık içsel olarak imkânsız olay geçmişlerini de yakalar — bir sona ermenin ardından gelen bir yenileme, mantıklı bir son duruma varsa da hiçbir mağazanın üretmediği bir dizidir. Ayrıca Madar herhangi bir şeyi düzeltmeden önce, bir gölge defter kendi kararını sizinkinin yanında hiçbir şeye dokunmadan çalıştırır. Bir eylem önerdiğinde ise iki yön bilerek farklı eşiklere tabidir: erişimi geri vermek yalnızca makul kanıt gerektirir çünkü yanılmak geri alınabilir; erişimi sonlandırmak ise mağazanın kendi onayını gerektirir — daha zayıf olan her şey harekete geçilmek yerine kararınıza bırakılır
31
Analitik Gerçeklik Güvenlik Duvarı
bozuk bir metrik gerçek bir kararı etkilemeden önce kronolojik olarak imkansız olay dizilerini ve yinelenen imzaları işaretler. Gerçekten karar aldığınız olayları kaydedin; Madar bir derlemeyi CI içinde bunlara karşı kontrol eder, böylece bir olayı yeniden adlandıran veya bir alanın türünü değiştiren bir sürüm haftalarca sessizce yanlış gitmek yerine orada başarısız olur — dize olarak gelmeye başlayan bir gelir alanı grafiği yine doldurur, sadece sıfır toplar. Zaten bozulmuş bir pencere bulduğunuzda onu karantinaya alın — Madar o veriler üzerine kurulan her otomatik öneriyi durdurur; buna, olayları o hafta bozulduğu için sayıları kötü görünen bir kaynağın harcamasını kesme tavsiyesi de dahildir
Aşağıdaki her sistem Full, Growth ve Kurumsal'da bulunur. Katmanlar hangi sistemleri aldığınıza göre değil, kapasite ve yönetişime göre farklılaşır.