Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat mengumpulkan informasi performa tentang aplikasi dengan menggunakan alat baris perintah. Anda dapat mengumpulkan data performa untuk Penggunaan CPU, alokasi memori .NET, instrumentasi, dan kueri database.
Dalam contoh yang dijelaskan dalam artikel ini, Anda mengumpulkan informasi performa untuk Microsoft Notepad, tetapi metode yang sama dapat digunakan untuk memprofilkan proses apa pun.
Nota
Untuk menghasilkan komponen C/C++ berinstrumen dari baris perintah, lihat Instrumen komponen mandiri asli sebelum mengikuti langkah-langkah dalam artikel ini. Untuk data penggunaan CPU, Anda dapat menggunakan prosedur yang dijelaskan dalam artikel ini.
Prasyarat
Visual Studio 2019 atau versi yang lebih baru
Keakraban dengan alat baris perintah
Untuk mengumpulkan informasi performa pada komputer jarak jauh tanpa Visual Studio terinstal, instal Remote Tools for Visual Studio pada komputer jarak jauh. Versi alat harus cocok dengan versi Visual Studio Anda.
Sebagian besar agen koleksi mendukung .NET Core, .NET 5+, .NET Framework, dan C++. Namun, dukungan terbatas pada dukungan yang diberikan oleh alat performa yang sesuai. Misalnya, agen pengumpulan Database terbatas pada .NET Core dan .NET 5+.
Mengumpulkan data performa
Pembuatan profil menggunakan alat Visual Studio Diagnostics CLI berfungsi dengan melampirkan alat pembuatan profil, bersama dengan salah satu agen kolektor, ke sebuah proses. Saat Anda menyambungkan alat pembuatan profil, Anda memulai sesi diagnostik yang mengambil dan menyimpan data pembuatan profil hingga alat dihentikan, setelah itu data diekspor ke dalam file .diagsession. Kemudian Anda dapat membuka file ini di Visual Studio untuk menganalisis hasil.
Mulai Notepad, lalu buka Task Manager untuk mendapatkan ID prosesnya (PID). Di Task Manager, temukan PID di tab Detail.
Buka Command Prompt dan pindah ke direktori yang berisi file executable agen pengumpulan, biasanya terletak di sini (untuk Visual Studio Enterprise).
<Visual Studio installation folder>\18\Enterprise\Team Tools\DiagnosticsHub\Collector\<Visual Studio installation folder>\2022\Enterprise\Team Tools\DiagnosticsHub\Collector\Untuk alat bantu akses jarak jauh, program agen koleksi yang dapat dieksekusi berada di lokasi ini:
Program Files\Microsoft Visual Studio 17.0\Team Tools\DiagnosticsHub\Collector\Nota
Saat menggunakan baris perintah dalam skenario jarak jauh, Anda perlu menjalankan instruksi baris perintah pada komputer jarak jauh. Jika Anda ingin melampirkan ke komputer jarak jauh dari Visual Studio, gunakan Profiler Performa di Visual Studio sebagai gantinya.
Mulai VSDiagnostics.exe dengan mengetik perintah berikut.
VSDiagnostics.exe start <id> /attach:<pid> /loadConfig:<configFile>Argumen yang harus disertakan adalah:
- id <> Mengidentifikasi sesi pengumpulan. ID harus berupa angka antara 1-255.
- < pid>, PID dari proses yang ingin Anda profilkan, dalam hal ini PID yang Anda temukan di langkah 1.
- < configFile>, file konfigurasi untuk agen koleksi yang ingin Anda luncurkan. Untuk informasi selengkapnya, lihat file Konfigurasi untuk agen.
Misalnya, Anda dapat menggunakan perintah berikut untuk agen CPUUsageBase dengan mengganti pid seperti yang dijelaskan sebelumnya.
VSDiagnostics.exe start 1 /attach:<pid> /loadConfig:AgentConfigs\CPUUsageLow.jsonAtau, Anda dapat menggunakan perintah
launchuntuk memulai executable. Dalam skenario ini, Anda tidak perlu mendapatkan ID proses dan melampirkannya. Semua alat mendukung perintahlaunch, meskipun beberapa tidak mendukungattach, seperti alat Instrumentation dan .NET Allocation. Misalnya, gunakan yang berikut ini untuk memulai eksekusi dan mengumpulkan data instrumentasi:VSDiagnostics start <id> /launch:<ExeToProfile> /loadConfig:AgentConfigs\PerfInstrumentation.jsonUbah ukuran Notepad, atau ketik sesuatu di dalamnya untuk memastikan beberapa informasi profil yang menarik berhasil dikumpulkan.
Hentikan sesi pengumpulan dan kirim output ke file dengan mengetik perintah berikut.
VSDiagnostics.exe stop <id> /output:<path to file>Temukan output file .diagsession dari perintah sebelumnya, dan buka di Visual Studio (File>Buka) untuk memeriksa informasi yang dikumpulkan.
Untuk menganalisis hasilnya, lihat dokumentasi untuk alat performa yang sesuai. Misalnya, ini mungkin adalah Penggunaan CPU, alat Alokasi Objek .NET, Instrumentasi, atau alat Database.
File konfigurasi agen
Agen Pengumpulan adalah komponen yang dapat dipertukarkan yang mengumpulkan berbagai jenis data tergantung pada apa yang anda coba ukur.
Untuk kenyamanan, kami sarankan Anda menyimpan informasi tersebut dalam file konfigurasi agen. File konfigurasi adalah file .json yang berisi minimal nama .dll dan COM CLSID-nya. Secara default, Anda dapat menemukan contoh file konfigurasi di folder berikut:
Program Files\Microsoft Visual Studio\<version>\<sku>\Team Tools\DiagnosticsHub\Collector\AgentConfigs
Konfigurasi CpuUsage (Dasar/Tinggi/Rendah) sesuai dengan data yang dikumpulkan untuk alat pembuatan profil Penggunaan CPU. Konfigurasi DotNetObjectAlloc (Dasar/Rendah) sesuai dengan data yang dikumpulkan untuk alat Alokasi Objek .NET .
Konfigurasi Dasar/Rendah/Tinggi mengacu pada laju pengambilan sampel. Misalnya, Rendah adalah 100 sampel/detik dan Tinggi adalah 4000 sampel/detik.
Agar alat VSDiagnostics.exe dapat berfungsi dengan agen koleksi, alat ini memerlukan file DLL dan kode CLSID COM untuk agen yang sesuai. Agen mungkin juga memiliki opsi konfigurasi tambahan, yaitu opsi apa pun yang ditentukan dalam file konfigurasi dan diformat sebagai JSON yang telah benar-benar di-escape.
Izin-izin
Untuk membuat profil aplikasi yang memerlukan izin yang ditingkatkan, Anda harus melakukannya dari prompt perintah yang ditingkatkan.