Repository navigation
Separate cloud sandbox provisioning, resume, and recovery telemetry - #340141
Open
Osvaldo Ortega (osortega) wants to merge 2 commits into
Open
Osvaldo Ortega (osortega) wants to merge 2 commits into
Osvaldo Ortega (osortega) wants to merge 2 commits into
Conversation
Track lifecycle readiness independently from credential preparation and connection setup, and distinguish new provisioning, existing-environment resumes, automatic recovery, and user-local attachments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The telemetry changes preserve connection behavior, align with documented measurement boundaries, and include focused lifecycle regression coverage.
Review effort: Balanced
Findings: None
What changed in this PR
Separates VS Code cloud sandbox telemetry by provisioning, resume, recovery, and user-local attachment without changing connection behavior or retry policy.
Changes:
- Adds end-to-end readiness timing and exclusive preparation/connection durations.
- Reports API-phase provisioning outcomes separately and keeps creation timestamps local.
- Adds lifecycle regression coverage and documents measurement boundaries.
| File | Description |
|---|---|
src/vs/workbench/contrib/chat/test/browser/remoteAgentHost/cloudSandboxTelemetry.test.ts |
Tests timing partitions and workflow classification. |
src/vs/workbench/contrib/chat/test/browser/remoteAgentHost/cloudSandboxApiService.test.ts |
Tests provisioning success, failure, and cancellation telemetry. |
src/vs/workbench/contrib/chat/test/browser/remoteAgentHost/cloudSandboxAgentHostService.test.ts |
Tests timing handoff, recovery, and independent dials. |
src/vs/workbench/contrib/chat/browser/remoteAgentHost/cloudSandboxTelemetry.ts |
Implements workflow classification and timing measurements. |
src/vs/workbench/contrib/chat/browser/remoteAgentHost/cloudSandboxApiService.ts |
Reports API-phase provisioning outcomes. |
src/vs/workbench/contrib/chat/browser/remoteAgentHost/cloudSandboxAgentHostService.ts |
Passes telemetry context and resets provenance for later dials. |
src/vs/sessions/contrib/providers/remoteAgentHost/test/browser/cloudSandboxAgentHostContribution.test.ts |
Tests creation timestamp forwarding only on initial connection. |
src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.ts |
Captures and forwards the task-creation start time. |
src/vs/platform/agentHost/OTEL.md |
Documents timing boundaries and scorecard comparisons. |
src/vs/platform/agentHost/common/cloudSandboxAgentHost.ts |
Adds an optional local provisioning timestamp. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Osvaldo Ortega (osortega)
marked this pull request as ready for review
October 6, 2026 20:50
Osvaldo Ortega (osortega)
enabled auto-merge (squash)
October 6, 2026 20:50
roblourens
approved these changes
Oct 6, 2026
Contributor
|
Base:
|
roblourens
previously approved these changes
Oct 7, 2026
Bhavya U (bhavyaus)
previously approved these changes
Oct 7, 2026
Resolve #340141 conflicts while preserving lifecycle timing and cloud versus user-local telemetry attribution. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Osvaldo Ortega (osortega)
dismissed stale reviews from Bhavya U (bhavyaus) and roblourens
via
October 7, 2026 05:08
3859f56
Osvaldo Ortega (osortega)
enabled auto-merge (squash)
October 7, 2026 05:10
Bhavya U (bhavyaus)
approved these changes
Oct 7, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Distinguish provisioning a new cloud sandbox, reopening an existing environment, automatic connection recovery, and user-local host attachment without changing connection behavior or retry policy.
environmentOperationand end-to-endreadinessMstocloudSandboxConnectionOutcome. Successful provisioning and resume samples both end at authenticated AHP readiness, so protocol waits after credential issuance remain included in the appropriate workflow.provisioningMsfrom task creation through connection start, and partition the existing connection duration into exclusivepreparationMsandconnectionMs. When the start time is known,readinessMs = provisioningMs + preparationMs + connectionMs.cloudSandboxProvisioningOutcomefor API-phase creation success, failure, or cancellation, including failures before connection tracking starts.resumedescribes opening an existing environment, including already-warm environments; it does not establish a cold VM resume. Pure server startup timing still requires a server-reported signal. Compare successfulreadinessMssamples byenvironmentOperation, rather than comparing API-only provisioning duration with full resume latency.Only the ten source, test, and telemetry documentation diffs are included. No log files or session artifacts are included.
How to test
Validation completed for these changes before moving the branch onto the latest
main(five non-overlapping upstream commits):npm run build-fast -- --client-onlyNODE_OPTIONS=--max-old-space-size=8192 npm run typecheck-clientnode test/unit/browser/index.js --browser chromium \ --run src/vs/sessions/contrib/providers/remoteAgentHost/test/browser/cloudSandboxAgentHostContribution.test.ts \ --grep 'CloudSandboxAgentHostContribution provisioning' \ --reporter dotgit diff --checkCoverage includes long protocol waits, successful/failed/cancelled outcomes, credential retry backoff, missing provisioning metadata, user-local attachments, subsequent recovery/redial, and the task-creation timestamp handoff.
Runner limitation: the combined Chromium invocation stalled during loading, and Electron could not load the larger service/contribution test modules. The separate Chromium invocations above passed.