Telemetry 확장 작성자 가이드
Visual Studio Code는 제품 및 서비스를 개선하는 데 도움이 되도록 사용량 데이터를 수집하여 Microsoft에 전송합니다. 자세한 내용은 개인정보처리방침 및 Telemetry 설명서를 참조하십시오.
이 항목에는 VS Code Telemetry 요구 사항 및 모범 사례를 준수하도록 확장 작성자를 위한 지침이 포함되어 있습니다.
참고: Microsoft에 사용량 데이터를 보내고 싶지 않은 경우
telemetry.telemetryLevel사용자 설정을off로 설정할 수 있습니다.
Telemetry 모듈
VS Code 팀은 VS Code 내에서 Telemetry를 일관되고 안전하게 수집할 수 있는 npm 모듈인 @vscode/extension-telemetry를 유지 관리합니다. 이 모듈은 Azure Monitor 및 Application Insights로 Telemetry를 보고하며 이전 버전의 VS Code에 대한 역방향 호환성을 보장합니다.
Azure Monitor를 설정하고 Application Insights 계측 키를 가져오려면 이 가이드를 따르십시오.
Telemetry 모듈 없이
Application Insights를 사용하지 않으려는 확장 작성자는 자체 사용자 지정 솔루션을 사용하여 Telemetry를 보낼 수 있습니다. 이 경우에도 isTelemetryEnabled 및 onDidChangeTelemetryEnabled API를 활용하여 사용자의 선택을 존중해야 합니다. 이렇게 하면 사용자는 Telemetry 설정을 제어할 중앙 집중식 장소를 갖게 됩니다.
사용자 지정 Telemetry 설정
확장은 VS Code Telemetry와 별개로 확장별 Telemetry에 대한 사용자 제어를 제공하고자 할 수 있습니다. 이 경우 특정 확장 설정을 도입하는 것이 좋습니다. 사용자 지정 Telemetry 설정은 telemetry 및 usesOnlineServices로 태그를 지정하는 것이 좋습니다. 이렇게 하면 사용자가 설정 UI에서 더 쉽게 쿼리할 수 있습니다. 사용자 지정 Telemetry 설정을 추가하는 것은 사용자의 결정을 존중하는 예외가 아니며 isTelemetryEnabled 및 onDidChangeTelemetryEnabled 플래그는 항상 존중되어야 합니다. isTelemetryEnabled가 false를 보고하는 경우 설정이 활성화되어 있더라도 Telemetry를 보내서는 안 됩니다.
telemetry.json
Telemetry는 많은 사용자에게 민감한 주제가 될 수 있으며 최대한 투명하게 공개하고자 합니다. 핵심 VS Code 제품 및 대부분의 첫 번째 파티 확장은 루트에 telemetry.json 파일을 포함합니다. 이를 통해 사용자는 --telemetry 플래그와 함께 VS Code CLI를 사용하여 VS Code에서 생성하는 모든 Telemetry의 덤프를 받을 수 있습니다. 확장 작성자는 루트에 telemetry.json 파일을 포함할 수 있으며 이 파일은 CLI 덤프에도 표시됩니다.
해야 할 일과 하지 말아야 할 일
✔️ 권장 사항
- Application Insights 사용이 적합하다면 @vscode/extension-telemetry npm 모듈을 사용하십시오.
- 그렇지 않으면
isTelemetryEnabled및onDidChangeTelemetryEnabledAPI를 존중하십시오. - 사용자 지정 Telemetry 설정이 있는 경우
telemetry및usesOnlineServices로 태그를 지정하십시오. - 최소한의 Telemetry만 수집하십시오.
- 수집하는 내용에 대해 사용자에게 최대한 투명하게 공개하십시오.
❌ 권장하지 않음
- 사용자 동의를 구하지 않는 사용자 지정 Telemetry 수집 솔루션을 도입하십시오.
- 개인 식별 정보(PII)를 수집하십시오.
- 필요 이상으로 Telemetry를 수집하십시오.
isTelemetryEnabled에 비해 잘못될 수 있으므로telemetry.telemetryLevel설정만 사용하십시오.