Bagikan melalui


Membuat Entri Registri Lainnya

Seperti yang dijelaskan dalam Membuat Kunci Performa Aplikasi, komponen yang menyediakan data penghitung kinerja harus memiliki kunci Performa di bawah kunci Layanan , dan kunci Performa harus berisi nilai Pustaka, Buka, Kumpulkan, dan Tutup . Dalam kasus tertentu, komponen Anda mungkin perlu mengonfigurasi nilai registri tambahan.

Metadata

MetadataGlobaldan MetadataCostly merupakan kueri khusus metadata yang dihasilkan oleh Windows 10 20H1 dan yang lebih baru. Mereka memungkinkan pengguna untuk mendapatkan metadata (informasi objek dan informasi penghitung) tanpa melakukan pengumpulan data yang berpotensi mahal. Kueri khusus metadata diharapkan mengembalikan hasil yang sama dengan yang sesuai Global atau Costly kueri kecuali yang NumInstances harus diatur ke PERF_METADATA_MULTIPLE_INSTANCES (untuk objek multi-instans) atau PERF_METADATA_NO_INSTANCES (untuk objek instans tunggal) dan hasilnya harus menghilangkan semua PERF_INSTANCE_DEFINITION blok.

Jika DLL performa Anda mendukung MetadataGlobal dan MetadataCostly jenis kueri, itu harus menunjukkan ini dengan menambahkan REG_DWORD nilai Collect Supports Metadata ke kuncinya Performance dan mengatur nilai ke 1. Jika Collect Supports Metadata tidak ada atau diatur ke 0, kueri khusus metadata akan kembali ke Global kueri atau Costly .

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Collect Supports Metadata = 1

Linkage

Fungsi OpenPerformanceData DLL performa mengambil argumen string sebagai input. Untuk menyediakan string input ke fungsi terbuka Anda, sertakan kunci Tautan di bawah kunci Layanan Anda. Kunci Linkage berisi nilai Ekspor . Atur data nilai untuk Ekspor ke string input yang ingin Anda teruskan ke fungsi terbuka Anda. Jenis data EksporREG_MULTI_SZ.

Jika Ekspor tidak ditentukan (Ekspor bersifat opsional), sistem meneruskan NULL ke fungsi OpenPerformanceData Anda.

Biasanya, jika lebih dari satu aplikasi berbagi DLL performa yang sama, setiap aplikasi menyertakan kunci Linkage dan nilai Ekspor untuk memberikan konteks tentang aplikasi mana yang memanggil DLL.

Berikut ini memperlihatkan entri registri:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name-1
               \Linkage
                  Export = app-1 context strings
               \Performance
                  Library = perfctrs.dll
            \application-name-2
               \Linkage
                  Export = app-2 context strings
               \Performance
                  Library = perfctrs.dll

Batas waktu

Secara default, fungsi OpenPerformanceData dan CollectPerformanceData DLL performa harus kembali dalam 10.000 milidetik. Jika tidak, sistem tidak menggunakan data yang dikembalikan DLL. Aplikasi dapat menambah atau mengurangi nilai batas waktu dengan menentukan nilai registri Batas Waktu Terbuka atau Kumpulkan Batas Waktu di bawah Kunci performa mereka seperti yang ditunjukkan dalam contoh berikut.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Open Timeout = Timeout value for your open function, in milliseconds
                  Collect Timeout = Timeout value for your collect function, in milliseconds

Perangkat DOS

Untuk mendapatkan data performa untuk beberapa aplikasi (yang mengembalikan penghitung menggunakan fungsi DeviceIoControl ), perlu menggunakan fungsi CreateFile untuk membuka perangkat yang terkait dengan aplikasi. Dalam hal ini, nama yang ditentukan dalam CreateFile juga harus diinstal di simpul Perangkat DOS dari registri, seperti yang ditunjukkan di sini:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \Session Manager
               \DOS Devices