You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-Draft/RFC0016-Census-Telemetry.md
+11-36Lines changed: 11 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,48 +17,23 @@ Add basic census telemetry to PowerShell.
17
17
18
18
Downloads numbers do not tell us if we are successful in growing usage of PowerShell.
19
19
The platform (Windows, Linux, Mac) usage data helps to prioritize new feature work and investments.
20
-
Version checks in applications are common and also provide a way to inform the user if a newer version is available.
21
-
Send basic PowerShell and OS version information as part of version check request.
22
20
23
21
## Specification
24
22
25
-
On startup of PowerShell, the host does a check if a version check has happened that day, if so, we skip.
26
-
With interactive session, user is informed there is a newer version and how to update (e.g. apt-get, update-package)
27
-
A HTTP GET is performed to a well known https address (TBD) to obtain latest version information.
28
-
SSL cert is validated to avoid spoofing server.
23
+
On every startup of the PowerShell Console host, telemetry will be sent via [ApplicationInsights](https://azure.microsoft.com/en-us/services/application-insights/) to collect the following information:
24
+
- A SHA256 hash of System.Management.Automation.dll
ApplicationInsights provides a mechanism for sending a [`CustomEvent`](https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics) which is essentially three elements:
31
+
- The name of the event
32
+
- A dictionary of properties
33
+
- A dictionary of metrics
37
34
38
-
Note that `$psversiontable.osversion` is dependent on [#1635](https://github.com/PowerShell/PowerShell/issues/1635) getting addressed.
Telemetry is on by default with a means to opt-out.
58
-
Since this is not the only configuration we would expose for PowerShell, we should have a [general configuration RFC] (https://github.com/PowerShell/PowerShell-RFC/blob/master/1-Draft/RFC0015-PowerShell-StartupConfig.md) to solve that, but this RFC assumes standard .config file format.
59
-
60
-
The census telemetry (sending `User-Agent` information) would be a specific configuration setting: `SendUserAgent=$false`.
61
-
Disabling the version check request would be a different configuration setting: `PerformVersionCheck=$false`.
35
+
For PowerShell Core purposes we will send only the name of the event and a dictionary of properties consisting of the list shown in the the specification.
36
+
Initially, we will not provide any metrics, although we can easily do so at a later time.
0 commit comments