Bagikan melalui


Menemukan dan mendiagnosis pengecualian runtime dengan Application Insights

Application Insights mengumpulkan telemetri dari aplikasi Anda untuk membantu mengidentifikasi dan mendiagnosis pengecualian runtime. Tutorial ini memandu Anda melalui proses ini dengan aplikasi Anda. Anda akan mempelajari cara:

  • Ubah proyek Anda untuk mengaktifkan pelacakan pengecualian.
  • Identifikasi pengecualian untuk berbagai komponen aplikasi Anda.
  • Lihat detail pengecualian.
  • Unduh rekam jepret pengecualian ke Visual Studio untuk penelusuran kesalahan.
  • Analisis detail permintaan yang gagal dengan menggunakan bahasa kueri.
  • Buat item kerja baru untuk memperbaiki kode yang rusak.

Prasyarat

Untuk menyelesaikan tutorial ini:

  • Instal Visual Studio 2019 dengan beban kerja berikut:
    • ASP.NET dan pengembangan web
    • Pengembangan Azure
  • Unduh dan pasang Snapshot Debugger.
  • Mengaktifkan Visual Studio Snapshot Debugger
  • Menyebarkan aplikasi .NET ke Azure dan mengaktifkan Application Insights SDK
  • Ubah kode Anda di lingkungan pengembangan atau pengujian untuk menghasilkan pengecualian karena tutorial melacak identifikasi pengecualian dalam aplikasi Anda.

Masuk ke Azure

Masuk ke portal Microsoft Azure.

Menganalisis kegagalan

Application Insights mengumpulkan kegagalan apa pun dalam aplikasi Anda. Ini memungkinkan Anda melihat frekuensinya di berbagai operasi untuk membantu Anda memfokuskan upaya Anda pada masalah tersebut dengan dampak tertinggi. Anda kemudian dapat menelusuri detail kegagalan ini untuk mengidentifikasi akar penyebabnya.

  1. Pilih Application Insights lalu pilih langganan Anda.

  2. Untuk membuka panel Kegagalan , pilih Kegagalan di bawah menu Selidiki atau pilih grafik Permintaan gagal .

    Cuplikan layar yang menunjukkan permintaan yang gagal.

  3. Panel Permintaan gagal memperlihatkan jumlah permintaan yang gagal dan jumlah pengguna yang terpengaruh untuk setiap operasi untuk aplikasi. Dengan mengurutkan informasi ini menurut pengguna, Anda dapat mengidentifikasi kegagalan yang paling memengaruhi pengguna. Dalam contoh ini, GET Employees/Create dan GET Customers/Details kemungkinan menjadi kandidat untuk diselidiki karena banyaknya kegagalan dan pengguna yang terpengaruh. Memilih operasi memperlihatkan informasi selengkapnya tentang operasi ini di panel kanan.

    Cuplikan layar yang memperlihatkan panel Permintaan gagal.

  4. Kurangi durasi waktu untuk memperbesar pada periode di mana tingkat kegagalan menunjukkan lonjakan.

    Cuplikan layar yang memperlihatkan jendela Permintaan gagal.

  5. Lihat sampel terkait dengan memilih tombol dengan jumlah hasil yang difilter. Sampel yang disarankan memiliki telemetri terkait dari semua komponen, bahkan jika pengambilan sampel mungkin telah berlaku di salah satunya. Pilih hasil pencarian untuk melihat detail kegagalan.

    Cuplikan layar yang memperlihatkan sampel permintaan Gagal.

  6. Detail permintaan yang gagal menunjukkan bagan Gantt yang menunjukkan bahwa ada dua kegagalan dependensi dalam transaksi ini, yang juga berkontribusi pada lebih dari 50% dari total durasi transaksi. Pengalaman ini menyajikan semua telemetri di seluruh komponen aplikasi terdistribusi yang terkait dengan ID operasi ini. Anda dapat memilih salah satu item untuk melihat detailnya di sisi kanan.

    Cuplikan layar yang memperlihatkan Detail permintaan yang gagal.

  7. Detail operasi juga menunjukkan pengecualian format, yang tampaknya telah menyebabkan kegagalan. Anda dapat melihat bahwa itu karena Kode Pos yang tidak valid. Anda dapat membuka rekam jepret debug untuk melihat informasi debug tingkat kode di Visual Studio.

    Cuplikan layar yang memperlihatkan detail pengecualian.

Mengidentifikasi kode yang gagal

Snapshot Debugger mengumpulkan rekam jepret pengecualian yang paling sering dalam aplikasi Anda untuk membantu mendiagnosis akar penyebabnya dalam produksi. Anda dapat melihat rekam jepret debug di portal untuk melihat tumpukan panggilan dan memeriksa variabel di setiap bingkai tumpukan panggilan. Setelah itu, Anda dapat men-debug kode sumber dengan mengunduh rekam jepret dan membukanya di Visual Studio 2019 Enterprise.

  1. Di properti pengecualian, pilih Buka rekam jepret debug.

  2. Panel Rekam Jepret Debug terbuka dengan tumpukan panggilan untuk permintaan tersebut. Pilih metode apa pun untuk melihat nilai semua variabel lokal pada saat permintaan. Mulai dari metode teratas dalam contoh ini, Anda dapat melihat variabel lokal yang tidak memiliki nilai.

    Cuplikan layar yang memperlihatkan panel Rekam Jepret Debug.

  3. Panggilan pertama yang memiliki nilai yang valid adalah ValidZipCode. Anda dapat melihat bahwa Kode Pos disediakan dengan huruf yang tidak dapat diterjemahkan ke dalam bilangan bulat. Masalah ini tampaknya adalah kesalahan dalam kode yang harus diperbaika.

    Cuplikan layar yang memperlihatkan kesalahan dalam kode yang harus dikoreksi.

  4. Anda kemudian dapat mengunduh rekam jepret ini ke Visual Studio tempat Anda dapat menemukan kode aktual yang harus dikoreksi. Untuk melakukannya, pilih Unduh Rekam Jepret.

  5. Rekam jepret dimuat ke dalam Visual Studio.

  6. Kini Anda dapat menjalankan sesi debug di Visual Studio Enterprise yang dengan cepat mengidentifikasi baris kode yang menyebabkan pengecualian.

    Cuplikan layar yang memperlihatkan pengecualian dalam kode.

Menggunakan data analitik

Semua data yang dikumpulkan oleh Application Insights disimpan di Azure Log Analytics, yang menyediakan bahasa kueri kaya yang dapat Anda gunakan untuk menganalisis data dengan berbagai cara. Anda dapat menggunakan data ini untuk menganalisis permintaan yang menghasilkan pengecualian yang Anda teliti.

  1. Pilih informasi CodeLens di atas kode untuk melihat telemetri yang disediakan oleh Application Insights.

    Cuplikan layar yang memperlihatkan kode di CodeLens.

  2. Pilih Analisis dampak untuk membuka Application Insights Analytics. Ini diisi dengan beberapa kueri yang memberikan detail tentang permintaan yang gagal, seperti pengguna, browser, dan wilayah yang terpengaruh.

    Cuplikan layar yang memperlihatkan jendela Application Insights yang menyertakan beberapa kueri.

Menambahkan item kerja

Jika Anda menghubungkan Application Insights ke sistem pelacakan, seperti Azure DevOps atau GitHub, Anda dapat membuat item kerja langsung dari Application Insights.

  1. Kembali ke panel Properti Pengecualian di Application Insights.

  2. Pilih Item Kerja Baru.

  3. Panel Item Kerja Baru terbuka dengan detail tentang pengecualian yang sudah diisi. Anda bisa menambahkan informasi lebih lanjut sebelum menyimpannya.

    Cuplikan layar yang memperlihatkan panel Item Kerja Baru.

Langkah berikutnya

Sekarang setelah Anda mempelajari cara mengidentifikasi pengecualian runtime bahasa umum, lanjutkan ke tutorial berikutnya untuk mempelajari cara mengidentifikasi dan mendiagnosis masalah performa.