-
Notifications
You must be signed in to change notification settings - Fork 252
Package Sources Diagnostics
Status: Incubating
The work for this feature and the discussion around the spec is tracked here - Add ability to ignore failed sources in VS #5643
Customers often complain of performance issues with retrieving packages in search, installing and updating packages. Often when we analyze these individual issues, we find that in a large percentage of cases the issues users are seeing are due to the following. Package Sources here refer to:- File shares, NuGet.Server's, 3rd party repositories and NuGet.org.
- NuGet package sources response times are slow
- Nuget package sources are behind a corporate firewall
- User is offline
- The backing file shares of NuGet.org are either not optimized or very large.
We want to proactively inform the users of these issues, so they can take corrective action and/or give them an option to temporarily disable certain sources for a period of time of the session.
Any customer who has a slow network, works offline and online, has NuGet.Server installations and have package sources behind corporate firewalls.
TBD
- Update: Checking for updates. Fetching and installing packages.
- Package restore
- Browse/Search; Search in package manager UI and list in PMC
- Install
- Detailed metadata fetch (Click on package)
- PowerShell autocomplete
- Consolidate
- Server is not accessible: Server is not available or server can't be reached. ** Consider the case when searching in all sources finds the package in one source and not in a disabled source, the customer expects that package assuming it has no dependencies to install fine **
- Server is slow: Package has a large number of versions (1000+ CI feeds). Server implementation is not optimal for large version set
- FileShare is not efficient
- vNext (Requires proxy rules): Semantic understanding of what packages are being downloaded per source
- Duplicate URLs and equivalent URLs
- Server URL points to an invalid server - the endpoint is not a server
- when a misbheaving source is an intermittent issue that resolves itself
- VS
- PMC
- NuGet.xplat
- Nuget.exe
- User opens Visual Studio
- User open package manager UI
- Sees an update and hits install
- We detected 1-N issues
- We bring up a UI that shows what the issues are
- This UI will have single disable for duration command, disable for all time command
- On clicking this package manager enters into temp disable mode, we show some indicator that you are this in this mode.
- You can either get out of the temp disable mode by using some command in VS or restart VS
- If the user clicks permanently disable, then there is no highlight forever and goes through normal flow.
Check out the proposals in the accepted
& proposed
folders on the repository, and active PRs for proposals being discussed today.