UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

41 lines (40 loc) 1.57 kB
define(["require", "exports", './beep'], function (require, exports, beep_1) { "use strict"; function instrumentMethod(target, methodName) { var originalMethod = target[methodName]; target[methodName] = function () { beep_1.beep(); var startTime = performance.now(); var retVal = originalMethod.apply(this, arguments); var duration = performance.now() - startTime; /* tslint:disable:no-console */ if (duration <= 1) { console.log(methodName + " called", getStackTrace()); } else if (duration <= 10) { console.warn(methodName + " called, took " + Math.round(duration * 1000) / 1000 + "ms", getStackTrace()); } else { console.error(methodName + " called, took " + Math.round(duration * 1000) / 1000 + "ms", getStackTrace()); } /* tslint:enable:no-console */ return retVal; }; } exports.instrumentMethod = instrumentMethod; function getStackTrace() { var obj = { stack: '' }; /* tslint:disable:no-string-literal */ var captureStackTrace = Error['captureStackTrace']; /* tslint:enable:no-string-literal */ if (captureStackTrace) { captureStackTrace(obj, getStackTrace); var stackEntries = obj.stack.split('at '); obj.stack = stackEntries[2]; } return obj.stack; } exports.getStackTrace = getStackTrace; });