Sunday, December 14, 2014

Android Apps Monitoring mengunakan NewRelic

Saya ingin memperkenalan sebuah tool yang berguna untuk melakukan monitoring aplikasi yang bebasis online (cloud) yakni newrelic.com.
NewRelic bisa melakukan monitoring untuk application server, web application (browser) dan mobile application (android - ios).
NewRelic ada versi gratis dan berbayar. Perbedaannya jika yang free data hasil monitoring akan hilang setelah 24 jam, sedangkan untuk versi berbayar data kan tetap ada.
Untuk memulai menggunakan, sign-up account terlebih dahulu.



Kali ini saya akan membahas tentang newrelic digunakan sebagai android application monitoring.
NewRelic memberikan fasilitas mobile monitoring berupa Interaction, Network, Crash Report.
Data monitoring disediakan sudah berupa grafik. sehingga kita bisa melihat hasil statistic performance rata-rata dari sebuah aplikasi android.

1. Interaction



Memonitor user interaction pada saat user membuka page (activity) di aplikasi android. Disana akan kelihatan mana interaction yang waktunya paling cepat, mana waktunya paling lambat, avarage time.
Hasilnya bisa kelihatan di grafik. Akan ditampilkan juga method yang digunakan untuk sebuah interaction beserta average time yang dibutuhkan. Ini sangat berguna buat developer untuk melakukan optimasi pada code yang mungkin average timenya lambat.

2.Network



Memonitor aplikasi android tersebut mengakses network mana saja. Akan bisa ditampilkan berapa waktu rata-rata yang dibutuhkan. Error rate nya berapa.

3. Crash Report


Mungkin ini fitur yang paling berguna buat developer, bisa menjadi peringatan dini untuk terjadinya sebuah error (crash). Ini bisa dibaratkan sebagai remote error monitoring. Jika tanpa monitoring ini saat terjadi error, mungkin developer melakukan debug di device yang terjadi crash untuk melihat error itu terjadi karena apa, code line berapa, aplikasi versi berapa yang crash. Kalau device yang aktif ada beberapa saja mungkin tidak menjadi masalah. Bayangkan jika device yang aktif ada ratusan atau bahkan ribuan tentu akan menjadi masalah jika harus melakukan debug (cek) satu persatu.
Maka untuk mempermudah monitoring di aplikasi android ditanam newrelic ini.

Error alert bisa dikirimkan lewat email, sehingga developer bisa cepat mengetahui dan melakukan error fixing. Bisa kelihatan penyebab crash ada di class mana, line berapa, versi berapa.
Tentunya untuk dapat mengirimkan email alert ini harus disetting di preferencenya.
Di menu Setting -> Alert -> Crash reports & alerts.
Check Enable crash report emails for this application.


Contoh crash email alert yang dikirimkan jika terjadi crash.



4. Setup Usage

Untuk menggunakan newrelic di aplikasi android kita, harus create mobile project di newrelic terlebih dahulu.
Masuk ke Menu Mobile -> klik tombol Add a new app.
Masukkan nama projectnya.


Maka kita akan dapat application token (unique ID). Pilih platform : Android


Import library jar java agent newrelic.
Kalau menggunakan Eclipse masuk ke Help -> Install New Software. Masukkan link ini :
https://download.newrelic.com/android_agent/eclipse/



Untuk android project yang menggunakan maven tambahkan dependency berikut ini :
 <dependencies>  
  <dependency>  
   <groupId>com.newrelic.agent.android</groupId>  
   <artifactId>android-agent</artifactId>  
   <version>4.120.0</version>  
  </dependency>  
 </dependencies>  
 <build>  
  <plugins>  
   <plugin>  
    <groupId>com.newrelic.agent.android</groupId>  
    <artifactId>agent-maven-plugin</artifactId>  
    <version>4.120.0</version>  
    <executions>  
     <execution>  
      <goals>  
       <goal>instrument</goal>  
      </goals>  
     </execution>  
    </executions>  
   </plugin>  
  </plugins>  
 </build>  

Tambahkan permission berikut ini di AndroidManifest.xml (membutuhkan koneksi internet)
 <uses-permission android:name="android.permission.INTERNET" />   
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

Tambahkan file newrelic.properties yang berisi application token di root folder project.
 com.newrelic.application_token=AA7a194c295396ed8f37ded00974bc745f960bbf43  


Pada Activity yang dijalankan pertama kali dijalankan tambahkan class NewRelic dan token ID nya.
 import com.newrelic.agent.android.NewRelic;  
..........  
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 NewRelic.withApplicationToken( "AAe89979bf61499473727d1443d99904e42ddac552" )
    .start(this.getApplication());

..........
  
} 

Build clean aplikasi kita dan jalankan pada device android (bisa juga menggunakan emulator.).
Maka java agent newrelic akan mengirimkan data monitoring yang bisa dilihat di dashboard kita.
Kalau kita menggunakan eclipse atau IntelIj idea di logcat akan kelihatan java agent newrelic akan mengirimkan data monitoring ke server.


Login masuk dan masuk ke project yang sudah dibuat tadi. Sekarang kita bisa melihat overview data monitoring di dashboard newrelic.



Selamat mencoba.

No comments:

Post a Comment