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

Support telemetry in vscode #5298

Open
RodgeFu opened this issue Dec 9, 2024 · 5 comments · May be fixed by #6123
Open

Support telemetry in vscode #5298

RodgeFu opened this issue Dec 9, 2024 · 5 comments · May be fixed by #6123
Assignees
Labels
1_0_E2E ide Issues for VS, VSCode, Monaco, etc.
Milestone

Comments

@RodgeFu
Copy link
Contributor

RodgeFu commented Dec 9, 2024

How to collect telemetry data:

  • Following vscode guidance and the vscode telemetry lib is used to send all telemetry data: @vscode/extension-telemetry

Where is telemetry data stored:

  • Telemetry data will be send to the shared devdiv telemetry store.

What telemetry data will be collected:

  • OperationTelemetry

    • eventName
      • "start-extension"
      • "create-project"
      • "install-global-compiler-cli",
      • "restart-server",
      • "generate-code",
      • "import-from-openapi3",
      • "server-path-changed",
    • activityId
    • startTime
    • endTime
    • result (success/fail/timeout/cancel)
    • lastStep
  • OperationDetailTelemetry

    • activityId
    • emitterName (with custom emitter masked)
    • emitterVersion
    • emitResult
    • compilerVersion
    • compilerLocation
    • error

    For each event, @vscode/extension-telemetry library will also collect some default properties. refer to https://www.npmjs.com/package/@vscode/extension-telemetry for details

@RodgeFu RodgeFu added the ide Issues for VS, VSCode, Monaco, etc. label Dec 9, 2024
@RodgeFu
Copy link
Contributor Author

RodgeFu commented Dec 30, 2024

vscode guidance: https://www.npmjs.com/package/@vscode/extension-telemetry
it's recommended to use https://www.npmjs.com/package/@vscode/extension-telemetry for collecting telemetry
it depends on app insight for the telemetry data which would cause some cost. Need to confirm on it.

@mario-guerra
Copy link
Member

Hi @RodgeFu where can I find more information about the shared devdiv telemetry store that we will be using to store this telemetry? And to be clear, are we leveraging existing telemetry collection using established VS Code pipelines are we building something new for this?

@RodgeFu
Copy link
Contributor Author

RodgeFu commented Mar 1, 2025

the data store is at: https://dataexplorer.azure.com/clusters/ddtelvscode/databases/VSCodeExt.
You can request permission to the store if needed at https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/9768/Accessing-DevDiv-Data
More about the dataplatfom: https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/10913/DataX-onboarded-products
(I think we are refer to "VS Code Extensions")
Some more detail I found in case it's helpful:
https://github.com/microsoft/vscode-azure-ext-sdk?tab=readme-ov-file#sending-telemetry
https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/3258/VS-Code-Telemetry

We are not building any new pipeline to collect data ourselves. We just using vscode telemetry library to send data with the key of the shared store and then the data will be available in the unclassified table of the shared store. After these data is available there, we will need to classify these data so that the store will be able to move them to classified table where we can do kusto query as needed. More detail about the classification can be found at: https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/226/Telemetry-Catalog-How-should-I-classify-my-telemetry-point-(GDPR-Classification)

@mario-guerra
Copy link
Member

Thanks @RodgeFu. Is there a way to disable or opt out of this telemetry? If so how is it done?

@RodgeFu
Copy link
Contributor Author

RodgeFu commented Mar 4, 2025

We are using the vscode telemetry library which would respect user's decision about whether to send telemetry data or not in vscode. Detail can be found at: https://www.npmjs.com/package/@vscode/extension-telemetry

@markcowl markcowl added this to the [2025] April milestone Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1_0_E2E ide Issues for VS, VSCode, Monaco, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants