diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/build-columns-to-select.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/build-columns-to-select.ts index b6005b41ea..660de07efb 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/build-columns-to-select.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/build-columns-to-select.ts @@ -1,20 +1,15 @@ -import { Logger } from '@nestjs/common'; - import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; -import { isQueryTimingEnabled } from 'src/engine/core-modules/graphql/storage/query-timing-context.storage'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; import { isFlatFieldMetadataOfType } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-flat-field-metadata-of-type.util'; import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; -const logger = new Logger('buildColumnsToSelect'); - export const buildColumnsToSelect = ({ select, relations, @@ -28,9 +23,6 @@ export const buildColumnsToSelect = ({ flatObjectMetadataMaps: FlatEntityMaps; flatFieldMetadataMaps: FlatEntityMaps; }) => { - const timingEnabled = isQueryTimingEnabled(); - const startTime = timingEnabled ? performance.now() : 0; - const requiredRelationColumns = getRequiredRelationColumns( relations, flatObjectMetadata, @@ -50,14 +42,6 @@ export const buildColumnsToSelect = ({ const result = { ...fieldsToSelect, id: true }; - if (timingEnabled) { - const durationMs = (performance.now() - startTime).toFixed(2); - - logger.log( - `${flatObjectMetadata.nameSingular} — ${durationMs}ms (${Object.keys(select).length} select, ${flatObjectMetadata.fieldIds.length} fields)`, - ); - } - return result; }; diff --git a/packages/twenty-server/src/engine/core-modules/graphql/storage/query-timing-context.storage.ts b/packages/twenty-server/src/engine/core-modules/graphql/storage/query-timing-context.storage.ts deleted file mode 100644 index 6b4c5045ca..0000000000 --- a/packages/twenty-server/src/engine/core-modules/graphql/storage/query-timing-context.storage.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { AsyncLocalStorage } from 'async_hooks'; - -export const queryTimingContextStorage = new AsyncLocalStorage(); - -export const isQueryTimingEnabled = (): boolean => - queryTimingContextStorage.getStore() === true; diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts index c1718feeab..10fc463b12 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts @@ -1,4 +1,3 @@ -import { Logger } from '@nestjs/common'; import { isPlainObject } from '@nestjs/common/utils/shared.utils'; import { isNonEmptyString, isNull } from '@sniptt/guards'; @@ -27,10 +26,6 @@ import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object import { getCompositeFieldMetadataCollection } from 'src/engine/twenty-orm/utils/get-composite-field-metadata-collection'; import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util'; -import { isQueryTimingEnabled } from 'src/engine/core-modules/graphql/storage/query-timing-context.storage'; - -const formatResultLogger = new Logger('formatResult'); - export function formatResult( // oxlint-disable-next-line @typescripttypescript/no-explicit-any data: any, @@ -38,36 +33,6 @@ export function formatResult( flatObjectMetadataMaps: FlatEntityMaps, flatFieldMetadataMaps: FlatEntityMaps, fieldMapsForObject?: FieldMapsForObject, -): T { - const timingEnabled = isQueryTimingEnabled(); - const startTime = timingEnabled ? performance.now() : 0; - const result = formatResultInternal( - data, - flatObjectMetadata, - flatObjectMetadataMaps, - flatFieldMetadataMaps, - fieldMapsForObject, - ); - - if (timingEnabled && isDefined(flatObjectMetadata)) { - const durationMs = (performance.now() - startTime).toFixed(2); - const recordCount = Array.isArray(data) ? data.length : 1; - - formatResultLogger.log( - `${flatObjectMetadata.nameSingular} — ${durationMs}ms (${recordCount} records)`, - ); - } - - return result; -} - -function formatResultInternal( - // oxlint-disable-next-line @typescripttypescript/no-explicit-any - data: any, - flatObjectMetadata: FlatObjectMetadata | undefined, - flatObjectMetadataMaps: FlatEntityMaps, - flatFieldMetadataMaps: FlatEntityMaps, - fieldMapsForObject?: FieldMapsForObject, ): T { if (!isDefined(data)) { return data; @@ -76,7 +41,7 @@ function formatResultInternal( if (!isPlainObject(data)) { if (Array.isArray(data)) { return data.map((item) => - formatResultInternal( + formatResult( item, flatObjectMetadata, flatObjectMetadataMaps, @@ -149,7 +114,7 @@ function formatResultInternal( } // @ts-expect-error legacy noImplicitAny - newData[key] = formatResultInternal( + newData[key] = formatResult( value, targetObjectMetadata, flatObjectMetadataMaps,