vscode-extension-telemetry

Node module to help VS Code extensions send telemetry using application insights

OTHER License

Downloads
83.3K
Stars
126
Committers
31

Bot releases are hidden (Show)

vscode-extension-telemetry - v0.9.7 Latest Release

Published by joaomoreno 3 months ago

Changes:

  • #213: Bump version + packages
  • #211: Update readme + support connection string
  • #210: Send user id in extension paylod
  • #207: Bump braces from 3.0.2 to 3.0.3
  • #206: Update packages
  • #204: Rollback packages

This list of changes was auto generated.

vscode-extension-telemetry - Align measurements with properties

Published by lramos15 7 months ago

  • Allows measurements to also be undefined for easy omitting, similar to how properties work
vscode-extension-telemetry - Improved user agent

Published by lramos15 7 months ago

  • Improves on the user agent metric shown when navigator.userAgentData is unavailable. Thanks to @sezna
  • Fixes a bug with telemetry fetching using app insights on older version of node. Thanks to @devm33
vscode-extension-telemetry - Global Privacy Control compliance fixes

Published by lramos15 10 months ago

This release contains a small fix to the 1DS package used by Microsoft extensions in the web to ensure compliance with the California's Global Privacy Control. If you're not a Microsoft extension, then it is safe to disregard this release as it contains no new features or improvements for the third party flow.

vscode-extension-telemetry - Fix `unhandlederror` common props.

Published by lramos15 10 months ago

Thanks to a community contribution by @ilia-db the unhandlederror event handler has been properly fixed to include common properties.

vscode-extension-telemetry - Use app insights basics versus the complete app insights package to reduce bundle size

Published by lramos15 12 months ago

Application insights web basics comes with the ability to pass in a fetch pollyfill that allows it to be used for both Node and Web. This is similar to what we already do for first party extensions using the 1DS package.

While there is no breaking changes here, the replacement of a key dependency with what should be an equivalent alternative may have unknown edge cases that were not accounted for, therefore the version has been bumped to reflect this.

Bundlephobia reports a 67Kb decline in bundle size with this change.

vscode-extension-telemetry - Improve shutdown performance

Published by lramos15 about 1 year ago

vscode-extension-telemetry - Fix data loss on connection loss

Published by lramos15 about 1 year ago

  • Fixes a bug where if the user's connection were to drop during a session, telemetry would no longer send for the rest of that session
  • Fixes a bug with sendRawTelemetryEvent sending key: key pairs instead of key: value pairs
vscode-extension-telemetry - Fix missing `sendRawTelemetryEvent` function + Dependency updates

Published by lramos15 about 1 year ago

  • Fixes the sendRawTelemetryEvent function which was missing in the implementation, but defined in the .d.ts
  • Updates word-wrap and semver to address Dependabot security violations
vscode-extension-telemetry - Better teardown + error handling

Published by lramos15 over 1 year ago

This release only contains bug fixes

vscode-extension-telemetry - Better align telemetry reporters across desktop and web

Published by lramos15 over 1 year ago

Note: This release contains a breaking change to the typings.
The ability to log a raw Error object has been removed. You will now have to use sendTelemetryErrorEvent and break the error stack down into the properties you want due to the web app insights and 1DS library both not supporting this. We want the module to abstract the details away and offer a uniform experience across all platforms.

Also fixes a bug surrounding not logging events properly on shutdown.

vscode-extension-telemetry - Utilize the new telemetry API

Published by lramos15 over 1 year ago

Note: This breaks the .d.ts file in that it removes some extension specific information from the constructor in favor of just supplying the key.

This module will now directly consume the VS Code telemetry API announced with the release of 1.75.0. This API should vastly improve the telemetry experience.

New Features

  • Automatic error handling logged to your sendTelemetryException function.
  • A shared Extension Telemetry output channel that allows you to see and debug the flow of telemetry in product when log level is set to trace
  • PII cleaning which is automatically updated with the version of VS Code
  • Support for the new Error telemetry level rather than a simple on off switch.
vscode-extension-telemetry - Skip bundling new 1DS SDK

Published by lramos15 over 2 years ago

Stops bundling the 1DS SDK due to issues with webpack. The hopes is to eventually stop bundling app insights as well as the weird bundling structure of mixing esbuild and webpack can cause issues for extensions.

vscode-extension-telemetry - 1st Party 1DS SDK + Moving off old endpoint

Published by lramos15 over 2 years ago

Note: This release only addresses issues affecting 1st party extensions

  • Adds support for 1DS SDK and Common Schema 4.0 with the deprecation of Common Schema 2.0
  • Switches 1st party endpoints from vortex to collector++ (this allows for backwards compatibility of CS 2.0 so old extensions can still work)
vscode-extension-telemetry - Remove errorProps parameter

Published by lramos15 over 2 years ago

Note: This release breaks the .d.ts by removing errorProps as a parameter option from sendTelemetryErrorEvent.

ErrorProps used to be used for certain environments that required special compliance. This parameter only affected first party extensions and led to a lot of confusion surrounding when errorProps applied. To help unify the first and third party experience the errorProps parameter has been removed.

vscode-extension-telemetry - Fix missing `extensionID` in telemetry error event

Published by lramos15 over 2 years ago

  • Fixes missing extensionID prefix when using any of the sendTelemetryErrorEvent functions
  • Some community contributed README polish
vscode-extension-telemetry - Allow telemetry module to work in extension testing environments

Published by lramos15 over 2 years ago

Currently VS Code disables telemetry when developing an extension or running extension tests. In some cases one might want to send telemetry in these cases.

This releases adds a set of sendDangerous* functions which will send telemetry without checking the user setting. As described in the name these functions are dangerous and should only be used in controlled environments such as extension tests or during development.

vscode-extension-telemetry - Support for custom regex replacements

Published by lramos15 over 2 years ago

Thanks to @aeisenberg we now support a set of replacement options which can be used for custom redaction.
The reporter will now check every event for the set of regular expressions and replace them with the defined replacement strings. As with anything regex related this has the opportunity to cause significant performance degradation due to inefficient regular expressions.

This change is backwards compatible with previous versions, but does introduce a new optional parameter to the TelemetryReporter in the form of a ReplacementOption list. The new typings can be found in the bundled .d.ts file.

vscode-extension-telemetry - Minor error messaging changes

Published by lramos15 over 2 years ago

Added more verbose error messages to help track down cases where the module fails to initialize or events fail to send.

vscode-extension-telemetry - Better support for web errors

Published by lramos15 over 2 years ago

  • Previously errors were disabled on the web, but recent build changes within core VS Code and the extension have allowed us to now send error telemetry on the web. This release just serves to remove the safety guards previously preventing that.