diff --git a/news/3 Code Health/8280.md b/news/3 Code Health/8280.md new file mode 100644 index 000000000000..3a6b6e771061 --- /dev/null +++ b/news/3 Code Health/8280.md @@ -0,0 +1 @@ +Remove code used to track perf of creation classes. diff --git a/src/client/datascience/serviceRegistry.ts b/src/client/datascience/serviceRegistry.ts index 435b6285d99b..996090a2cae2 100644 --- a/src/client/datascience/serviceRegistry.ts +++ b/src/client/datascience/serviceRegistry.ts @@ -2,12 +2,8 @@ // Licensed under the MIT License. 'use strict'; import { IExtensionSingleActivationService } from '../activation/types'; -import { noop } from '../common/utils/misc'; -import { StopWatch } from '../common/utils/stopWatch'; -import { ClassType, IServiceManager } from '../ioc/types'; -import { sendTelemetryEvent } from '../telemetry'; +import { IServiceManager } from '../ioc/types'; import { CodeCssGenerator } from './codeCssGenerator'; -import { Telemetry } from './constants'; import { DataViewer } from './data-viewing/dataViewer'; import { DataViewerProvider } from './data-viewing/dataViewerProvider'; import { DataScience } from './datascience'; @@ -80,65 +76,48 @@ import { IThemeFinder } from './types'; -// tslint:disable:no-any -function wrapType(ctor: ClassType): ClassType { - return class extends ctor { - constructor(...args: any[]) { - const stopWatch = new StopWatch(); - super(...args); - try { - // ctor name is minified. compute from the class definition - const className = ctor.toString().match(/\w+/g)![1]; - sendTelemetryEvent(Telemetry.ClassConstructionTime, stopWatch.elapsedTime, { class: className }); - } catch { - noop(); - } - } - }; -} - export function registerTypes(serviceManager: IServiceManager) { - serviceManager.addSingleton(IDataScienceCodeLensProvider, wrapType(DataScienceCodeLensProvider)); - serviceManager.addSingleton(IDataScience, wrapType(DataScience)); - serviceManager.addSingleton(IJupyterExecution, wrapType(JupyterExecutionFactory)); - serviceManager.addSingleton(IDataScienceCommandListener, wrapType(InteractiveWindowCommandListener)); - serviceManager.addSingleton(IInteractiveWindowProvider, wrapType(InteractiveWindowProvider)); - serviceManager.add(IInteractiveWindow, wrapType(InteractiveWindow)); - serviceManager.add(INotebookExporter, wrapType(JupyterExporter)); - serviceManager.add(INotebookImporter, wrapType(JupyterImporter)); - serviceManager.add(INotebookServer, wrapType(JupyterServerFactory)); - serviceManager.addSingleton(ICodeCssGenerator, wrapType(CodeCssGenerator)); - serviceManager.addSingleton(IJupyterPasswordConnect, wrapType(JupyterPasswordConnect)); - serviceManager.addSingleton(IStatusProvider, wrapType(StatusProvider)); - serviceManager.addSingleton(IJupyterSessionManagerFactory, wrapType(JupyterSessionManagerFactory)); - serviceManager.addSingleton(IJupyterVariables, wrapType(JupyterVariables)); - serviceManager.add(ICodeWatcher, wrapType(CodeWatcher)); - serviceManager.add(IJupyterCommandFactory, wrapType(JupyterCommandFactory)); - serviceManager.addSingleton(IThemeFinder, wrapType(ThemeFinder)); - serviceManager.addSingleton(IDataViewerProvider, wrapType(DataViewerProvider)); - serviceManager.add(IDataViewer, wrapType(DataViewer)); - serviceManager.addSingleton(IExtensionSingleActivationService, wrapType(Decorator)); - serviceManager.add(IInteractiveWindowListener, wrapType(DotNetIntellisenseProvider)); - serviceManager.add(IInteractiveWindowListener, wrapType(JediIntellisenseProvider)); - serviceManager.add(IInteractiveWindowListener, wrapType(LinkProvider)); - serviceManager.add(IInteractiveWindowListener, wrapType(ShowPlotListener)); - serviceManager.add(IInteractiveWindowListener, wrapType(DebugListener)); - serviceManager.add(IInteractiveWindowListener, wrapType(GatherListener)); - serviceManager.add(IInteractiveWindowListener, wrapType(AutoSaveService)); - serviceManager.addSingleton(IPlotViewerProvider, wrapType(PlotViewerProvider)); - serviceManager.add(IPlotViewer, wrapType(PlotViewer)); - serviceManager.addSingleton(IJupyterDebugger, wrapType(JupyterDebugger)); - serviceManager.add(IDataScienceErrorHandler, wrapType(DataScienceErrorHandler)); - serviceManager.addSingleton(ICodeLensFactory, wrapType(CodeLensFactory)); - serviceManager.addSingleton(ICellHashProvider, wrapType(CellHashProvider)); - serviceManager.addSingleton(IGatherExecution, wrapType(GatherExecution)); + serviceManager.addSingleton(IDataScienceCodeLensProvider, DataScienceCodeLensProvider); + serviceManager.addSingleton(IDataScience, DataScience); + serviceManager.addSingleton(IJupyterExecution, JupyterExecutionFactory); + serviceManager.addSingleton(IDataScienceCommandListener, InteractiveWindowCommandListener); + serviceManager.addSingleton(IInteractiveWindowProvider, InteractiveWindowProvider); + serviceManager.add(IInteractiveWindow, InteractiveWindow); + serviceManager.add(INotebookExporter, JupyterExporter); + serviceManager.add(INotebookImporter, JupyterImporter); + serviceManager.add(INotebookServer, JupyterServerFactory); + serviceManager.addSingleton(ICodeCssGenerator, CodeCssGenerator); + serviceManager.addSingleton(IJupyterPasswordConnect, JupyterPasswordConnect); + serviceManager.addSingleton(IStatusProvider, StatusProvider); + serviceManager.addSingleton(IJupyterSessionManagerFactory, JupyterSessionManagerFactory); + serviceManager.addSingleton(IJupyterVariables, JupyterVariables); + serviceManager.add(ICodeWatcher, CodeWatcher); + serviceManager.add(IJupyterCommandFactory, JupyterCommandFactory); + serviceManager.addSingleton(IThemeFinder, ThemeFinder); + serviceManager.addSingleton(IDataViewerProvider, DataViewerProvider); + serviceManager.add(IDataViewer, DataViewer); + serviceManager.addSingleton(IExtensionSingleActivationService, Decorator); + serviceManager.add(IInteractiveWindowListener, DotNetIntellisenseProvider); + serviceManager.add(IInteractiveWindowListener, JediIntellisenseProvider); + serviceManager.add(IInteractiveWindowListener, LinkProvider); + serviceManager.add(IInteractiveWindowListener, ShowPlotListener); + serviceManager.add(IInteractiveWindowListener, DebugListener); + serviceManager.add(IInteractiveWindowListener, GatherListener); + serviceManager.add(IInteractiveWindowListener, AutoSaveService); + serviceManager.addSingleton(IPlotViewerProvider, PlotViewerProvider); + serviceManager.add(IPlotViewer, PlotViewer); + serviceManager.addSingleton(IJupyterDebugger, JupyterDebugger); + serviceManager.add(IDataScienceErrorHandler, DataScienceErrorHandler); + serviceManager.addSingleton(ICodeLensFactory, CodeLensFactory); + serviceManager.addSingleton(ICellHashProvider, CellHashProvider); + serviceManager.addSingleton(IGatherExecution, GatherExecution); serviceManager.addBinding(ICellHashProvider, IInteractiveWindowListener); serviceManager.addBinding(ICellHashProvider, INotebookExecutionLogger); serviceManager.addBinding(IJupyterDebugger, ICellHashListener); - serviceManager.addSingleton(INotebookEditorProvider, wrapType(NativeEditorProvider)); - serviceManager.add(INotebookEditor, wrapType(NativeEditor)); - serviceManager.addSingleton(IDataScienceCommandListener, wrapType(NativeEditorCommandListener)); + serviceManager.addSingleton(INotebookEditorProvider, NativeEditorProvider); + serviceManager.add(INotebookEditor, NativeEditor); + serviceManager.addSingleton(IDataScienceCommandListener, NativeEditorCommandListener); serviceManager.addBinding(IGatherExecution, INotebookExecutionLogger); serviceManager.addBinding(ICodeLensFactory, IInteractiveWindowListener); - serviceManager.addSingleton(IDebugLocationTracker, wrapType(DebugLocationTrackerFactory)); + serviceManager.addSingleton(IDebugLocationTracker, DebugLocationTrackerFactory); }