Skip to content
This repository has been archived by the owner on Apr 20, 2023. It is now read-only.

Lakshanf/issue2066/telemetry #2145

Merged
merged 10 commits into from
Apr 6, 2016
Merged

Conversation

LakshanF
Copy link
Member

.NET Core Tools Telemetry collection

Overview

In RC2 of the command line tools, we've started collecting usage telemetry. We've made this choice in order to help us better understand the usage patterns of the CLI tools, and will thus allow us to see which parts of the CLI should be improved first

The data collected will not have any personal data, such as usernames or emails or anything that can be used to identify the actual user. We will also not scan the code and we will not extract any project-level data that can be considered sensitive, such as name, repo or author (if you set those in your project.json).

The data that we collect will be shown publicly in due time. Due time here means when we have enough data to show and when we figure out how to make it accessible.

Behavior

The telemetry tracking is "on" by default.

There is a way to opt-out of the telemetry gathering process by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT. Doing this will stop the collection process from running. In order to set the environment variable, please use the existing operating system mechanisms for this (e.g. export on OS X/Linux).

What do we collect?

We collect the following pieces of data:

  • The command being used (e.g. "build", "restore")
  • Arguments passed to the command
  • ExitCode of the command
  • For test projects, the test runner being used
  • Timestamp of invocation
  • Details about the project commands are invoked on
    • Framework used
    • If RIDs are present in the "runtimes" node
  • The CLI version being used

Questions, feedback, comments

If you have any questions, feedback or comment, please feel free to leave them either on our issues, in our Gitter channel. If you do file an issue for this, please be sure to tag @blackdwarf and @piotrMSFT so we would get notified.


This change is Reviewable

@dnfclas
Copy link

dnfclas commented Mar 30, 2016

Hi @LakshanF, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!

The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.

TTYL, DNFBOT;


public Telemetry()
{
if (_isInitialized)

This comment was marked as spam.

This comment was marked as spam.

@danquirk danquirk force-pushed the lakshanf/issue2066/telemetry branch from ffd1c87 to b5e1042 Compare April 5, 2016 00:33
@danquirk
Copy link
Collaborator

danquirk commented Apr 5, 2016

Did a force push after rebasing as requested. Letting the CI server do its thing now.

@@ -44,7 +43,7 @@ public static int Main(string[] args)

}

private static int ProcessArgs(string[] args)
internal int ProcessArgs(string[] args, ITelemetry telemetryClient)

This comment was marked as spam.

This comment was marked as spam.

@danquirk
Copy link
Collaborator

danquirk commented Apr 5, 2016

What's with the Ubuntu x64 Debug Build failure? The results don't make much sense to me.

@eerhardt
Copy link
Member

eerhardt commented Apr 5, 2016

@dotnet-bot test Ubuntu x64 Debug Build

@danquirk
Copy link
Collaborator

danquirk commented Apr 5, 2016

Different set of CI failures with the last push =\

@brthor
Copy link

brthor commented Apr 5, 2016

@danquirk This commit here should fix the failure you're seeing on windows:

068062f

cherry pick it?

@eerhardt
Copy link
Member

eerhardt commented Apr 5, 2016

@dotnet-bot test RHEL7.2 x64 Release Build
@dotnet-bot test Windows_NT x86 Debug Build

@eerhardt
Copy link
Member

eerhardt commented Apr 5, 2016

:shipit: When CI is green.

@eerhardt eerhardt mentioned this pull request Apr 5, 2016
@danquirk
Copy link
Collaborator

danquirk commented Apr 5, 2016

@brthor do I still need that? The Windows build didn't fail on my previous push. Looks like you guys are used to some flakiness? Just wanted to make sure we didn't introduce anything new.

@brthor
Copy link

brthor commented Apr 5, 2016

@danquirk You don't need it, but it will remove the flakiness. I'll make a separate PR if you don't pick it up here.

@danquirk
Copy link
Collaborator

danquirk commented Apr 6, 2016

Ok, I'm gonna wait to see what shakes out with release processes and whether I need to merge some of these PRs together. If I do that's probably a good time to cherry pick that. Otherwise I want to make sure this PR continues to look green for anyone looking to sign off.

@eerhardt
Copy link
Member

eerhardt commented Apr 6, 2016

@danquirk - I wouldn't mess around trying to merge them together. I would just merge all 3 PRs at the same time. Trying to cherry pick the changes into 1 PR is prone to errors. We have 3 separate PRs all green. Just go through each one and merge.

I've already signed off, but I will again. :shipit:

@danquirk
Copy link
Collaborator

danquirk commented Apr 6, 2016

Yes I definitely agree but it is not up to me :) Waiting to hear exactly how to proceed.

@eerhardt eerhardt merged commit 965547b into rel/1.0.0 Apr 6, 2016
@leecow leecow removed the in progress label Apr 6, 2016
@TheRealPiotrP TheRealPiotrP deleted the lakshanf/issue2066/telemetry branch April 6, 2016 17:46
@guardrex
Copy link

guardrex commented Apr 8, 2016

I don't like the automatic "opt in" policy for this data sharing. I think you should ask the user with a checkbox in the MSI installer in addition to honoring the env var.

With regard to setting the env var, I just want to make it clear to others who stumble on to this (and it should have been in the Annoncements btw) ... set the value of DOTNET_CLI_TELEMETRY_OPTOUT to any of true, 1, or yes in order to opt-out.

@guardrex
Copy link

guardrex commented Apr 8, 2016

... and I have to ask: Does this apply to servers where the shared framework is installed? The dotnet command will be run on servers, too.

@ghost
Copy link

ghost commented May 18, 2016

Very bad idea. This hidden "feature" will scare away users and developers. Must be disabled by default!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
9 participants