Skip to content
Permalink
Browse files

RN: Delete Systrace.swizzleJSON

Reviewed By: TheSavior

Differential Revision: D7207460

fbshipit-source-id: 14b1174d6a5c75e1acba7272376d1c462bc13cb6
  • Loading branch information...
yungsters authored and facebook-github-bot committed Mar 9, 2018
1 parent a8c4b63 commit 3e141cb6c957143e998bf2926b8fe1aabccbce2d
Showing with 0 additions and 59 deletions.
  1. +0 −59 Libraries/Performance/Systrace.js
@@ -182,65 +182,6 @@ const Systrace = {
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__) {

0 comments on commit 3e141cb

Please sign in to comment.
You can’t perform that action at this time.