diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index 37150016d94..2c01d130461 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -361,9 +361,14 @@ export class ExtensionGalleryService implements IExtensionGalleryService { parsedUrl.search = undefined; parsedUrl.query['redirect'] = 'true'; - return this.requestService.request(assign({}, options, { url: url.format(parsedUrl) })) + const cdnUrl = url.format(parsedUrl); + + return this.requestService.request(assign({}, options, { url: cdnUrl })) .then(context => context.res.statusCode === 200 ? context : TPromise.wrapError('expected 200')) - .then(null, () => this.requestService.request(options)); + .then(null, () => { + this.telemetryService.publicLog('galleryService:cdnFallback', { url: cdnUrl }); + return this.requestService.request(options); + }); } private getLastValidExtensionVersion(extension: IRawGalleryExtension, versions: IRawGalleryExtensionVersion[]): TPromise {