Tag Tumpukan
Di Windows® Penganalisis Kinerja (WPA), tag tumpukan adalah fitur yang memungkinkan Anda membuat label (tag) untuk membantu Anda mengidentifikasi bagian tumpukan panggilan mana yang terpengaruh dengan lebih baik.
Memahami perbedaan antara tag tumpukan dan tag bingkai tumpukan
Anda dapat menganggap tag tumpukan (tag bingkai) dan tumpukan sebagai dua tampilan data yang sama yang tersedia di kolom Tumpukan . Anda dapat mengonfigurasi kolom tumpukan untuk dilihat sebagai tag tumpukan atau kolom tumpukan (tag bingkai) di Editor Tampilan.
Tumpukan panggilan terdiri dari daftar bingkai. Jika tumpukan panggilan dalam bentuk A -> B -> C, maka ada tiga bingkai: kolom A, B, dan C. Tumpukan (tag bingkai) memetakan masing-masing dan setiap bingkai tumpukan panggilan ke tag atau default ke modul!metode jika tidak ada tag.
Misalnya, tumpukan panggilan A -> B -> C-> D, dalam tampilan Tumpukan (Tag Bingkai) dapat menjadi A -> FrameTagB -> FrameTagC -> D. Setiap tag bingkai dapat memiliki hierarki berdasarkan hierarki definisi tag dalam file *.stacktags (misalnya, nilai aktual FrameTagB dapat menjadi "HTML\Script\OM").
Tag tumpukan meringkas seluruh tumpukan panggilan dengan menggunakan satu nama tag. Misalnya, tag bingkai paling bawah yang paling dipetakan biasanya dibuat tag tumpukan kecuali ada prioritas yang ditentukan untuk tag. Menggunakan contoh A -> B - C ->> D yang sama, di mana tampilan tag bingkai adalah A -> FrameTagB -> FrameTagC -> D, tampilan tag tumpukan hanya: FrameTagC.
Selain Tag normal untuk modul dan metode yang sama persis, Anda juga dapat menentukan HintTag dengan HintOperator sebagai Callee atau Caller. Misalnya, HintTag dengan HintOperator sebagai Callee didefinisikan untuk B. Tumpukan panggilan A -> B -> C -> D dalam tampilan Stack (FrameTags) dapat menjadi A -> FrameTagB -> ModuleOfC -> D dan tampilan StackTag-nya adalah FrameTagB -> ModuleOfC. Modul C dibuat secara dinamis sebagai tag tumpukan baru. Secara eksplisit mengatur atribut OnlyShowModule dari HintTag sebagai false akan menjadikan C sebagai tag tumpukan baru daripada ModuleOfC. Atribut OnlyShowModule adalah true secara default. Kasus penggunaan umumnya adalah mengaitkan fungsi server RPC secara otomatis. Fungsi penelepon langsung mereka rpcrt4.dll! Invoke_epilog1_start. Anda dapat menentukan HintTag untuk fungsi pemanggil umum ini untuk mencapai hal ini.
Mengidentifikasi biaya fungsi umum dengan menentukan tag petunjuk
Biasanya, kolom Tag Tumpukan mengidentifikasi biaya satu fungsi dalam satu modul. Namun, WPA dapat mengonsolidasikan biaya semua fungsi yang dipanggil oleh fungsi tersebut jika Anda menentukan tag petunjuk dan operator petunjuk. Tag petunjuk adalah label untuk fungsi umum dan grup fungsi yang dipanggilnya, dan operator petunjuk mengidentifikasi fungsi umum sebagai fungsi panggilan, pemanggil, atau fungsi yang disebut, penerima panggilan.
Kasus penggunaan umumnya adalah menentukan tag petunjuk sehingga WPA secara otomatis mengaitkan fungsi server RPC. Anda juga mungkin ingin menentukan tag petunjuk, misalnya, untuk menampilkan pemegang kunci atau fungsi yang mengalokasikan tumpukan.
Menentukan tag petunjuk
Tag petunjuk dan operator petunjuk ditentukan dalam XML dalam sintaks berikut dengan atribut dan nilai yang dijelaskan dalam tabel berikut.
<HintTag
Name="string-label"
Priority="integer"
HintOperator="caller-or-callee"
OnlyShowModule="Boolean">
<Entrypoint
Module="module-name"
Method="method-name">
</HintTag>
Elemen | Atribut | Deskripsi |
---|---|---|
HintTag | Nama | String yang akan digunakan sebagai label |
Prioritas | Bilangan bulat. Defaultnya adalah nol. | |
HintOperator | Nilainya masing-masing adalah "Penelepon" atau "Penerima Panggilan" untuk panggilan atau yang disebut fungsi. | |
OnlyShowModule | Boolean, opsional. Nilai defaultnya adalah benar. | |
Titik masuk | Modul | Nama modul yang berisi Metode. |
Metode | Nama metode yang merupakan titik masuk. |
Untuk menambahkan tag petunjuk yang telah Anda tentukan dalam file XML, gunakan prosedur dalam Menambahkan tag tumpukan ke File Definisi Tag Tumpukan, nanti dalam topik ini.
Contoh penggunaan tag petunjuk
Pertimbangkan contoh data yang diperlihatkan dalam gambar berikut.
Dalam contoh ini, ada 4 fungsi RPC yang disebut dalam WbemCore.dll:
- CWbemLevel1Login::NTLMLogin
- CWbemNamespace::GetObjectW
- CWbemNamespace::P utInstance
- CWbemNamespace::ExecMethod
Mampu mengonsolidasikan biaya panggilan fungsi ini berguna untuk menentukan biaya fungsi sisi server RPC, karena WPA menampilkan total pengeluaran sebagai RPC di kolom Tag Tumpukan .
Dengan rpcrt4.dll! Memanggil fungsi yang didefinisikan sebagai titik masuk untuk tag petunjuk RPC, dan operator petunjuk yang ditentukan sebagai penerima panggilan, WPA mewakili rpcrt4.dll! Panggil dengan RPC, dan wbemcore.dll! CWbemLevel1Login::NTLMLogin dengan RPC\wbemcore.dll\CWbemLevel1Login::NTLMLogin. Jadi, di kolom Stack Tag , WPA menampilkan biaya wbemcore.dll! CWbemLevel1Login::NTLMLogin, fungsi sisi server RPC, sebagai 31.855774ms. Dalam WbemCore.dll, NTLMLogin adalah fungsi RPC teratas dalam hierarki fungsi yang disebut.
TAG petunjuk RPC ditentukan oleh XML berikut.
<HintTag Name="RPC" HintOperator="Callee">
<Entrypoint Module="rpcrt4.dll" Method="Invoke"/>
</HintTag>
Menambahkan tag tumpukan ke file Definisi Tag Tumpukan
Untuk menambahkan definisi tag tumpukan ke file Definisi Tag Tumpukan, lakukan hal berikut:
Di menu, pilih Lacak, lalu pilih Lacak Properti. Tab Properti Pelacakan terbuka.
Di area Definisi Tag Tumpukan, klik Tambahkan ke lokasi yang diinginkan.
Navigasi ke area yang berisi file tag tumpukan, pilih, lalu klik Buka.
Menghapus tag tumpukan dari file definisi tag tumpukan
Untuk menghapus definisi tag tumpukan dari file Definisi Tag Tumpukan, lakukan hal berikut:
Di menu, pilih Lacak, lalu pilih Lacak Properti. Tab Properti Pelacakan terbuka.
Di area Definisi Tag Tumpukan, pilih definisi tag tumpukan yang ingin Anda hapus lalu klik Hapus.
Peringatan Pastikan Anda ingin menghapus definisi tag tumpukan yang dipilih, karena Anda tidak akan memiliki opsi untuk membatalkan setelah Anda mengklik Hapus.
Memuat ulang file definisi tag tumpukan
Untuk memuat ulang definisi tag tumpukan ke file Definisi Tag Tumpukan, lakukan hal berikut:
Di menu, pilih Lacak, lalu pilih Lacak Properti. Tab Properti Pelacakan terbuka.
Di area Definisi Tag Tumpukan, klik Muat Ulang. Anda dapat memuat beberapa tag tumpukan dengan menekan dan menahan tombol Shift dan mengklik kiri setiap definisi tag tumpukan.
Memecahkan masalah file tag tumpukan Anda
Untuk menyelidiki masalah dalam file tag tumpukan Anda di WPA, lakukan hal berikut:
Di menu, klik Jendela, lalu pilih Konsol Diagnostik. Tampilan WPA dibagi menjadi dua - dengan Graph Explorer dan Analysis di bagian atas layar dan Konsol Diagnostik di bagian bawah layar.
Tips Anda juga dapat mengakses Konsol Diagnostik di sudut kiri bawah WPA dengan mengklik Konsol Diagnostik. Setelah terbuka, Anda juga dapat menyeretnya ke jendela terpisah atau menambukkannya di bagian atas atau samping.
Konsol Diagnostik mencantumkan informasi tentang pengecualian yang terjadi selama alur kerja analisis. Anda dapat mendiagnosis masalah pendekodean simbol dari konsol ini