[PR #4534] [MERGED] Gather data on profile customization and tab settings to help us improve defaults #25812

Open
opened 2026-01-31 09:11:57 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/4534
Author: @miniksa
Created: 2/11/2020
Status: Merged
Merged: 2/12/2020
Merged by: @undefined

Base: masterHead: dev/miniksa/data


📝 Commits (10+)

  • a20a6b7 2a, 2b implemented.
  • d1fe573 1a, 1b and fix the case on 2a/2b.
  • 9ba4870 1a,1b only send if we pass validatino at the bottom.
  • f63fe57 Fix an issue with matching the default guids. Collect the name of the running client app inside the conpty connection.
  • c80392b Sanitize the keybindings by running them through the AppKeyBindings serializer so they discard comments and whatnot.
  • 9cc988e Merge branch 'master' into dev/miniksa/data
  • fffe5bf suppress static analysis warnings on macro we don't control.
  • 5312547 Remove second include of dep directory in TerminalAppLib. It accidentally removes the true telemetry IDs in release builds because src\inc has to come before it for the release build to override it.
  • ea07b01 Rip this event per @DHowett-MSFT because we've made changes such that it always fires.
  • da051de Disable processing for some of the measures if no one is listening.

📊 Changes

7 files changed (+76 additions, -16 deletions)

View changed files

📝 src/cascadia/TerminalApp/AppKeyBindingsSerialization.cpp (+1 -1)
📝 src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp (+56 -0)
📝 src/cascadia/TerminalApp/TerminalPage.cpp (+4 -0)
📝 src/cascadia/TerminalApp/lib/TerminalAppLib.vcxproj (+1 -1)
📝 src/cascadia/TerminalConnection/ConptyConnection.cpp (+13 -0)
📝 src/cascadia/TerminalConnection/ConptyConnection.h (+1 -0)
📝 src/cascadia/TerminalControl/TermControl.cpp (+0 -14)

📄 Description

Summary of the Pull Request

This will collect some user choices related to profiles and tab settings to help us understand if and how we should change the in-built defaults.

PR Checklist

Detailed Description of the Pull Request / Additional comments

The following data is collected with examples of the types of questions we intend to answer:

  1. What is the name of the executable attached to the PTY? (What shells are popular? Should we focus our testing on them? Are there any common ones we are blind to that we should know about?)
  • "Microsoft.Windows.Terminal.Connection" {e912fe7b-eeb6-52a5-c628-abe388e5f792}
  • "ConPtyConnected" event
  • "SessionGuid" value = WT_SESSION
  • "Client" value = Name of EXE
  1. Is Acrylic used on a tab? And with what opacity? (Do people really want acrylic? Should it be default? What opacity is most pleasing in our context?)
  • "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed}
  • "TabInformation" event
  • "EventVer" value is now 1u
  • "UseAcrylic" value is now TRUE/FALSE on the setting choice
  • "TintOpacity" value is now Float on the setting choice
  1. What font are people choosing? (Do people move away from Cascadia Code? Which ones are the most popular for us to validate when updating the renderer?)
  • "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed}
  • "TabInformation" event
  • "FontFace" value is now string font from settings
  1. What keybindings do people choose to customize (Add or Remove)? (Are there extremely common keys that folks bind or unbind that we should have adjusted by default in a fresh install?)
  • "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed}
  • "CustomKeybindings" event
  • "Keybindings" value is the entire JSON segment that describes the user keybindings from settings.json.
  1. Do people change their default profile from the PowerShell one we set? If so, to what? (Should we not set PowerShell as the default? Should we adjust the ranking of our dynamic generators to favor the most popular ones to bubble to the top?)
  • "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed}
  • "CustomDefaultProfile" event
  • "DefaultProfile" value is the GUID of the chosen profile

Validation Steps Performed

  1. Implemented the events
  2. Launched the ETL channel viewer
  3. Triggered the events
  4. Saw the data come out

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/4534 **Author:** [@miniksa](https://github.com/miniksa) **Created:** 2/11/2020 **Status:** ✅ Merged **Merged:** 2/12/2020 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `dev/miniksa/data` --- ### 📝 Commits (10+) - [`a20a6b7`](https://github.com/microsoft/terminal/commit/a20a6b78bc1a84890f6b90d21d23ed6165b9749e) 2a, 2b implemented. - [`d1fe573`](https://github.com/microsoft/terminal/commit/d1fe5735de689d5397779143f11af218f59b2e56) 1a, 1b and fix the case on 2a/2b. - [`9ba4870`](https://github.com/microsoft/terminal/commit/9ba4870dc32c531215ccde3187c536310ccdfbce) 1a,1b only send if we pass validatino at the bottom. - [`f63fe57`](https://github.com/microsoft/terminal/commit/f63fe57e869dd932888007d63207cb7fd59a8d7c) Fix an issue with matching the default guids. Collect the name of the running client app inside the conpty connection. - [`c80392b`](https://github.com/microsoft/terminal/commit/c80392b9cad1d7818e7debb7f8207fdf14be2157) Sanitize the keybindings by running them through the AppKeyBindings serializer so they discard comments and whatnot. - [`9cc988e`](https://github.com/microsoft/terminal/commit/9cc988e9bcc3d4a2eb74e3e6a49f0c65bfeaecc1) Merge branch 'master' into dev/miniksa/data - [`fffe5bf`](https://github.com/microsoft/terminal/commit/fffe5bfd69168d3a722d4737d04e1edc5ebc84a7) suppress static analysis warnings on macro we don't control. - [`5312547`](https://github.com/microsoft/terminal/commit/53125471736e93cb8e97999e14fd56b8664a7362) Remove second include of dep directory in TerminalAppLib. It accidentally removes the true telemetry IDs in release builds because src\inc has to come before it for the release build to override it. - [`ea07b01`](https://github.com/microsoft/terminal/commit/ea07b01924bbbc646bd3cc74e7a5a5789a9b33bb) Rip this event per @DHowett-MSFT because we've made changes such that it always fires. - [`da051de`](https://github.com/microsoft/terminal/commit/da051dec40c7236cfdb8b4d44b5d3093ffd51c1e) Disable processing for some of the measures if no one is listening. ### 📊 Changes **7 files changed** (+76 additions, -16 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalApp/AppKeyBindingsSerialization.cpp` (+1 -1) 📝 `src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp` (+56 -0) 📝 `src/cascadia/TerminalApp/TerminalPage.cpp` (+4 -0) 📝 `src/cascadia/TerminalApp/lib/TerminalAppLib.vcxproj` (+1 -1) 📝 `src/cascadia/TerminalConnection/ConptyConnection.cpp` (+13 -0) 📝 `src/cascadia/TerminalConnection/ConptyConnection.h` (+1 -0) 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+0 -14) </details> ### 📄 Description ## Summary of the Pull Request This will collect some user choices related to profiles and tab settings to help us understand if and how we should change the in-built defaults. ## PR Checklist * [x] Closes #3855 * [x] I work here. * [x] Manual test only. * [x] Meh, no doc update. * [x] Am core contributor. ## Detailed Description of the Pull Request / Additional comments The following data is collected with examples of the types of questions we intend to answer: 1. What is the name of the executable attached to the PTY? (What shells are popular? Should we focus our testing on them? Are there any common ones we are blind to that we should know about?) - "Microsoft.Windows.Terminal.Connection" {e912fe7b-eeb6-52a5-c628-abe388e5f792} - "ConPtyConnected" event - "SessionGuid" value = WT_SESSION - "Client" value = Name of EXE 2. Is Acrylic used on a tab? And with what opacity? (Do people really want acrylic? Should it be default? What opacity is most pleasing in our context?) - "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed} - "TabInformation" event - "EventVer" value is now 1u - "UseAcrylic" value is now TRUE/FALSE on the setting choice - "TintOpacity" value is now Float on the setting choice 3. What font are people choosing? (Do people move away from Cascadia Code? Which ones are the most popular for us to validate when updating the renderer?) - "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed} - "TabInformation" event - "FontFace" value is now string font from settings 4. What keybindings do people choose to customize (Add or Remove)? (Are there extremely common keys that folks bind or unbind that we should have adjusted by default in a fresh install?) - "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed} - "CustomKeybindings" event - "Keybindings" value is the entire JSON segment that describes the user keybindings from `settings.json`. 5. Do people change their default profile from the PowerShell one we set? If so, to what? (Should we not set PowerShell as the default? Should we adjust the ranking of our dynamic generators to favor the most popular ones to bubble to the top?) - "Microsoft.Windows.Terminal.App" {24a1622f-7da7-5c77-3303-d850bd1ab2ed} - "CustomDefaultProfile" event - "DefaultProfile" value is the GUID of the chosen profile ## Validation Steps Performed 1. Implemented the events 2. Launched the ETL channel viewer 3. Triggered the events 4. Saw the data come out --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:11:57 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25812