Memeriksa traffic jaringan dengan Network Inspector

Network Inspector menampilkan aktivitas jaringan real-time pada linimasa, yang menunjukkan data terkirim dan diterima. Dengan Network Inspector, Anda dapat memeriksa cara dan waktu aplikasi mentransfer data serta mengoptimalkan kode yang mendasarinya dengan semestinya.

Untuk membuka Network Inspector, ikuti langkah-langkah ini:

  1. Dari menu navigasi Android Studio, pilih View > Tool Windows > App Inspection. Setelah jendela pemeriksaan aplikasi terhubung secara otomatis ke proses aplikasi, pilih Network Inspector dari tab.
    • Jika jendela pemeriksaan aplikasi tidak terhubung ke proses aplikasi secara otomatis, Anda mungkin harus memilih proses aplikasi secara manual.
  2. Pilih perangkat dan proses aplikasi yang ingin diperiksa dari jendela App Inspection.

Ringkasan Network Inspector

Di bagian atas jendela Network Inspector, Anda dapat melihat linimasa peristiwa. Klik dan tarik untuk memilih bagian linimasa serta memeriksa traffic.

Jendela Network Inspector
Gambar 1. Jendela Network Inspector.

Di panel detail, Anda akan menemukan grafik waktu yang dapat mengidentifikasi tempat terjadinya masalah performa. Awal dari bagian yang berwarna kuning berkaitan dengan byte pertama permintaan yang dikirim. Awal dari bagian yang berwarna biru berkaitan dengan byte pertama dari respons yang diterima. Akhir dari bagian yang berwarna biru berkaitan dengan byte terakhir dari respons yang diterima.

Dalam panel di bawah linimasa, pilih salah satu tab berikut untuk mengetahui detail selengkapnya tentang aktivitas jaringan selama bagian linimasa yang dipilih:

  • Connection View: Mencantumkan file yang telah dikirim atau diterima selama bagian linimasa yang dipilih dalam daftar di seluruh thread CPU aplikasi Anda. Untuk setiap permintaan, Anda dapat memeriksa ukuran, jenis, status, dan durasi transmisi. Untuk mengurutkan daftar ini, klik salah satu header kolom. Anda juga akan melihat detail uraian dari bagian linimasa yang dipilih, yang menampilkan waktu pengiriman dan penerimaan setiap file.
  • Thread View: Menampilkan aktivitas jaringan di setiap thread CPU aplikasi. Seperti dalam gambar 2, tampilan ini memungkinkan Anda memeriksa thread yang bertanggung jawab atas setiap permintaan jaringan.

    Memeriksa permintaan jaringan berdasarkan thread aplikasi di thread view
    Gambar 2. Memeriksa permintaan jaringan berdasarkan thread aplikasi di Thread View
  • Rules View: Rules (aturan) membantu menguji perilaku aplikasi Anda saat menemukan respons dengan kode status, header, dan isi yang berbeda. Saat membuat aturan baru, beri nama aturan baru Anda dan sertakan informasi tentang asal respons yang ingin dicegat pada subbagian Origin. Di subbagian Response, Anda dapat menentukan tempat dan cara mengubah respons. Misalnya, Anda dapat menetapkan aturan untuk dijalankan pada respons dengan kode status tertentu serta mengubah kode status tersebut. Di subbagian Header rules dan Body rules, buat sub-aturan yang menambahkan atau mengubah header atau isi respons. Aturan diterapkan sesuai urutan yang tercantum. Pilih aturan mana yang akan diaktifkan atau dinonaktifkan dengan mencentang kotak Active di samping aturan.

    Panel Rules dan Rule Details pada Network Inspector
    Gambar 3. Panel Rules dan Rule Details pada Network Inspector.

Dari Connection View atau Thread View, klik nama permintaan untuk memeriksa detail informasi tentang data yang dikirim atau diterima. Klik tab untuk menampilkan header dan isi respons, header dan isi permintaan, atau stack panggilan.

Di tab Response dan Request, klik link View Parsed untuk menampilkan teks berformat. Klik link View Source untuk menampilkan teks mentah.

Beralih antara teks mentah dan teks berformat
Gambar 4. Beralihlah antara teks mentah dan teks berformat dengan mengklik link yang sesuai.

Selain menampilkan permintaan jaringan untuk HttpsURLConnection, Network Inspector juga mendukung OkHttp. Beberapa library jaringan pihak ketiga, seperti Retrofit, menggunakan OkHttp secara internal sehingga Network Inspector memungkinkan Anda memeriksa aktivitas jaringannya. Tujuan Aplikasi contoh Now In Android menggunakan OkHttp untuk operasi jaringannya dan merupakan tempat yang baik untuk melihatnya tindakan.

Jika menggunakan HttpsURLConnection API, Anda hanya akan melihat header di tab Request yang Anda sertakan dalam kode menggunakan metode setRequestProperty, seperti yang ditunjukkan pada contoh berikut:

Kotlin

val url = URL(MY_URL_EN)
val urlConnection: HttpsURLConnection = url.openConnection() as HttpsURLConnection
...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity")

Java

URL url = new URL(MY_URL_EN);
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
//...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity");

Memecahkan masalah koneksi jaringan

Jika Network Inspector mendeteksi nilai traffic, tetapi tidak dapat mengidentifikasi semua permintaan jaringan yang didukung, Anda akan menerima pesan error berikut:

**Network Inspector Data Unavailable:** There is no information for the
  network traffic you've selected.

Saat ini, Network Inspector hanya mendukung library HttpsURLConnection dan OkHttp untuk koneksi jaringan. Jika aplikasi Anda menggunakan library koneksi jaringan lain, Anda mungkin tidak dapat melihat aktivitas jaringan di Network Inspector. Jika Anda telah menerima pesan error ini, tetapi aplikasi Anda menggunakan HttpsURLConnection atau OkHttp, laporkan bug atau telusuri issue tracker untuk menyertakan masukan dalam laporan yang ada terkait masalah tersebut. Anda juga dapat menggunakan resource ini guna meminta dukungan untuk library tambahan.