HMS içerisinde Uygulama Performans Takibi

Sezer BOZKIR
Huawei Developers - Türkiye
4 min readMay 27, 2020

Merhabalar,

Uygulama geliştirme dünyasının önemli konularından birisi de uygulamamızın kabul edilebilir sistem kaynak tüketimi ve performansının cihazlar üzerinde yeterli olması. Bu ve benzer sistemsel endişeler için bir araca ihtiyaç duyduğunuz noktada karşımıza APM servisi çıkıyor. İşte tam da bu konudan muzdarip geliştiricilerin imdadına APM servisi tavsiye ederim…

APM servisi, uygulamanızın:

  • Uygulama Ekranı Oluşturma Performans Verilerini
  • Uygulama Başlatma Performans Verilerini
  • Ağ İşlemlerine Dair Performans Verilerini
  • Clustering Kurallarını Yapılandırma

görme ve değerlendirme imkanlarını tanımakta.

Bu özellikleri incelemeye başlamadan önce uygulamamıza APM servisini nasıl entegre edeceğimizi öğrenerek başlamak sanırım daha doğru bir başlangıç olacaktır.

Entegrasyon

UYARI: APM SDK’yı entegre etmeden önce, uygulamanızın AppGallery Connect SDK ve AppGallery Connect eklentilerini entegre ettiğinizden emin olun. Ayrıntılar için lütfen uygulamanın ilk entegrasyon bölümüne bakın.

https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-apms-agcsdk

Android Studio içerisinde, aplikasyon seviyesinde uygulamamızın “build.gradle” dosyasını açarak,

// ... 
apply plugin: 'com.huawei.agconnect.apms'
dependencies {
// ...
// Add APM SDK library dependency
implementation 'com.huawei.agconnect:agconnect-apms:1.2.1.300'
}

Bağımlılığı ekledikten sonra, uygulama başlatma performans verileri ve uygulama ekranı oluşturma performans verilerini görüntüleyebilir olacaksınız. Diğer 2 ekran için ekstra olan APM eklentisinin de implementasyonunun yapılması gereklidir.

Bunun için Android Studio içerisinde proje seviyesinde build.gradle dosyasına aşağıdaki kodları ekliyoruz:

buildscript {
repositories {
// Add the maven repository
maven { url 'http://developer.huawei.com/repo/' }
}
dependencies {
// ...
// To benefit from the latest APM feaures, update your Android Gradle Plugin dependency to at least v3.2.0
classpath 'com.android.tools.build:gradle:3.2.0'
// Add the dependency for the APM plugin
classpath 'com.huawei.agconnect:agconnect-apms-plugin:1.2.1.300'
}
}

Kodlarını eklemeniz yeterli.

Unutmadan, APM servisini aktif edebilmek için aşağıdaki izinleri uygulamanızın kullanıcıdan almış olması gerekiyor:

android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE

Uygulama üzerinde yapılacak değişikliklerden sonra, uygulamanızın App Gallery Console üzerinden yapılacak konfigürasyon ayarları kısmına geçebiliriz:

  1. Uygulamanızı yeniden derleyin
  2. Uygulamanızı cihazınıza yükleyin ve başlatın
  3. AppGallery Connect ‘e bağlanın ve aplikasyonunuzu seçin
  4. Projenizi seçin ve Quality > APM kısmından APM servisini aktif hale getirin.

Burada özellikle belirtmek istediğim bir durum var. Eğer uygulamanızı benim şu an yaptığım gibi sıfırdan oluşturduysanız, size lokasyon bilgisi sorulmakta, bu ayarlamayı yaptığınız durumda, uygulamanızın içerisinde koyduğunuz “agconnect-services.json” dosyasını yeniden indirmeniz ve uygulamanızın içerisindeki versiyonunu güncellemeniz gerekmekte. (detaylar için buraya bakabilirsiniz)

Eğer herşey yolunda gittiyse uygulamanızın verilerini 15 dakika içerisinde arayüzde görebilirsiniz. Uygulamanızı ilk entegre ettiğinizde karşınızda çıkacak görüntüye ve entegrasyon sonrası değerler barındıran haline şuradan bakabilirsiniz:

İlk Hali
Veriler gelmeye başladıktan sonra…

Özelliklerin Kullanımı

Yukarıdaki entegrasyon adımlarını tamamladıktan sonra, APM servisi otomatik olarak uygulamanızın hareketlerini izliyor olacağından, tek yapmanız gereken App Gallery Console üzerinden uygulamanıza bağlanıp sonuçları incelemeye başlayabilirsiniz.

APM Debug Verilerini İnceleme

Eğer APM içerisinde birşeylerin ters gittiğini düşünüyorsanız, debug modda APM loglarını inceleyebilirsiniz. AndroudManifest.xml dosyanızın içerisindeki “<meta-data>” tag’ının arasına aşağıdaki kod parçasını ekledikten sonra “adb logcat -s com.huawei.agc.apms” komutu ile logları okuyabilirsiniz.

<application>
<!-- Set this flag to 'true', debug logs of APM will be printed in logcat, default value is 'false'-->
<meta-data
android:name="apms_debug_log_enabled"
android:value="false" />
</application>

Grafiksel Özellikler

Uygulama Başlatma Süresi Grafiği
Değerlerin Seçilimi
Versiyon bazlı dağılım
Anasayfada Bulunan indikatörler
Ağ Analiz Grafiği

Tabii bunlar benim belli başlı gördüğüm arayüzler, çok daha detaylı servislere, döküman üzerinden ulaşabilir, uygulamanız için kullanmaya başlayabilirsiniz.

APM servisi hakkında sorularınızı Huawei Developer Forum‘dan, admin@sezerbozkir.com mail adresimden ya da bu başlık altında sorabilirsiniz. Benzer makalelere göz atmak isterseniz Huawei Mobil Servisleri medium kanalına da ayrıca göz atabilirsiniz.

Başka bir yazıda görüşmek dileğiyle… 🙂

--

--