Add telemetry for manager registration failures#1365
Merged
StellaHuang95 merged 9 commits intomicrosoft:mainfrom Mar 18, 2026
Merged
Add telemetry for manager registration failures#1365StellaHuang95 merged 9 commits intomicrosoft:mainfrom
StellaHuang95 merged 9 commits intomicrosoft:mainfrom
Conversation
eleanorjboyd
approved these changes
Mar 18, 2026
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.
Adds telemetry to diagnose why environments sometimes fail to appear for users. Currently we do not know what went wrong or what's missing.
New telemetry events
MANAGER_REGISTRATION.FAILED— Fires when a manager throws an unexpected error during registration. Tells us which managers fail and the classified error type.MANAGER_REGISTRATION.SKIPPED— Fires when a manager's tool (conda/pyenv/pipenv/poetry) wasn't found on the system. Tells us which managers are commonly unavailable, helping us understand user environments. WithoutSKIPPED, we'd only see that a manager didn't register. We couldn't tell whether that's because the user doesn't use conda (fine, nothing to fix) or because conda is installed but our code crashed trying to register it (bug).SETUP.HANG_DETECTED— Fires when the entire setup block hasn't completed within 120s. Tells us which stage was in progress when the hang occurred (nativeFinder, managerRegistration, envSelection, etc.).Enhanced existing event
EXTENSION_MANAGER_REGISTRATION_DURATIONnow includesresult(success/error),failureStage, anderrorType— previously it only reported duration.Non-telemetry changes
getConda) from the registration path, soSKIPPEDvsFAILEDtelemetry is accurate. Post-getConda errors still callnotifyMissingManagerIfDefaultand re-throw forsafeRegisterto handle.safeRegisterin asyncUtils.ts: Now sendsMANAGER_REGISTRATION.FAILEDtelemetry when a manager's promise rejects, so failures are captured even when individual managers don't add their own telemetry.