RN: Delete Systrace.swizzleJSON

Reviewed By: TheSavior

Differential Revision: D7207460

fbshipit-source-id: 14b1174d6a5c75e1acba7272376d1c462bc13cb6
This commit is contained in:
Tim Yung 2018-03-08 23:33:10 -08:00 committed by Facebook Github Bot
parent a8c4b630fc
commit 3e141cb6c9
1 changed files with 0 additions and 59 deletions

View File

@ -182,65 +182,6 @@ const Systrace = {
global.nativeTraceCounter(TRACE_TAG_REACT_APPS, profileName, value); global.nativeTraceCounter(TRACE_TAG_REACT_APPS, profileName, value);
} }
}, },
/* This is not called by default due to perf overhead but it's useful
if you want to find traces which spend too much time in JSON. */
swizzleJSON() {
Systrace.measureMethods(JSON, 'JSON', ['parse', 'stringify']);
},
/**
* Measures multiple methods of a class. For example, you can do:
* Systrace.measureMethods(JSON, 'JSON', ['parse', 'stringify']);
*
* @param object
* @param objectName
* @param methodNames Map from method names to method display names.
*/
measureMethods(
object: any,
objectName: string,
methodNames: Array<string>,
): void {
if (!__DEV__) {
return;
}
methodNames.forEach(methodName => {
object[methodName] = Systrace.measure(
objectName,
methodName,
object[methodName],
);
});
},
/**
* Returns an profiled version of the input function. For example, you can:
* JSON.parse = Systrace.measure('JSON', 'parse', JSON.parse);
*
* @param objName
* @param fnName
* @param {function} func
* @return {function} replacement function
*/
measure(objName: string, fnName: string, func: any): any {
if (!__DEV__) {
return func;
}
const profileName = `${objName}.${fnName}`;
return function() {
if (!_enabled) {
return func.apply(this, arguments);
}
Systrace.beginEvent(profileName);
const ret = func.apply(this, arguments);
Systrace.endEvent();
return ret;
};
},
}; };
if (__DEV__) { if (__DEV__) {