diff --git a/packages/performance/src/services/cc_service.test.ts b/packages/performance/src/services/cc_service.test.ts index f83af313c50..f1295966daa 100644 --- a/packages/performance/src/services/cc_service.test.ts +++ b/packages/performance/src/services/cc_service.test.ts @@ -17,7 +17,6 @@ import { stub, useFakeTimers, SinonStub } from 'sinon'; import { use, expect } from 'chai'; -import { Logger, LogLevel } from '@firebase/logger'; import * as sinonChai from 'sinon-chai'; use(sinonChai); @@ -50,9 +49,8 @@ describe('Firebase Performance > cc_service', () => { }); it('throws an error when logging an empty message', () => { - const logger = new Logger('@firebase/performance/cc'); expect(() => { - testCCHandler(logger, LogLevel.SILENT, ''); + testCCHandler(''); }).to.throw; }); @@ -69,8 +67,6 @@ describe('Firebase Performance > cc_service', () => { }); it('attempts to log an event to clearcut after DEFAULT_SEND_INTERVAL_MS if queue not empty', () => { - const logger = new Logger('@firebase/performance/cc'); - fetchStub.resolves( new Response('', { status: 200, @@ -78,7 +74,7 @@ describe('Firebase Performance > cc_service', () => { }) ); - testCCHandler(logger, LogLevel.SILENT, 'someEvent'); + testCCHandler('someEvent'); clock.tick(DEFAULT_SEND_INTERVAL_MS); expect(fetchStub).to.have.been.calledOnce; }); diff --git a/packages/performance/src/services/cc_service.ts b/packages/performance/src/services/cc_service.ts index c036c0ee32b..c0ae75617b3 100644 --- a/packages/performance/src/services/cc_service.ts +++ b/packages/performance/src/services/cc_service.ts @@ -15,7 +15,6 @@ * limitations under the License. */ -import { LogHandler, Logger, LogLevel } from '@firebase/logger'; import { SettingsService } from './settings_service'; import { ERROR_FACTORY, ErrorCode } from '../utils/errors'; import { consoleLogger } from '../utils/console_logger'; @@ -135,10 +134,8 @@ function addToQueue(evt: BatchEvent): void { export function ccHandler( // eslint-disable-next-line @typescript-eslint/no-explicit-any serializer: (...args: any[]) => string -): LogHandler { - // The underscores for loggerInstance and level parameters are added to avoid the - // noUnusedParameters related error. - return (_loggerInstance: Logger, _level: LogLevel, ...args) => { +): (...args: unknown[]) => void { + return (...args) => { const message = serializer(...args); addToQueue({ message, diff --git a/packages/performance/src/services/perf_logger.test.ts b/packages/performance/src/services/perf_logger.test.ts index a7bdf91f3ad..235a08ff429 100644 --- a/packages/performance/src/services/perf_logger.test.ts +++ b/packages/performance/src/services/perf_logger.test.ts @@ -17,7 +17,6 @@ import { stub, SinonStub, useFakeTimers, SinonFakeTimers } from 'sinon'; import { Trace } from '../resources/trace'; -import { LogHandler, Logger, LogLevel } from '@firebase/logger'; import * as ccService from './cc_service'; import * as iidService from './iid_service'; import { expect } from 'chai'; @@ -49,8 +48,10 @@ describe('Performance Monitoring > perf_logger', () => { let getIidStub: SinonStub<[], string | undefined>; let clock: SinonFakeTimers; - function mockCcHandler(serializer: (...args: any[]) => string): LogHandler { - return (_loggerInstance: Logger, _level: LogLevel, ...args) => { + function mockCcHandler( + serializer: (...args: any[]) => string + ): (...args: any[]) => void { + return (...args) => { const message = serializer(...args); addToQueueStub({ message, diff --git a/packages/performance/src/services/perf_logger.ts b/packages/performance/src/services/perf_logger.ts index 9ccd118c32a..d64da40c6c4 100644 --- a/packages/performance/src/services/perf_logger.ts +++ b/packages/performance/src/services/perf_logger.ts @@ -30,7 +30,6 @@ import { isPerfInitialized, getInitializationPromise } from './initialization_service'; -import { Logger } from '@firebase/logger'; import { ccHandler } from './cc_service'; import { SDK_VERSION } from '../constants'; @@ -83,18 +82,22 @@ interface TraceMetric { counters?: Array<{ key: string; value: number }>; custom_attributes?: Array<{ key: string; value: string }>; } + /* eslint-enble camelcase */ -let logger: Logger | undefined; +let logger: ( + resource: NetworkRequest | Trace, + resourceType: ResourceType +) => void | undefined; // This method is not called before initialization. -function getLogger(): Logger { - if (logger) { - return logger; +function sendLog( + resource: NetworkRequest | Trace, + resourceType: ResourceType +): void { + if (!logger) { + logger = ccHandler(serializer); } - const ccLogger = ccHandler(serializer); - logger = new Logger('@firebase/performance/cc'); - logger.logHandler = ccLogger; - return logger; + logger(resource, resourceType); } export function logTrace(trace: Trace): void { @@ -137,7 +140,7 @@ export function logTrace(trace: Trace): void { function sendTraceLog(trace: Trace): void { if (getIid()) { - setTimeout(() => getLogger().log(trace, ResourceType.Trace), 0); + setTimeout(() => sendLog(trace, ResourceType.Trace), 0); } } @@ -159,13 +162,13 @@ export function logNetworkRequest(networkRequest: NetworkRequest): void { return; } - setTimeout( - () => getLogger().log(networkRequest, ResourceType.NetworkRequest), - 0 - ); + setTimeout(() => sendLog(networkRequest, ResourceType.NetworkRequest), 0); } -function serializer(resource: {}, resourceType: ResourceType): string { +function serializer( + resource: NetworkRequest | Trace, + resourceType: ResourceType +): string { if (resourceType === ResourceType.NetworkRequest) { return serializeNetworkRequest(resource as NetworkRequest); }