Beispiel #1
0
        public void Dispose()
        {
            _eventListener?.Dispose();
            _eventListener = null;

            GC.SuppressFinalize(this);
        }
Beispiel #2
0
        public ExtensibilityTelemetryCollector()
        {
            _eventListener = new ExtensibilityEventListener(this);
            _counts        = new Dictionary <string, Count>()
            {
                // INuGetProjectService
                [nameof(INuGetProjectService) + "." + nameof(INuGetProjectService.GetInstalledPackagesAsync)] = new Count(),

                // IVsFrameworkCompatibility
                [nameof(IVsFrameworkCompatibility) + "." + nameof(IVsFrameworkCompatibility.GetNetStandardFrameworks)]           = new Count(),
                [nameof(IVsFrameworkCompatibility) + "." + nameof(IVsFrameworkCompatibility.GetFrameworksSupportingNetStandard)] = new Count(),
                [nameof(IVsFrameworkCompatibility) + "." + nameof(IVsFrameworkCompatibility.GetNearest)] = new Count(),

                // IVsFrameworkCompatibility2
#pragma warning disable CS0618 // Type or member is obsolete
                [nameof(IVsFrameworkCompatibility2) + "." + nameof(IVsFrameworkCompatibility2.GetNearest)] = new Count(),
#pragma warning restore CS0618 // Type or member is obsolete

                // IVsFrameworkCompatibility2
                [nameof(IVsFrameworkCompatibility3) + "." + nameof(IVsFrameworkCompatibility3.GetNearest) + ".2"] = new Count(),
                [nameof(IVsFrameworkCompatibility3) + "." + nameof(IVsFrameworkCompatibility3.GetNearest) + ".3"] = new Count(),

                // IVsFrameworkParser
#pragma warning disable CS0618 // Type or member is obsolete
                [nameof(IVsFrameworkParser) + "." + nameof(IVsFrameworkParser.ParseFrameworkName)]    = new Count(),
                [nameof(IVsFrameworkParser) + "." + nameof(IVsFrameworkParser.GetShortFrameworkName)] = new Count(),
#pragma warning restore CS0618 // Type or member is obsolete

                // IVsFrameworkParser2
                [nameof(IVsFrameworkParser2) + "." + nameof(IVsFrameworkParser2.TryParse)] = new Count(),

                // IVsGlobalPackagesInitScriptExecutor
                [nameof(IVsGlobalPackagesInitScriptExecutor) + "." + nameof(IVsGlobalPackagesInitScriptExecutor.ExecuteInitScriptAsync)] = new Count(),

                // IVsPackageInstaller
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackage) + ".1"] = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackage) + ".2"] = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackage) + ".3"] = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackagesFromRegistryRepository) + ".1"]    = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackagesFromRegistryRepository) + ".2"]    = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackagesFromVSExtensionRepository) + ".1"] = new Count(),
                [nameof(IVsPackageInstaller) + "." + nameof(IVsPackageInstaller.InstallPackagesFromVSExtensionRepository) + ".2"] = new Count(),

                // IVsPackageInstaller2
                [nameof(IVsPackageInstaller2) + "." + nameof(IVsPackageInstaller2.InstallLatestPackage)] = new Count(),

                // IVsPackageInstallerEvents
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageInstalled)]        = new Count(),
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageInstalling)]       = new Count(),
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageReferenceAdded)]   = new Count(),
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageReferenceRemoved)] = new Count(),
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageUninstalled)]      = new Count(),
                [nameof(IVsPackageInstallerEvents) + "." + nameof(IVsPackageInstallerEvents.PackageUninstalling)]     = new Count(),

                // IVsPackageInstallerProjectEvents
                [nameof(IVsPackageInstallerProjectEvents) + "." + nameof(IVsPackageInstallerProjectEvents.BatchStart)] = new Count(),
                [nameof(IVsPackageInstallerProjectEvents) + "." + nameof(IVsPackageInstallerProjectEvents.BatchEnd)]   = new Count(),

                // IVsPackageInstallerServices
#pragma warning disable CS0618 // Type or member is obsolete
                [nameof(IVsPackageInstallerServices) + "." + nameof(IVsPackageInstallerServices.GetInstalledPackages)]        = new Count(),
                [nameof(IVsPackageInstallerServices) + "." + nameof(IVsPackageInstallerServices.GetInstalledPackages) + ".1"] = new Count(),
                [nameof(IVsPackageInstallerServices) + "." + nameof(IVsPackageInstallerServices.IsPackageInstalled) + ".2"]   = new Count(),
                [nameof(IVsPackageInstallerServices) + "." + nameof(IVsPackageInstallerServices.IsPackageInstalled) + ".3"]   = new Count(),
                [nameof(IVsPackageInstallerServices) + "." + nameof(IVsPackageInstallerServices.IsPackageInstalledEx)]        = new Count(),
#pragma warning restore CS0618 // Type or member is obsolete

                // IVsPackageMetadata
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.Authors)]     = new Count(),
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.Description)] = new Count(),
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.Id)]          = new Count(),
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.InstallPath)] = new Count(),
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.Title)]       = new Count(),
#pragma warning disable CS0618 // Type or member is obsolete
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.Version)] = new Count(),
#pragma warning restore CS0618 // Type or member is obsolete
                [nameof(IVsPackageMetadata) + "." + nameof(IVsPackageMetadata.VersionString)] = new Count(),

                // IVsPackageProjectMetadata
                [nameof(IVsPackageProjectMetadata) + "." + nameof(IVsPackageProjectMetadata.BatchId)]     = new Count(),
                [nameof(IVsPackageProjectMetadata) + "." + nameof(IVsPackageProjectMetadata.ProjectName)] = new Count(),

                // IVsPackageRestorer
                [nameof(IVsPackageRestorer) + "." + nameof(IVsPackageRestorer.IsUserConsentGranted)] = new Count(),
                [nameof(IVsPackageRestorer) + "." + nameof(IVsPackageRestorer.RestorePackages)]      = new Count(),

                // IVsPackageSourceProvider
                [nameof(IVsPackageSourceProvider) + "." + nameof(IVsPackageSourceProvider.GetSources)]     = new Count(),
                [nameof(IVsPackageSourceProvider) + "." + nameof(IVsPackageSourceProvider.SourcesChanged)] = new Count(),

                // IVsPackageUninstaller
                [nameof(IVsPackageUninstaller) + "." + nameof(IVsPackageUninstaller.UninstallPackage)] = new Count(),

                // IVsPathContext
                [nameof(IVsPathContext) + "." + nameof(IVsPathContext.UserPackageFolder)]      = new Count(),
                [nameof(IVsPathContext) + "." + nameof(IVsPathContext.FallbackPackageFolders)] = new Count(),
                [nameof(IVsPathContext) + "." + nameof(IVsPathContext.TryResolvePackageAsset)] = new Count(),

                // IVsPathContext2
                [nameof(IVsPathContext2) + "." + nameof(IVsPathContext2.SolutionPackageFolder)] = new Count(),

                // IVsPathContextProvider
                [nameof(IVsPathContextProvider) + "." + nameof(IVsPathContextProvider.TryCreateContext)] = new Count(),

                // IVsPathContextProvider2
                [nameof(IVsPathContextProvider2) + "." + nameof(IVsPathContextProvider2.TryCreateSolutionContext) + ".1"] = new Count(),
                [nameof(IVsPathContextProvider2) + "." + nameof(IVsPathContextProvider2.TryCreateSolutionContext) + ".2"] = new Count(),
                [nameof(IVsPathContextProvider2) + "." + nameof(IVsPathContextProvider2.TryCreateNoSolutionContext)]      = new Count(),

                // IVsProjectJsonToPackageReferenceMigrator
                [nameof(IVsProjectJsonToPackageReferenceMigrator) + "." + nameof(IVsProjectJsonToPackageReferenceMigrator.MigrateProjectJsonToPackageReferenceAsync)] = new Count(),

                // IVsSemanticVersionComparer
                [nameof(IVsSemanticVersionComparer) + "." + nameof(IVsSemanticVersionComparer.Compare)] = new Count(),

                // IVsSolutionRestoreService
                [nameof(IVsSolutionRestoreService) + "." + nameof(IVsSolutionRestoreService.CurrentRestoreOperation)] = new Count(),
                [nameof(IVsSolutionRestoreService) + "." + nameof(IVsSolutionRestoreService.NominateProjectAsync)]    = new Count(),

                // IVsSolutionRestoreService2
                [nameof(IVsSolutionRestoreService2) + "." + nameof(IVsSolutionRestoreService2.NominateProjectAsync)] = new Count(),

                // IVsSolutionRestoreService3
                [nameof(IVsSolutionRestoreService3) + "." + nameof(IVsSolutionRestoreService3.CurrentRestoreOperation)] = new Count(),
                [nameof(IVsSolutionRestoreService3) + "." + nameof(IVsSolutionRestoreService3.NominateProjectAsync)]    = new Count(),

                // IVsSolutionRestoreService4
                [nameof(IVsSolutionRestoreService4) + "." + nameof(IVsSolutionRestoreService4.RegisterRestoreInfoSourceAsync)] = new Count(),

                // IVsNuGetProjectUpdateEvents
                [nameof(IVsNuGetProjectUpdateEvents) + "." + nameof(IVsNuGetProjectUpdateEvents.SolutionRestoreStarted)]  = new Count(),
                [nameof(IVsNuGetProjectUpdateEvents) + "." + nameof(IVsNuGetProjectUpdateEvents.SolutionRestoreFinished)] = new Count(),
                [nameof(IVsNuGetProjectUpdateEvents) + "." + nameof(IVsNuGetProjectUpdateEvents.ProjectUpdateStarted)]    = new Count(),
                [nameof(IVsNuGetProjectUpdateEvents) + "." + nameof(IVsNuGetProjectUpdateEvents.ProjectUpdateFinished)]   = new Count(),
            };
        }