Program Peningkatan Pengalaman Pelanggan Visual Studio

Program Peningkatan Pengalaman Pelanggan Visual Studio (VSCEIP) dirancang untuk membantu Microsoft meningkatkan Visual Studio dari waktu ke waktu. Program ini mengumpulkan informasi tentang kesalahan, perangkat keras komputer, dan cara orang menggunakan Visual Studio, tanpa mengganggu pengguna dalam tugas mereka di komputer. Informasi yang dikumpulkan membantu Microsoft mengidentifikasi fitur mana yang akan ditingkatkan. Dokumen ini membahas cara ikut serta atau keluar dari VSCEIP, dan menyediakan beberapa informasi tentang jenis data yang kami kumpulkan dan cara kami menggunakannya. Ini juga memberikan tips tentang bagaimana penulis ekstensi dapat menghindari pengungkapan informasi pribadi atau sensitif yang tidak disengaja.

Menolak pengumpulan data diagnostik

Mengingat tujuan data yang kami kumpulkan dan batasan pada akses dan retensinya, kami sarankan Anda menggunakan pengaturan privasi default untuk Visual Studio dan Windows. Namun, Anda dapat memilih keluar dari Program Peningkatan Pengalaman Visual Studio. Saat Anda menolak, Anda memilih keluar dari pengumpulan data diagnostik opsional . Beberapa pengumpulan data diagnostik diperlukan untuk memastikan Visual Studio aman, terbaru, dan berkinerja seperti yang diharapkan. Pengumpulan data diagnostik yang diperlukan tidak akan terpengaruh oleh pilihan Anda untuk menolak VSCEIP.

Catatan

Jika Anda tertarik untuk melihat atau menghapus data pribadi, silakan tinjau panduan Microsoft di Permintaan Subjek Data Windows untuk GDPR. Jika Anda mencari informasi umum terkait GDPR, lihat bagian GDPR dari Portal Service Trust.

Catatan

Pengaturan ikut atau keluar telemetri VSCEIP tidak berlaku untuk 'Laporkan Masalah' di Visual Studio. Saat Anda melaporkan log masalah dikumpulkan dan dikirim ke Microsoft hanya saat Anda memberikan izin dengan mengklik 'Kirim'. Jika Anda tertarik untuk mengelola log sebelum mengirimkan ke 'Laporkan Masalah' silakan lihat Privasi Data Umpan Balik untuk detail selengkapnya.

Ikut atau keluar

VSCEIP diaktifkan secara default. Anda dapat menonaktifkannya, atau mengaktifkannya kembali, dengan mengikuti instruksi berikut:

  1. Di Visual Studio, pilih Pengaturan Privasi Privasi>Bantuan.>

    Kotak dialog Program Peningkatan Pengalaman Visual Studio terbuka.

  2. Untuk memilih keluar, pilih Tidak, saya tidak ingin berpartisipasi, lalu pilih OK. Untuk ikut serta, pilih Ya, saya bersedia berpartisipasi (Disarankan), lalu pilih OK.

    Visual Studio Experience Improvement Program dialog

Pengaturan registri

Jika Anda menginstal Build Tools for Visual Studio, Anda harus memperbarui registri untuk mengonfigurasi VSCEIP. Pelanggan perusahaan dapat membuat kebijakan grup untuk ikut serta atau keluar dari VSCEIP dengan menetapkan kebijakan berbasis registri.

Kunci dan pengaturan registri yang relevan adalah sebagai berikut:

  • Pada OS 64-bit, Kunci = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM
  • Pada OS 32-bit, Kunci = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\16.0\SQM
  • Saat Kebijakan Grup diaktifkan, Kunci = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM
  • Pada OS 64-bit, Kunci = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • Pada OS 32-bit, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • Saat Kebijakan Grup diaktifkan, Kunci = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Entri = OptIn

Nilai = (DWORD)

  • 0 ditolak (matikan VSCEIP)
  • 1 diikutsertakan (nyalakan VSCEIP)

Perhatian

Pengeditan registri yang salah dapat sangat merusak sistem Anda. Sebelum membuat perubahan pada registri, Anda harus mencadangkan semua data berharga pada komputer. Anda juga dapat menggunakan opsi pengaktifan Konfigurasi Baik yang Terakhir Diketahui jika Anda mengalami masalah setelah perubahan manual diterapkan.

Untuk informasi selengkapnya tentang informasi yang dikumpulkan, diproses, atau dikirimkan oleh VSCEIP, lihat Pernyataan Privasi Microsoft.

Log yang dihasilkan sistem yang dikumpulkan oleh Visual Studio

Visual Studio mengumpulkan log yang dihasilkan sistem untuk memperbaiki masalah dan meningkatkan kualitas produk. Berikut adalah beberapa informasi tentang jenis data yang kami kumpulkan dan cara kami menggunakannya. Ini juga memberikan tips tentang bagaimana penulis ekstensi dapat menghindari pengungkapan informasi pribadi atau sensitif yang tidak disengaja.

Jenis data yang dikumpulkan

Visual Studio mengumpulkan log yang dihasilkan sistem untuk crash, tidak responsif UI, dan penggunaan CPU atau memori yang tinggi. Kami juga mengumpulkan informasi tentang kesalahan yang ditemui selama penginstalan atau penggunaan produk. Data yang dikumpulkan bervariasi berdasarkan kesalahan, dan dapat mencakup jejak tumpukan, cadangan memori, dan informasi pengecualian:

  • Untuk penggunaan CPU yang tinggi dan tidak responsif, jejak tumpukan utas Visual Studio yang relevan dikumpulkan.

  • Untuk kasus di mana jejak tumpukan beberapa utas tidak cukup untuk menentukan akar penyebab masalah, misalnya, crash, tidak responsif atau penggunaan memori tinggi, kami mengumpulkan cadangan memori. Cadangan mewakili status proses ketika kesalahan terjadi.

  • Untuk kondisi kesalahan tak terduga, misalnya, pengecualian saat mencoba menulis ke file di disk, kami mengumpulkan informasi tentang pengecualian. Informasi tersebut mencakup nama pengecualian, jejak tumpukan utas tempat pengecualian terjadi, pesan yang terkait dengan pengecualian, dan informasi lain yang relevan dengan pengecualian tertentu.

    Contoh data yang dikumpulkan berikut menunjukkan nama pengecualian, jejak tumpukan, dan pesan pengecualian:

    "Reserved.DataModel.Fault.Exception.TypeString": "System.IO.IOException",
    "Reserved.DataModel.Fault.Exception.StackTrace": "System.IO.__Error.WinIOError(Int32,String)\r\n
    System.IO.FileStream.Init(String,FileMode,FileAccess,Int32,Boolean,FileShare,Int32,FileOptions,SECURITY_ATTRIBUTES,String,Boolean,Boolean,Boolean)\r\n
    System.IO.FileStream..ctor(String,FileMode,FileAccess,FileShare,Int32,FileOptions,String,Boolean,Boolean,Boolean)\r\nSystem.IO.StreamWriter.CreateFile(String,Boolean,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean,Encoding,Int32,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean)\r\n
    System.IO.File.CreateText(String)\r\n
    Microsoft.VisualStudio.Setup.Services.FileSystem.CreateText(String,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.WriteChannelManifest(IChannelManifest,String,String)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.CacheManager.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.ChannelManager.\<UpdateAsync>d__37.MoveNext()\r\n”,
    "Reserved.DataModel.Fault.Exception.Message": " The process cannot access the file 'C:\\Users\\[UserName]\\AppData\\Local\\Microsoft\\VisualStudio\\Packages\\_Channels\\4CB340F5\\channelManifest.json' because it is being used by another process."
    

Cara kami menggunakan log yang dihasilkan sistem

Alur kerja untuk menentukan akar penyebab kesalahan bervariasi tergantung pada jenis kesalahan dan tingkat keparahannya.

Klasifikasi kesalahan

Berdasarkan log, kesalahan diklasifikasikan dan dihitung untuk memprioritaskan penyelidikan mereka. Misalnya, kami mungkin menemukan bahwa "System.IO.__Error.WinIOError" di "System.IO.FileStream.Init" telah terjadi 500 kali dalam versi <x> produk, dan memiliki tingkat kemunculan tertinggi dalam versi tersebut.

Item kerja untuk pelacakan

Item kerja untuk kesalahan individual yang diprioritaskan dibuat dan ditetapkan kepada teknisi untuk penyelidikan. Item kerja ini biasanya berisi informasi klasifikasi, prioritas, dan diagnostik yang relevan dengan jenis kesalahan. Informasi ini berasal dari log yang dihasilkan sistem yang dikumpulkan untuk kesalahan tersebut. Misalnya, item kerja untuk crash mungkin berisi jejak tumpukan tempat crash terjadi.

Investigasi kesalahan

Teknisi menggunakan informasi yang tersedia dalam item kerja untuk menentukan akar penyebab kesalahan. Dalam beberapa kasus, mereka membutuhkan lebih banyak informasi daripada apa yang ada dalam item kerja, dalam hal ini mereka merujuk ke log asli yang dihasilkan sistem yang dikumpulkan. Misalnya, teknisi mungkin memeriksa cadangan memori untuk memahami crash produk.

Tips untuk penulis ekstensi

Penulis ekstensi harus membatasi paparan informasi pribadi dengan tidak menggunakan informasi pribadi atau sensitif lainnya dalam nama modul, jenis, dan metodenya. Jika crash atau kondisi kesalahan serupa terjadi dengan kode tersebut pada tumpukan, informasi tersebut dikumpulkan sebagai bagian dari log yang dihasilkan sistem.