Add telemetry tracking for Data-Tier Application operations #20355
+2,365
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements telemetry tracking for DACPAC/BACPAC operations (Deploy, Extract, Import, Export) to enable monitoring of operation success rates, durations, and failure patterns.
Changes
Telemetry enums (
src/sharedInterfaces/telemetry.ts)DataTierApplicationviewDeployDacpac,ExtractDacpac,ImportBacpac,ExportBacpacOperation tracking (
src/controllers/dataTierApplicationWebviewController.ts)startActivity()telemetryisNewDatabasefor Deploy,hasApplicationNamefor Extract)Test utilities (
test/unit/utils.ts)stubTelemetry()to stubstartActivitywith mock activity objectExample
Telemetry data includes operation timing, database context, and detailed error information for debugging production issues.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
update.code.visualstudio.com/usr/local/bin/node ./out/test/unit/runTest.js --grep DataTierApplicationWebviewController(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
implement this.
[Chronological Review: The conversation began with user requests for changes and improvements to the data-tier application in the vscode-mssql repository. The user expressed concerns about validation errors, connection handling, and user experience issues. The conversation progressed through various requests for refactoring, error handling, and telemetry implementation, with the user providing specific feedback on functionality and expected behavior.][Intent Mapping:
[Technical Inventory:
[Code Archaeology:
[Progress Assessment:
[Context Validation: All critical information for continuation is captured, including user requests for functionality, refactoring, and telemetry.]
[Recent Commands Analysis:
1. Conversation Overview: - Primary Objectives: User requested various improvements to the data-tier application, including simplifying operations, enhancing error handling, and implementing telemetry. - Session Context: The conversation flowed from initial requests for changes to detailed discussions about functionality, user experience, and code structure. - User Intent Evolution: The user’s needs evolved from general improvements to specific requests for refactoring and telemetry implementation.- Technical Foundation:
- TypeScript: Used for application development.
- React: Framework for building the UI components.
- VS Code API: Utilized for integrating with the VS Code environment.
- Codebase Status:
- dataTierApplicationForm.tsx:
- Purpose: Handles the UI for data-tier operations.
- Current State: Edits made to improve validation and user experience.
- Key Code Segments: Functions for handling form submissions and validation.
- dacFxService.ts:
- Purpose: Manages DAC operations.
- Current State: Needs review for connection handling logic.
- dataTierApplicationWebviewController.ts:
- Purpose: Controls the logic for the webview.
- Current State: R...
Created from VS Code via the GitHub Pull Request extension.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.