Skip to content

Conversation

@baronfel
Copy link
Member

@baronfel baronfel commented Feb 1, 2023

As part of reviewing #30239, I realized that we could answer some questions about the way devs use PublishProfiles from the CLI if we collected a little more telemetry - specifically the name of the profile that was imported (hashed of course), and if a Profile was imported at all. This would allow us to securely get usage rates for SDK-bundled profiles, as well as get data on how often users specify a Profile but there's not a matching profile (i.e. typos or deleted files, that kind of thing).

The Name of the profile would require hashing to comply with out privacy guidelines, since it could contain sensitive user data. The current AllowEmptyTelemetry implementation didn't really allow for specifying if a piece of data needed to be hashed or not, so we needed a new implementation that would allow for this.

The Task now takes in ITaskITems and reads metadata to determine how each one should be handled - Include is the key, Value is the value, and Hash is a boolean that says if the Value should be hashed in our standard way.

Tests were updated to ensure that we didn't regress behavior, I added a new one showing the hashing, and I updated existing callsites as part of this.

@marcpopMSFT marcpopMSFT merged commit 20f3827 into dotnet:release/7.0.3xx Feb 15, 2023
baronfel added a commit to dotnet/runtime that referenced this pull request Mar 1, 2023
…he SDK

In dotnet/sdk#30269 the API of the AllowEmptyTelemetry task changed to allow for more granular hashing of the collected telemetry properties. This change was against a servicing branch and flowed into SDK main. Sometime after that change, these targets moved from SDK to Runtime, and so the change was lost.

This re-applies the change to Runtime main to address breaks seen in source-build.
@baronfel baronfel deleted the refactor-allowemptytelemetry-to-allow-hashing branch March 1, 2023 00:10
@baronfel baronfel restored the refactor-allowemptytelemetry-to-allow-hashing branch March 1, 2023 00:10
@baronfel baronfel deleted the refactor-allowemptytelemetry-to-allow-hashing branch March 1, 2023 00:10
@baronfel baronfel restored the refactor-allowemptytelemetry-to-allow-hashing branch March 1, 2023 00:10
github-actions bot pushed a commit to dotnet/runtime that referenced this pull request Mar 1, 2023
…he SDK

In dotnet/sdk#30269 the API of the AllowEmptyTelemetry task changed to allow for more granular hashing of the collected telemetry properties. This change was against a servicing branch and flowed into SDK main. Sometime after that change, these targets moved from SDK to Runtime, and so the change was lost.

This re-applies the change to Runtime main to address breaks seen in source-build.
carlossanlop pushed a commit to dotnet/runtime that referenced this pull request Mar 11, 2023
…he SDK (#82805)

In dotnet/sdk#30269 the API of the AllowEmptyTelemetry task changed to allow for more granular hashing of the collected telemetry properties. This change was against a servicing branch and flowed into SDK main. Sometime after that change, these targets moved from SDK to Runtime, and so the change was lost.

This re-applies the change to Runtime main to address breaks seen in source-build.

Co-authored-by: Chet Husk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants