From 64110c591a6e88696d3c390fcad6873293df2831 Mon Sep 17 00:00:00 2001 From: Weiko Date: Wed, 17 Jan 2024 17:04:16 +0100 Subject: [PATCH] Add performance logs to object metadata query (#3463) --- .../field-metadata/dtos/default-value.input.ts | 1 - .../object-metadata/object-metadata.service.ts | 16 ++++++++++++++++ .../factories/find-many-query.factory.ts | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/twenty-server/src/metadata/field-metadata/dtos/default-value.input.ts b/packages/twenty-server/src/metadata/field-metadata/dtos/default-value.input.ts index b3ca24130..812ff6591 100644 --- a/packages/twenty-server/src/metadata/field-metadata/dtos/default-value.input.ts +++ b/packages/twenty-server/src/metadata/field-metadata/dtos/default-value.input.ts @@ -1,4 +1,3 @@ -import { Transform } from 'class-transformer'; import { IsArray, IsBoolean, diff --git a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts index dd7794800..b7ab14508 100644 --- a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts @@ -3,6 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import { FindManyOptions, FindOneOptions, Repository } from 'typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; +import { Query, QueryOptions } from '@ptc-org/nestjs-query-core'; import { WorkspaceMigrationService } from 'src/metadata/workspace-migration/workspace-migration.service'; import { WorkspaceMigrationRunnerService } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.service'; @@ -47,6 +48,21 @@ export class ObjectMetadataService extends TypeOrmQueryService, + opts?: QueryOptions | undefined, + ): Promise { + const start = performance.now(); + + const result = super.query(query, opts); + + const end = performance.now(); + + console.log(`metadata query time: ${end - start} ms`); + + return result; + } + override async createOne( objectMetadataInput: CreateObjectInput, ): Promise { diff --git a/packages/twenty-server/src/workspace/workspace-query-builder/factories/find-many-query.factory.ts b/packages/twenty-server/src/workspace/workspace-query-builder/factories/find-many-query.factory.ts index 980276c31..f5a5b5735 100644 --- a/packages/twenty-server/src/workspace/workspace-query-builder/factories/find-many-query.factory.ts +++ b/packages/twenty-server/src/workspace/workspace-query-builder/factories/find-many-query.factory.ts @@ -7,9 +7,10 @@ import { } from 'src/workspace/workspace-query-builder/interfaces/record.interface'; import { FindManyResolverArgs } from 'src/workspace/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { computeObjectTargetTable } from 'src/workspace/utils/compute-object-target-table.util'; + import { ArgsStringFactory } from './args-string.factory'; import { FieldsStringFactory } from './fields-string.factory'; -import { computeObjectTargetTable } from 'src/workspace/utils/compute-object-target-table.util'; @Injectable() export class FindManyQueryFactory {