mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
add logging for data workspace extension (#20601)
* add logging for data workspace extension * Addressing comments * adding back getProjectsInWorkspace() in constructor * Add more logging in activate()
This commit is contained in:
@@ -15,23 +15,44 @@ import { IconPathHelper } from './common/iconHelper';
|
||||
import { ProjectDashboard } from './dialogs/projectDashboard';
|
||||
import { getAzdataApi } from './common/utils';
|
||||
import { createNewProjectWithQuickpick } from './dialogs/newProjectQuickpick';
|
||||
import Logger from './common/logger';
|
||||
|
||||
export async function activate(context: vscode.ExtensionContext): Promise<IExtension> {
|
||||
const startTime = new Date().getTime();
|
||||
Logger.log(`Starting Data Workspace activate()`);
|
||||
|
||||
const azDataApiStartTime = new Date().getTime();
|
||||
const azdataApi = getAzdataApi();
|
||||
void vscode.commands.executeCommand('setContext', 'azdataAvailable', !!azdataApi);
|
||||
const workspaceService = new WorkspaceService();
|
||||
Logger.log(`Setting azdataAvailable took ${new Date().getTime() - azDataApiStartTime}ms`);
|
||||
|
||||
const workspaceServiceConstructorStartTime = new Date().getTime();
|
||||
const workspaceService = new WorkspaceService();
|
||||
Logger.log(`WorkspaceService constructor took ${new Date().getTime() - workspaceServiceConstructorStartTime}ms`);
|
||||
|
||||
const workspaceTreeDataProviderStartTime = new Date().getTime();
|
||||
const workspaceTreeDataProvider = new WorkspaceTreeDataProvider(workspaceService);
|
||||
context.subscriptions.push(vscode.workspace.onDidChangeWorkspaceFolders(async () => {
|
||||
await workspaceTreeDataProvider.refresh();
|
||||
}));
|
||||
Logger.log(`WorkspaceTreeDataProvider constructor took ${new Date().getTime() - workspaceTreeDataProviderStartTime}ms`);
|
||||
|
||||
const dataWorkspaceExtensionStartTime = new Date().getTime();
|
||||
const dataWorkspaceExtension = new DataWorkspaceExtension(workspaceService);
|
||||
Logger.log(`DataWorkspaceExtension constructor took ${new Date().getTime() - dataWorkspaceExtensionStartTime}ms`);
|
||||
|
||||
const registerTreeDataProvidertartTime = new Date().getTime();
|
||||
context.subscriptions.push(vscode.window.registerTreeDataProvider('dataworkspace.views.main', workspaceTreeDataProvider));
|
||||
Logger.log(`registerTreeDataProvider took ${new Date().getTime() - registerTreeDataProvidertartTime}ms`);
|
||||
|
||||
const settingProjectProviderContextStartTime = new Date().getTime();
|
||||
context.subscriptions.push(vscode.extensions.onDidChange(() => {
|
||||
setProjectProviderContextValue(workspaceService);
|
||||
}));
|
||||
setProjectProviderContextValue(workspaceService);
|
||||
Logger.log(`setProjectProviderContextValue took ${new Date().getTime() - settingProjectProviderContextStartTime}ms`);
|
||||
|
||||
const registerCommandStartTime = new Date().getTime();
|
||||
context.subscriptions.push(vscode.commands.registerCommand('projects.new', async () => {
|
||||
if (azdataApi) {
|
||||
const dialog = new NewProjectDialog(workspaceService);
|
||||
@@ -70,9 +91,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
|
||||
const dashboard = new ProjectDashboard(workspaceService, treeItem);
|
||||
await dashboard.showDashboard();
|
||||
}));
|
||||
Logger.log(`Registering commands took ${new Date().getTime() - registerCommandStartTime}ms`);
|
||||
|
||||
const iconPathHelperTime = new Date().getTime();
|
||||
IconPathHelper.setExtensionContext(context);
|
||||
Logger.log(`IconPathHelper took ${new Date().getTime() - iconPathHelperTime}ms`);
|
||||
|
||||
Logger.log(`Finished activating Data Workspace extension. Total time = ${new Date().getTime() - startTime}ms`);
|
||||
return Promise.resolve(dataWorkspaceExtension);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user