Skip to content

Commit e4d0455

Browse files
authored
Remove Logger from performance backend log use case (#2460)
1 parent 88734fd commit e4d0455

File tree

4 files changed

+26
-29
lines changed

4 files changed

+26
-29
lines changed

packages/performance/src/services/cc_service.test.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import { stub, useFakeTimers, SinonStub } from 'sinon';
1919
import { use, expect } from 'chai';
20-
import { Logger, LogLevel } from '@firebase/logger';
2120
import * as sinonChai from 'sinon-chai';
2221

2322
use(sinonChai);
@@ -50,9 +49,8 @@ describe('Firebase Performance > cc_service', () => {
5049
});
5150

5251
it('throws an error when logging an empty message', () => {
53-
const logger = new Logger('@firebase/performance/cc');
5452
expect(() => {
55-
testCCHandler(logger, LogLevel.SILENT, '');
53+
testCCHandler('');
5654
}).to.throw;
5755
});
5856

@@ -69,16 +67,14 @@ describe('Firebase Performance > cc_service', () => {
6967
});
7068

7169
it('attempts to log an event to clearcut after DEFAULT_SEND_INTERVAL_MS if queue not empty', () => {
72-
const logger = new Logger('@firebase/performance/cc');
73-
7470
fetchStub.resolves(
7571
new Response('', {
7672
status: 200,
7773
headers: { 'Content-type': 'application/json' }
7874
})
7975
);
8076

81-
testCCHandler(logger, LogLevel.SILENT, 'someEvent');
77+
testCCHandler('someEvent');
8278
clock.tick(DEFAULT_SEND_INTERVAL_MS);
8379
expect(fetchStub).to.have.been.calledOnce;
8480
});

packages/performance/src/services/cc_service.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { LogHandler, Logger, LogLevel } from '@firebase/logger';
1918
import { SettingsService } from './settings_service';
2019
import { ERROR_FACTORY, ErrorCode } from '../utils/errors';
2120
import { consoleLogger } from '../utils/console_logger';
@@ -135,10 +134,8 @@ function addToQueue(evt: BatchEvent): void {
135134
export function ccHandler(
136135
// eslint-disable-next-line @typescript-eslint/no-explicit-any
137136
serializer: (...args: any[]) => string
138-
): LogHandler {
139-
// The underscores for loggerInstance and level parameters are added to avoid the
140-
// noUnusedParameters related error.
141-
return (_loggerInstance: Logger, _level: LogLevel, ...args) => {
137+
): (...args: unknown[]) => void {
138+
return (...args) => {
142139
const message = serializer(...args);
143140
addToQueue({
144141
message,

packages/performance/src/services/perf_logger.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import { stub, SinonStub, useFakeTimers, SinonFakeTimers } from 'sinon';
1919
import { Trace } from '../resources/trace';
20-
import { LogHandler, Logger, LogLevel } from '@firebase/logger';
2120
import * as ccService from './cc_service';
2221
import * as iidService from './iid_service';
2322
import { expect } from 'chai';
@@ -49,8 +48,10 @@ describe('Performance Monitoring > perf_logger', () => {
4948
let getIidStub: SinonStub<[], string | undefined>;
5049
let clock: SinonFakeTimers;
5150

52-
function mockCcHandler(serializer: (...args: any[]) => string): LogHandler {
53-
return (_loggerInstance: Logger, _level: LogLevel, ...args) => {
51+
function mockCcHandler(
52+
serializer: (...args: any[]) => string
53+
): (...args: any[]) => void {
54+
return (...args) => {
5455
const message = serializer(...args);
5556
addToQueueStub({
5657
message,

packages/performance/src/services/perf_logger.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import {
3030
isPerfInitialized,
3131
getInitializationPromise
3232
} from './initialization_service';
33-
import { Logger } from '@firebase/logger';
3433
import { ccHandler } from './cc_service';
3534
import { SDK_VERSION } from '../constants';
3635

@@ -83,18 +82,22 @@ interface TraceMetric {
8382
counters?: Array<{ key: string; value: number }>;
8483
custom_attributes?: Array<{ key: string; value: string }>;
8584
}
85+
8686
/* eslint-enble camelcase */
8787

88-
let logger: Logger | undefined;
88+
let logger: (
89+
resource: NetworkRequest | Trace,
90+
resourceType: ResourceType
91+
) => void | undefined;
8992
// This method is not called before initialization.
90-
function getLogger(): Logger {
91-
if (logger) {
92-
return logger;
93+
function sendLog(
94+
resource: NetworkRequest | Trace,
95+
resourceType: ResourceType
96+
): void {
97+
if (!logger) {
98+
logger = ccHandler(serializer);
9399
}
94-
const ccLogger = ccHandler(serializer);
95-
logger = new Logger('@firebase/performance/cc');
96-
logger.logHandler = ccLogger;
97-
return logger;
100+
logger(resource, resourceType);
98101
}
99102

100103
export function logTrace(trace: Trace): void {
@@ -137,7 +140,7 @@ export function logTrace(trace: Trace): void {
137140

138141
function sendTraceLog(trace: Trace): void {
139142
if (getIid()) {
140-
setTimeout(() => getLogger().log(trace, ResourceType.Trace), 0);
143+
setTimeout(() => sendLog(trace, ResourceType.Trace), 0);
141144
}
142145
}
143146

@@ -159,13 +162,13 @@ export function logNetworkRequest(networkRequest: NetworkRequest): void {
159162
return;
160163
}
161164

162-
setTimeout(
163-
() => getLogger().log(networkRequest, ResourceType.NetworkRequest),
164-
0
165-
);
165+
setTimeout(() => sendLog(networkRequest, ResourceType.NetworkRequest), 0);
166166
}
167167

168-
function serializer(resource: {}, resourceType: ResourceType): string {
168+
function serializer(
169+
resource: NetworkRequest | Trace,
170+
resourceType: ResourceType
171+
): string {
169172
if (resourceType === ResourceType.NetworkRequest) {
170173
return serializeNetworkRequest(resource as NetworkRequest);
171174
}

0 commit comments

Comments
 (0)