Add removeExtra()

Reviewed By: bestander

Differential Revision: D14386282

fbshipit-source-id: 045dd0f12cc462da694d20da52f3a591b538dc57
This commit is contained in:
Alexey Lang
2019-03-19 10:14:55 -07:00
committed by Facebook Github Bot
parent 1a635c6ade
commit c3475419a9
2 changed files with 17 additions and 0 deletions

View File

@@ -70,6 +70,16 @@ describe('PerformanceLogger', () => {
});
});
it('removes an extra', () => {
let perfLogger = createPerformanceLogger();
perfLogger.setExtra(EXTRA_KEY, EXTRA_VALUE);
expect(perfLogger.getExtras()).toEqual({
[EXTRA_KEY]: EXTRA_VALUE,
});
expect(perfLogger.removeExtra(EXTRA_KEY)).toEqual(EXTRA_VALUE);
expect(perfLogger.getExtras()).toEqual({});
});
it('logs a point', () => {
let perfLogger = createPerformanceLogger();
perfLogger.markPoint(POINT, POINT_TIMESTAMP);

View File

@@ -38,6 +38,7 @@ export type IPerformanceLogger = {
addTimespans(Array<number>, Array<string>): void,
setExtra(string, any): void,
getExtras(): {[key: string]: any},
removeExtra(string): ?any,
logExtras(): void,
markPoint(string, number | void): void,
getPoints(): {[key: string]: number},
@@ -217,6 +218,12 @@ function createPerformanceLogger(): IPerformanceLogger {
return this._extras;
},
removeExtra(key: string): ?any {
const value = this._extras[key];
delete this._extras[key];
return value;
},
logExtras() {
infoLog(this._extras);
},