Add logging on currentWorkspaceMember query (#6706)
We are experiencing slow GetCurrentUser endpoint, this is helping us troubleshoot
This commit is contained in:
@ -40,18 +40,24 @@ export class UserService extends TypeOrmQueryService<User> {
|
||||
return null;
|
||||
}
|
||||
|
||||
console.time('loadWorkspaceMember repo');
|
||||
const workspaceMemberRepository =
|
||||
await this.twentyORMGlobalManager.getRepositoryForWorkspace<WorkspaceMemberWorkspaceEntity>(
|
||||
user.defaultWorkspaceId,
|
||||
'workspaceMember',
|
||||
);
|
||||
|
||||
console.timeEnd('loadWorkspaceMember repo');
|
||||
|
||||
console.time('loadWorkspaceMember find');
|
||||
const workspaceMember = await workspaceMemberRepository.findOne({
|
||||
where: {
|
||||
userId: user.id,
|
||||
},
|
||||
});
|
||||
|
||||
console.timeEnd('loadWorkspaceMember find');
|
||||
|
||||
return workspaceMember;
|
||||
}
|
||||
|
||||
@ -60,13 +66,22 @@ export class UserService extends TypeOrmQueryService<User> {
|
||||
return [];
|
||||
}
|
||||
|
||||
console.time('loadWorkspaceMembers repo');
|
||||
const workspaceMemberRepository =
|
||||
await this.twentyORMGlobalManager.getRepositoryForWorkspace<WorkspaceMemberWorkspaceEntity>(
|
||||
workspace.id,
|
||||
'workspaceMember',
|
||||
);
|
||||
|
||||
return workspaceMemberRepository.find();
|
||||
console.timeEnd('loadWorkspaceMembers repo');
|
||||
|
||||
console.time('loadWorkspaceMembers find');
|
||||
|
||||
const workspaceMembers = workspaceMemberRepository.find();
|
||||
|
||||
console.timeEnd('loadWorkspaceMembers find');
|
||||
|
||||
return workspaceMembers;
|
||||
}
|
||||
|
||||
async deleteUser(userId: string): Promise<User> {
|
||||
|
||||
@ -98,6 +98,7 @@ export class UserResolver {
|
||||
nullable: true,
|
||||
})
|
||||
async workspaceMember(@Parent() user: User): Promise<WorkspaceMember | null> {
|
||||
console.time('resolver workspaceMember');
|
||||
const workspaceMember = await this.userService.loadWorkspaceMember(user);
|
||||
|
||||
if (workspaceMember && workspaceMember.avatarUrl) {
|
||||
@ -108,6 +109,7 @@ export class UserResolver {
|
||||
|
||||
workspaceMember.avatarUrl = `${workspaceMember.avatarUrl}?token=${avatarUrlToken}`;
|
||||
}
|
||||
console.timeEnd('resolver workspaceMember');
|
||||
|
||||
// TODO: Fix typing disrepency between Entity and DTO
|
||||
return workspaceMember as WorkspaceMember | null;
|
||||
@ -117,6 +119,7 @@ export class UserResolver {
|
||||
nullable: true,
|
||||
})
|
||||
async workspaceMembers(@Parent() user: User): Promise<WorkspaceMember[]> {
|
||||
console.time('resolver workspaceMembers');
|
||||
const workspaceMembers = await this.userService.loadWorkspaceMembers(
|
||||
user.defaultWorkspace,
|
||||
);
|
||||
@ -132,6 +135,8 @@ export class UserResolver {
|
||||
}
|
||||
}
|
||||
|
||||
console.timeEnd('resolver workspaceMembers');
|
||||
|
||||
// TODO: Fix typing disrepency between Entity and DTO
|
||||
return workspaceMembers as WorkspaceMember[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user