Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Telemetry for IntelliSense Levels #1117

Merged
merged 3 commits into from
Jul 6, 2016

Conversation

mjbvz
Copy link
Contributor

@mjbvz mjbvz commented Jun 30, 2016

Bug

We would like to understand what IntelliSense level users are on and when they change IntelliSense levels. This will help us identify adoption of the ES6 analyzer as well as any potential issues keeping people on the old analyzer. It also helps us plan the phase out of the old analyzer

Fix

Adds two telemetry points:

  • IntelliSenseLevelChanged - General, IntelliSense level has changed event. Sent when user changes the level through the options.
  • IntelliSenseActivatedForProject - Logged for each project when the project is first loaded or when the intellisense level is changed.

These events are both implemented using helper extension methods on NodejsPackage.Instance.TelemetryLogger. This unifies and hides the actual logging logic. I also updated LogProjectImported to use this style of logging.

Closes #1096

mjbvz added 2 commits June 29, 2016 17:38
Bug
We would like to understand what IntelliSense level users are on and when they change IntelliSense levels. This will help us identify adoption of the ES6 analyzer as well as any potential issues keeping people on the old analyzer. It also helps us plan the phase out of the old analyzer

Fix
Adds two telemetry points:

* IntelliSenseLevelChanged - General, IntelliSense level has changed event. Sent when user changes the level through the options.
* IntelliSenseActivatedForProject - Logged for each project when the project is first loaded or when the intellisense level is changed.

Closes microsoft#1096
@@ -20,5 +20,7 @@ namespace Microsoft.NodejsTools.Telemetry {
/// </summary>
internal static class TelemetryEvents {
public const string ProjectImported = "ProjectImported";
public const string IntelliSenseActivatedForProject = "IntelliSenseActivatedForProject";
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be AnalysisLevel instead? We seem to use IntelliSense level or IntelliSense mode in the UI and documentation, but analysis level in the code.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep AnalysisLevel would be better for consistency. For technical discussions, we typically make a distinction between "IntelliSense" - the VS-branded user experience - and the actual engine that's providing the code intelligence.

@mousetraps
Copy link
Contributor

Left a few comments and 👍 after that!

@mjbvz mjbvz merged commit fd1bf65 into microsoft:master Jul 6, 2016
@mjbvz mjbvz removed the in-progress label Jul 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants