How to use getLastMeasurements method in Playwright Internal

Best JavaScript code snippet using playwright-internal

rpm.js

Source:rpm.js Github

copy

Full Screen

...59 if (typeof console !== 'undefined') {60 console.error('ReactPerf is not supported in the production builds of React. ' + 'To collect measurements, please use the development build of React instead.');61 }62}63function getLastMeasurements() {64 if (!(process.env.NODE_ENV !== 'production')) {65 warnInProduction();66 return [];67 }68 return ReactDebugTool.getFlushHistory();69}70function getExclusive() {71 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();72 if (!(process.env.NODE_ENV !== 'production')) {73 warnInProduction();74 return [];75 }76 var aggregatedStats = {};77 var affectedIDs = {};78 function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {79 var displayName = treeSnapshot[instanceID].displayName;80 var key = displayName;81 var stats = aggregatedStats[key];82 if (!stats) {83 affectedIDs[key] = {};84 stats = aggregatedStats[key] = {85 key: key,86 instanceCount: 0,87 counts: {},88 durations: {},89 totalDuration: 090 };91 }92 if (!stats.durations[timerType]) {93 stats.durations[timerType] = 0;94 }95 if (!stats.counts[timerType]) {96 stats.counts[timerType] = 0;97 }98 affectedIDs[key][instanceID] = true;99 applyUpdate(stats);100 }101 flushHistory.forEach(function (flush) {102 var measurements = flush.measurements,103 treeSnapshot = flush.treeSnapshot;104 measurements.forEach(function (measurement) {105 var duration = measurement.duration,106 instanceID = measurement.instanceID,107 timerType = measurement.timerType;108 updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {109 stats.totalDuration += duration;110 stats.durations[timerType] += duration;111 stats.counts[timerType]++;112 });113 });114 });115 return Object.keys(aggregatedStats).map(function (key) {116 return _extends({}, aggregatedStats[key], {117 instanceCount: Object.keys(affectedIDs[key]).length118 });119 }).sort(function (a, b) {120 return b.totalDuration - a.totalDuration;121 });122}123function getInclusive() {124 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();125 if (!(process.env.NODE_ENV !== 'production')) {126 warnInProduction();127 return [];128 }129 var aggregatedStats = {};130 var affectedIDs = {};131 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {132 var _treeSnapshot$instanc = treeSnapshot[instanceID],133 displayName = _treeSnapshot$instanc.displayName,134 ownerID = _treeSnapshot$instanc.ownerID;135 var owner = treeSnapshot[ownerID];136 var key = (owner ? owner.displayName + ' > ' : '') + displayName;137 var stats = aggregatedStats[key];138 if (!stats) {139 affectedIDs[key] = {};140 stats = aggregatedStats[key] = {141 key: key,142 instanceCount: 0,143 inclusiveRenderDuration: 0,144 renderCount: 0145 };146 }147 affectedIDs[key][instanceID] = true;148 applyUpdate(stats);149 }150 var isCompositeByID = {};151 flushHistory.forEach(function (flush) {152 var measurements = flush.measurements;153 measurements.forEach(function (measurement) {154 var instanceID = measurement.instanceID,155 timerType = measurement.timerType;156 if (timerType !== 'render') {157 return;158 }159 isCompositeByID[instanceID] = true;160 });161 });162 flushHistory.forEach(function (flush) {163 var measurements = flush.measurements,164 treeSnapshot = flush.treeSnapshot;165 measurements.forEach(function (measurement) {166 var duration = measurement.duration,167 instanceID = measurement.instanceID,168 timerType = measurement.timerType;169 if (timerType !== 'render') {170 return;171 }172 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {173 stats.renderCount++;174 });175 var nextParentID = instanceID;176 while (nextParentID) {177 // As we traverse parents, only count inclusive time towards composites.178 // We know something is a composite if its render() was called.179 if (isCompositeByID[nextParentID]) {180 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {181 stats.inclusiveRenderDuration += duration;182 });183 }184 nextParentID = treeSnapshot[nextParentID].parentID;185 }186 });187 });188 return Object.keys(aggregatedStats).map(function (key) {189 return _extends({}, aggregatedStats[key], {190 instanceCount: Object.keys(affectedIDs[key]).length191 });192 }).sort(function (a, b) {193 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;194 });195}196function getWasted() {197 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();198 if (!(process.env.NODE_ENV !== 'production')) {199 warnInProduction();200 return [];201 }202 var aggregatedStats = {};203 var affectedIDs = {};204 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {205 var _treeSnapshot$instanc2 = treeSnapshot[instanceID],206 displayName = _treeSnapshot$instanc2.displayName,207 ownerID = _treeSnapshot$instanc2.ownerID;208 var owner = treeSnapshot[ownerID];209 var key = (owner ? owner.displayName + ' > ' : '') + displayName;210 var stats = aggregatedStats[key];211 if (!stats) {212 affectedIDs[key] = {};213 stats = aggregatedStats[key] = {214 key: key,215 instanceCount: 0,216 inclusiveRenderDuration: 0,217 renderCount: 0218 };219 }220 affectedIDs[key][instanceID] = true;221 applyUpdate(stats);222 }223 flushHistory.forEach(function (flush) {224 var measurements = flush.measurements,225 treeSnapshot = flush.treeSnapshot,226 operations = flush.operations;227 var isDefinitelyNotWastedByID = {};228 // Find host components associated with an operation in this batch.229 // Mark all components in their parent tree as definitely not wasted.230 operations.forEach(function (operation) {231 var instanceID = operation.instanceID;232 var nextParentID = instanceID;233 while (nextParentID) {234 isDefinitelyNotWastedByID[nextParentID] = true;235 nextParentID = treeSnapshot[nextParentID].parentID;236 }237 });238 // Find composite components that rendered in this batch.239 // These are potential candidates for being wasted renders.240 var renderedCompositeIDs = {};241 measurements.forEach(function (measurement) {242 var instanceID = measurement.instanceID,243 timerType = measurement.timerType;244 if (timerType !== 'render') {245 return;246 }247 renderedCompositeIDs[instanceID] = true;248 });249 measurements.forEach(function (measurement) {250 var duration = measurement.duration,251 instanceID = measurement.instanceID,252 timerType = measurement.timerType;253 if (timerType !== 'render') {254 return;255 }256 // If there was a DOM update below this component, or it has just been257 // mounted, its render() is not considered wasted.258 var updateCount = treeSnapshot[instanceID].updateCount;259 if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {260 return;261 }262 // We consider this render() wasted.263 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {264 stats.renderCount++;265 });266 var nextParentID = instanceID;267 while (nextParentID) {268 // Any parents rendered during this batch are considered wasted269 // unless we previously marked them as dirty.270 var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];271 if (isWasted) {272 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {273 stats.inclusiveRenderDuration += duration;274 });275 }276 nextParentID = treeSnapshot[nextParentID].parentID;277 }278 });279 });280 return Object.keys(aggregatedStats).map(function (key) {281 return _extends({}, aggregatedStats[key], {282 instanceCount: Object.keys(affectedIDs[key]).length283 });284 }).sort(function (a, b) {285 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;286 });287}288function getOperations() {289 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();290 if (!(process.env.NODE_ENV !== 'production')) {291 warnInProduction();292 return [];293 }294 var stats = [];295 flushHistory.forEach(function (flush, flushIndex) {296 var operations = flush.operations,297 treeSnapshot = flush.treeSnapshot;298 operations.forEach(function (operation) {299 var instanceID = operation.instanceID,300 type = operation.type,301 payload = operation.payload;302 var _treeSnapshot$instanc3 = treeSnapshot[instanceID],303 displayName = _treeSnapshot$instanc3.displayName,...

Full Screen

Full Screen

ReactPerf.js

Source:ReactPerf.js Github

copy

Full Screen

...30 if (typeof console !== 'undefined') {31 console.error('ReactPerf is not supported in the production builds of React. ' + 'To collect measurements, please use the development build of React instead.');32 }33}34function getLastMeasurements() {35 if (!(process.env.NODE_ENV !== 'production')) {36 warnInProduction();37 return [];38 }39 return ReactDebugTool.getFlushHistory();40}41function getExclusive() {42 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();43 if (!(process.env.NODE_ENV !== 'production')) {44 warnInProduction();45 return [];46 }47 var aggregatedStats = {};48 var affectedIDs = {};49 function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {50 var displayName = treeSnapshot[instanceID].displayName;51 var key = displayName;52 var stats = aggregatedStats[key];53 if (!stats) {54 affectedIDs[key] = {};55 stats = aggregatedStats[key] = {56 key: key,57 instanceCount: 0,58 counts: {},59 durations: {},60 totalDuration: 061 };62 }63 if (!stats.durations[timerType]) {64 stats.durations[timerType] = 0;65 }66 if (!stats.counts[timerType]) {67 stats.counts[timerType] = 0;68 }69 affectedIDs[key][instanceID] = true;70 applyUpdate(stats);71 }72 flushHistory.forEach(function (flush) {73 var measurements = flush.measurements,74 treeSnapshot = flush.treeSnapshot;75 measurements.forEach(function (measurement) {76 var duration = measurement.duration,77 instanceID = measurement.instanceID,78 timerType = measurement.timerType;79 updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {80 stats.totalDuration += duration;81 stats.durations[timerType] += duration;82 stats.counts[timerType]++;83 });84 });85 });86 return Object.keys(aggregatedStats).map(function (key) {87 return _extends({}, aggregatedStats[key], {88 instanceCount: Object.keys(affectedIDs[key]).length89 });90 }).sort(function (a, b) {91 return b.totalDuration - a.totalDuration;92 });93}94function getInclusive() {95 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();96 if (!(process.env.NODE_ENV !== 'production')) {97 warnInProduction();98 return [];99 }100 var aggregatedStats = {};101 var affectedIDs = {};102 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {103 var _treeSnapshot$instanc = treeSnapshot[instanceID],104 displayName = _treeSnapshot$instanc.displayName,105 ownerID = _treeSnapshot$instanc.ownerID;106 var owner = treeSnapshot[ownerID];107 var key = (owner ? owner.displayName + ' > ' : '') + displayName;108 var stats = aggregatedStats[key];109 if (!stats) {110 affectedIDs[key] = {};111 stats = aggregatedStats[key] = {112 key: key,113 instanceCount: 0,114 inclusiveRenderDuration: 0,115 renderCount: 0116 };117 }118 affectedIDs[key][instanceID] = true;119 applyUpdate(stats);120 }121 var isCompositeByID = {};122 flushHistory.forEach(function (flush) {123 var measurements = flush.measurements;124 measurements.forEach(function (measurement) {125 var instanceID = measurement.instanceID,126 timerType = measurement.timerType;127 if (timerType !== 'render') {128 return;129 }130 isCompositeByID[instanceID] = true;131 });132 });133 flushHistory.forEach(function (flush) {134 var measurements = flush.measurements,135 treeSnapshot = flush.treeSnapshot;136 measurements.forEach(function (measurement) {137 var duration = measurement.duration,138 instanceID = measurement.instanceID,139 timerType = measurement.timerType;140 if (timerType !== 'render') {141 return;142 }143 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {144 stats.renderCount++;145 });146 var nextParentID = instanceID;147 while (nextParentID) {148 // As we traverse parents, only count inclusive time towards composites.149 // We know something is a composite if its render() was called.150 if (isCompositeByID[nextParentID]) {151 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {152 stats.inclusiveRenderDuration += duration;153 });154 }155 nextParentID = treeSnapshot[nextParentID].parentID;156 }157 });158 });159 return Object.keys(aggregatedStats).map(function (key) {160 return _extends({}, aggregatedStats[key], {161 instanceCount: Object.keys(affectedIDs[key]).length162 });163 }).sort(function (a, b) {164 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;165 });166}167function getWasted() {168 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();169 if (!(process.env.NODE_ENV !== 'production')) {170 warnInProduction();171 return [];172 }173 var aggregatedStats = {};174 var affectedIDs = {};175 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {176 var _treeSnapshot$instanc2 = treeSnapshot[instanceID],177 displayName = _treeSnapshot$instanc2.displayName,178 ownerID = _treeSnapshot$instanc2.ownerID;179 var owner = treeSnapshot[ownerID];180 var key = (owner ? owner.displayName + ' > ' : '') + displayName;181 var stats = aggregatedStats[key];182 if (!stats) {183 affectedIDs[key] = {};184 stats = aggregatedStats[key] = {185 key: key,186 instanceCount: 0,187 inclusiveRenderDuration: 0,188 renderCount: 0189 };190 }191 affectedIDs[key][instanceID] = true;192 applyUpdate(stats);193 }194 flushHistory.forEach(function (flush) {195 var measurements = flush.measurements,196 treeSnapshot = flush.treeSnapshot,197 operations = flush.operations;198 var isDefinitelyNotWastedByID = {};199 // Find host components associated with an operation in this batch.200 // Mark all components in their parent tree as definitely not wasted.201 operations.forEach(function (operation) {202 var instanceID = operation.instanceID;203 var nextParentID = instanceID;204 while (nextParentID) {205 isDefinitelyNotWastedByID[nextParentID] = true;206 nextParentID = treeSnapshot[nextParentID].parentID;207 }208 });209 // Find composite components that rendered in this batch.210 // These are potential candidates for being wasted renders.211 var renderedCompositeIDs = {};212 measurements.forEach(function (measurement) {213 var instanceID = measurement.instanceID,214 timerType = measurement.timerType;215 if (timerType !== 'render') {216 return;217 }218 renderedCompositeIDs[instanceID] = true;219 });220 measurements.forEach(function (measurement) {221 var duration = measurement.duration,222 instanceID = measurement.instanceID,223 timerType = measurement.timerType;224 if (timerType !== 'render') {225 return;226 }227 // If there was a DOM update below this component, or it has just been228 // mounted, its render() is not considered wasted.229 var updateCount = treeSnapshot[instanceID].updateCount;230 if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {231 return;232 }233 // We consider this render() wasted.234 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {235 stats.renderCount++;236 });237 var nextParentID = instanceID;238 while (nextParentID) {239 // Any parents rendered during this batch are considered wasted240 // unless we previously marked them as dirty.241 var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];242 if (isWasted) {243 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {244 stats.inclusiveRenderDuration += duration;245 });246 }247 nextParentID = treeSnapshot[nextParentID].parentID;248 }249 });250 });251 return Object.keys(aggregatedStats).map(function (key) {252 return _extends({}, aggregatedStats[key], {253 instanceCount: Object.keys(affectedIDs[key]).length254 });255 }).sort(function (a, b) {256 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;257 });258}259function getOperations() {260 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();261 if (!(process.env.NODE_ENV !== 'production')) {262 warnInProduction();263 return [];264 }265 var stats = [];266 flushHistory.forEach(function (flush, flushIndex) {267 var operations = flush.operations,268 treeSnapshot = flush.treeSnapshot;269 operations.forEach(function (operation) {270 var instanceID = operation.instanceID,271 type = operation.type,272 payload = operation.payload;273 var _treeSnapshot$instanc3 = treeSnapshot[instanceID],274 displayName = _treeSnapshot$instanc3.displayName,...

Full Screen

Full Screen

6b8a09e6ac23b036fdcd9bbaded5e50e7a430eReactPerf.js

Source:6b8a09e6ac23b036fdcd9bbaded5e50e7a430eReactPerf.js Github

copy

Full Screen

...18 if (typeof console !== 'undefined') {19 console.error('ReactPerf is not supported in the production builds of React. ' + 'To collect measurements, please use the development build of React instead.');20 }21}22function getLastMeasurements() {23 if (!__DEV__) {24 warnInProduction();25 return [];26 }27 return ReactDebugTool.getFlushHistory();28}29function getExclusive() {30 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();31 if (!__DEV__) {32 warnInProduction();33 return [];34 }35 var aggregatedStats = {};36 var affectedIDs = {};37 function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {38 var displayName = treeSnapshot[instanceID].displayName;39 var key = displayName;40 var stats = aggregatedStats[key];41 if (!stats) {42 affectedIDs[key] = {};43 stats = aggregatedStats[key] = {44 key: key,45 instanceCount: 0,46 counts: {},47 durations: {},48 totalDuration: 049 };50 }51 if (!stats.durations[timerType]) {52 stats.durations[timerType] = 0;53 }54 if (!stats.counts[timerType]) {55 stats.counts[timerType] = 0;56 }57 affectedIDs[key][instanceID] = true;58 applyUpdate(stats);59 }60 flushHistory.forEach(function (flush) {61 var measurements = flush.measurements,62 treeSnapshot = flush.treeSnapshot;63 measurements.forEach(function (measurement) {64 var duration = measurement.duration,65 instanceID = measurement.instanceID,66 timerType = measurement.timerType;67 updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {68 stats.totalDuration += duration;69 stats.durations[timerType] += duration;70 stats.counts[timerType]++;71 });72 });73 });74 return Object.keys(aggregatedStats).map(function (key) {75 return babelHelpers.extends({}, aggregatedStats[key], {76 instanceCount: Object.keys(affectedIDs[key]).length77 });78 }).sort(function (a, b) {79 return b.totalDuration - a.totalDuration;80 });81}82function getInclusive() {83 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();84 if (!__DEV__) {85 warnInProduction();86 return [];87 }88 var aggregatedStats = {};89 var affectedIDs = {};90 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {91 var _treeSnapshot$instanc = treeSnapshot[instanceID],92 displayName = _treeSnapshot$instanc.displayName,93 ownerID = _treeSnapshot$instanc.ownerID;94 var owner = treeSnapshot[ownerID];95 var key = (owner ? owner.displayName + ' > ' : '') + displayName;96 var stats = aggregatedStats[key];97 if (!stats) {98 affectedIDs[key] = {};99 stats = aggregatedStats[key] = {100 key: key,101 instanceCount: 0,102 inclusiveRenderDuration: 0,103 renderCount: 0104 };105 }106 affectedIDs[key][instanceID] = true;107 applyUpdate(stats);108 }109 var isCompositeByID = {};110 flushHistory.forEach(function (flush) {111 var measurements = flush.measurements;112 measurements.forEach(function (measurement) {113 var instanceID = measurement.instanceID,114 timerType = measurement.timerType;115 if (timerType !== 'render') {116 return;117 }118 isCompositeByID[instanceID] = true;119 });120 });121 flushHistory.forEach(function (flush) {122 var measurements = flush.measurements,123 treeSnapshot = flush.treeSnapshot;124 measurements.forEach(function (measurement) {125 var duration = measurement.duration,126 instanceID = measurement.instanceID,127 timerType = measurement.timerType;128 if (timerType !== 'render') {129 return;130 }131 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {132 stats.renderCount++;133 });134 var nextParentID = instanceID;135 while (nextParentID) {136 if (isCompositeByID[nextParentID]) {137 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {138 stats.inclusiveRenderDuration += duration;139 });140 }141 nextParentID = treeSnapshot[nextParentID].parentID;142 }143 });144 });145 return Object.keys(aggregatedStats).map(function (key) {146 return babelHelpers.extends({}, aggregatedStats[key], {147 instanceCount: Object.keys(affectedIDs[key]).length148 });149 }).sort(function (a, b) {150 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;151 });152}153function getWasted() {154 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();155 if (!__DEV__) {156 warnInProduction();157 return [];158 }159 var aggregatedStats = {};160 var affectedIDs = {};161 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {162 var _treeSnapshot$instanc2 = treeSnapshot[instanceID],163 displayName = _treeSnapshot$instanc2.displayName,164 ownerID = _treeSnapshot$instanc2.ownerID;165 var owner = treeSnapshot[ownerID];166 var key = (owner ? owner.displayName + ' > ' : '') + displayName;167 var stats = aggregatedStats[key];168 if (!stats) {169 affectedIDs[key] = {};170 stats = aggregatedStats[key] = {171 key: key,172 instanceCount: 0,173 inclusiveRenderDuration: 0,174 renderCount: 0175 };176 }177 affectedIDs[key][instanceID] = true;178 applyUpdate(stats);179 }180 flushHistory.forEach(function (flush) {181 var measurements = flush.measurements,182 treeSnapshot = flush.treeSnapshot,183 operations = flush.operations;184 var isDefinitelyNotWastedByID = {};185 operations.forEach(function (operation) {186 var instanceID = operation.instanceID;187 var nextParentID = instanceID;188 while (nextParentID) {189 isDefinitelyNotWastedByID[nextParentID] = true;190 nextParentID = treeSnapshot[nextParentID].parentID;191 }192 });193 var renderedCompositeIDs = {};194 measurements.forEach(function (measurement) {195 var instanceID = measurement.instanceID,196 timerType = measurement.timerType;197 if (timerType !== 'render') {198 return;199 }200 renderedCompositeIDs[instanceID] = true;201 });202 measurements.forEach(function (measurement) {203 var duration = measurement.duration,204 instanceID = measurement.instanceID,205 timerType = measurement.timerType;206 if (timerType !== 'render') {207 return;208 }209 var updateCount = treeSnapshot[instanceID].updateCount;210 if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {211 return;212 }213 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {214 stats.renderCount++;215 });216 var nextParentID = instanceID;217 while (nextParentID) {218 var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];219 if (isWasted) {220 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {221 stats.inclusiveRenderDuration += duration;222 });223 }224 nextParentID = treeSnapshot[nextParentID].parentID;225 }226 });227 });228 return Object.keys(aggregatedStats).map(function (key) {229 return babelHelpers.extends({}, aggregatedStats[key], {230 instanceCount: Object.keys(affectedIDs[key]).length231 });232 }).sort(function (a, b) {233 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;234 });235}236function getOperations() {237 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();238 if (!__DEV__) {239 warnInProduction();240 return [];241 }242 var stats = [];243 flushHistory.forEach(function (flush, flushIndex) {244 var operations = flush.operations,245 treeSnapshot = flush.treeSnapshot;246 operations.forEach(function (operation) {247 var instanceID = operation.instanceID,248 type = operation.type,249 payload = operation.payload;250 var _treeSnapshot$instanc3 = treeSnapshot[instanceID],251 displayName = _treeSnapshot$instanc3.displayName,...

Full Screen

Full Screen

16edb4adaa753cbcca816d5dd5f0bc041a1046ReactPerf.js

Source:16edb4adaa753cbcca816d5dd5f0bc041a1046ReactPerf.js Github

copy

Full Screen

...18 if (typeof console !== 'undefined') {19 console.error('ReactPerf is not supported in the production builds of React. ' + 'To collect measurements, please use the development build of React instead.');20 }21}22function getLastMeasurements() {23 if (!__DEV__) {24 warnInProduction();25 return [];26 }27 return ReactDebugTool.getFlushHistory();28}29function getExclusive() {30 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();31 if (!__DEV__) {32 warnInProduction();33 return [];34 }35 var aggregatedStats = {};36 var affectedIDs = {};37 function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {38 var displayName = treeSnapshot[instanceID].displayName;39 var key = displayName;40 var stats = aggregatedStats[key];41 if (!stats) {42 affectedIDs[key] = {};43 stats = aggregatedStats[key] = {44 key: key,45 instanceCount: 0,46 counts: {},47 durations: {},48 totalDuration: 049 };50 }51 if (!stats.durations[timerType]) {52 stats.durations[timerType] = 0;53 }54 if (!stats.counts[timerType]) {55 stats.counts[timerType] = 0;56 }57 affectedIDs[key][instanceID] = true;58 applyUpdate(stats);59 }60 flushHistory.forEach(function (flush) {61 var measurements = flush.measurements,62 treeSnapshot = flush.treeSnapshot;63 measurements.forEach(function (measurement) {64 var duration = measurement.duration,65 instanceID = measurement.instanceID,66 timerType = measurement.timerType;67 updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {68 stats.totalDuration += duration;69 stats.durations[timerType] += duration;70 stats.counts[timerType]++;71 });72 });73 });74 return Object.keys(aggregatedStats).map(function (key) {75 return babelHelpers.extends({}, aggregatedStats[key], {76 instanceCount: Object.keys(affectedIDs[key]).length77 });78 }).sort(function (a, b) {79 return b.totalDuration - a.totalDuration;80 });81}82function getInclusive() {83 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();84 if (!__DEV__) {85 warnInProduction();86 return [];87 }88 var aggregatedStats = {};89 var affectedIDs = {};90 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {91 var _treeSnapshot$instanc = treeSnapshot[instanceID],92 displayName = _treeSnapshot$instanc.displayName,93 ownerID = _treeSnapshot$instanc.ownerID;94 var owner = treeSnapshot[ownerID];95 var key = (owner ? owner.displayName + ' > ' : '') + displayName;96 var stats = aggregatedStats[key];97 if (!stats) {98 affectedIDs[key] = {};99 stats = aggregatedStats[key] = {100 key: key,101 instanceCount: 0,102 inclusiveRenderDuration: 0,103 renderCount: 0104 };105 }106 affectedIDs[key][instanceID] = true;107 applyUpdate(stats);108 }109 var isCompositeByID = {};110 flushHistory.forEach(function (flush) {111 var measurements = flush.measurements;112 measurements.forEach(function (measurement) {113 var instanceID = measurement.instanceID,114 timerType = measurement.timerType;115 if (timerType !== 'render') {116 return;117 }118 isCompositeByID[instanceID] = true;119 });120 });121 flushHistory.forEach(function (flush) {122 var measurements = flush.measurements,123 treeSnapshot = flush.treeSnapshot;124 measurements.forEach(function (measurement) {125 var duration = measurement.duration,126 instanceID = measurement.instanceID,127 timerType = measurement.timerType;128 if (timerType !== 'render') {129 return;130 }131 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {132 stats.renderCount++;133 });134 var nextParentID = instanceID;135 while (nextParentID) {136 if (isCompositeByID[nextParentID]) {137 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {138 stats.inclusiveRenderDuration += duration;139 });140 }141 nextParentID = treeSnapshot[nextParentID].parentID;142 }143 });144 });145 return Object.keys(aggregatedStats).map(function (key) {146 return babelHelpers.extends({}, aggregatedStats[key], {147 instanceCount: Object.keys(affectedIDs[key]).length148 });149 }).sort(function (a, b) {150 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;151 });152}153function getWasted() {154 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();155 if (!__DEV__) {156 warnInProduction();157 return [];158 }159 var aggregatedStats = {};160 var affectedIDs = {};161 function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {162 var _treeSnapshot$instanc2 = treeSnapshot[instanceID],163 displayName = _treeSnapshot$instanc2.displayName,164 ownerID = _treeSnapshot$instanc2.ownerID;165 var owner = treeSnapshot[ownerID];166 var key = (owner ? owner.displayName + ' > ' : '') + displayName;167 var stats = aggregatedStats[key];168 if (!stats) {169 affectedIDs[key] = {};170 stats = aggregatedStats[key] = {171 key: key,172 instanceCount: 0,173 inclusiveRenderDuration: 0,174 renderCount: 0175 };176 }177 affectedIDs[key][instanceID] = true;178 applyUpdate(stats);179 }180 flushHistory.forEach(function (flush) {181 var measurements = flush.measurements,182 treeSnapshot = flush.treeSnapshot,183 operations = flush.operations;184 var isDefinitelyNotWastedByID = {};185 operations.forEach(function (operation) {186 var instanceID = operation.instanceID;187 var nextParentID = instanceID;188 while (nextParentID) {189 isDefinitelyNotWastedByID[nextParentID] = true;190 nextParentID = treeSnapshot[nextParentID].parentID;191 }192 });193 var renderedCompositeIDs = {};194 measurements.forEach(function (measurement) {195 var instanceID = measurement.instanceID,196 timerType = measurement.timerType;197 if (timerType !== 'render') {198 return;199 }200 renderedCompositeIDs[instanceID] = true;201 });202 measurements.forEach(function (measurement) {203 var duration = measurement.duration,204 instanceID = measurement.instanceID,205 timerType = measurement.timerType;206 if (timerType !== 'render') {207 return;208 }209 var updateCount = treeSnapshot[instanceID].updateCount;210 if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {211 return;212 }213 updateAggregatedStats(treeSnapshot, instanceID, function (stats) {214 stats.renderCount++;215 });216 var nextParentID = instanceID;217 while (nextParentID) {218 var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];219 if (isWasted) {220 updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {221 stats.inclusiveRenderDuration += duration;222 });223 }224 nextParentID = treeSnapshot[nextParentID].parentID;225 }226 });227 });228 return Object.keys(aggregatedStats).map(function (key) {229 return babelHelpers.extends({}, aggregatedStats[key], {230 instanceCount: Object.keys(affectedIDs[key]).length231 });232 }).sort(function (a, b) {233 return b.inclusiveRenderDuration - a.inclusiveRenderDuration;234 });235}236function getOperations() {237 var flushHistory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getLastMeasurements();238 if (!__DEV__) {239 warnInProduction();240 return [];241 }242 var stats = [];243 flushHistory.forEach(function (flush, flushIndex) {244 var operations = flush.operations,245 treeSnapshot = flush.treeSnapshot;246 operations.forEach(function (operation) {247 var instanceID = operation.instanceID,248 type = operation.type,249 payload = operation.payload;250 var _treeSnapshot$instanc3 = treeSnapshot[instanceID],251 displayName = _treeSnapshot$instanc3.displayName,...

Full Screen

Full Screen

e3040dReactPerf.js

Source:e3040dReactPerf.js Github

copy

Full Screen

...19'ReactPerf is not supported in the production builds of React. '+20'To collect measurements, please use the development build of React instead.');21}22}23function getLastMeasurements(){24if(!__DEV__){25warnInProduction();26return[];27}28return ReactDebugTool.getFlushHistory();29}30function getExclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();31if(!__DEV__){32warnInProduction();33return[];34}35var aggregatedStats={};36var affectedIDs={};37function updateAggregatedStats(treeSnapshot,instanceID,timerType,applyUpdate){var38displayName=treeSnapshot[instanceID].displayName;39var key=displayName;40var stats=aggregatedStats[key];41if(!stats){42affectedIDs[key]={};43stats=aggregatedStats[key]={44key:key,45instanceCount:0,46counts:{},47durations:{},48totalDuration:0};49}50if(!stats.durations[timerType]){51stats.durations[timerType]=0;52}53if(!stats.counts[timerType]){54stats.counts[timerType]=0;55}56affectedIDs[key][instanceID]=true;57applyUpdate(stats);58}59flushHistory.forEach(function(flush){var60measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;61measurements.forEach(function(measurement){var62duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;63updateAggregatedStats(treeSnapshot,instanceID,timerType,function(stats){64stats.totalDuration+=duration;65stats.durations[timerType]+=duration;66stats.counts[timerType]++;67});68});69});70return Object.keys(aggregatedStats).71map(function(key){return babelHelpers.extends({},72aggregatedStats[key],{73instanceCount:Object.keys(affectedIDs[key]).length});}).74sort(function(a,b){return(75b.totalDuration-a.totalDuration);});76}77function getInclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();78if(!__DEV__){79warnInProduction();80return[];81}82var aggregatedStats={};83var affectedIDs={};84function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc=85treeSnapshot[instanceID],displayName=_treeSnapshot$instanc.displayName,ownerID=_treeSnapshot$instanc.ownerID;86var owner=treeSnapshot[ownerID];87var key=(owner?owner.displayName+' > ':'')+displayName;88var stats=aggregatedStats[key];89if(!stats){90affectedIDs[key]={};91stats=aggregatedStats[key]={92key:key,93instanceCount:0,94inclusiveRenderDuration:0,95renderCount:0};96}97affectedIDs[key][instanceID]=true;98applyUpdate(stats);99}100var isCompositeByID={};101flushHistory.forEach(function(flush){var102measurements=flush.measurements;103measurements.forEach(function(measurement){var104instanceID=measurement.instanceID,timerType=measurement.timerType;105if(timerType!=='render'){106return;107}108isCompositeByID[instanceID]=true;109});110});111flushHistory.forEach(function(flush){var112measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;113measurements.forEach(function(measurement){var114duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;115if(timerType!=='render'){116return;117}118updateAggregatedStats(treeSnapshot,instanceID,function(stats){119stats.renderCount++;120});121var nextParentID=instanceID;122while(nextParentID){123if(isCompositeByID[nextParentID]){124updateAggregatedStats(treeSnapshot,nextParentID,function(stats){125stats.inclusiveRenderDuration+=duration;126});127}128nextParentID=treeSnapshot[nextParentID].parentID;129}130});131});132return Object.keys(aggregatedStats).133map(function(key){return babelHelpers.extends({},134aggregatedStats[key],{135instanceCount:Object.keys(affectedIDs[key]).length});}).136sort(function(a,b){return(137b.inclusiveRenderDuration-a.inclusiveRenderDuration);});138}139function getWasted(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();140if(!__DEV__){141warnInProduction();142return[];143}144var aggregatedStats={};145var affectedIDs={};146function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc2=147treeSnapshot[instanceID],displayName=_treeSnapshot$instanc2.displayName,ownerID=_treeSnapshot$instanc2.ownerID;148var owner=treeSnapshot[ownerID];149var key=(owner?owner.displayName+' > ':'')+displayName;150var stats=aggregatedStats[key];151if(!stats){152affectedIDs[key]={};153stats=aggregatedStats[key]={154key:key,155instanceCount:0,156inclusiveRenderDuration:0,157renderCount:0};158}159affectedIDs[key][instanceID]=true;160applyUpdate(stats);161}162flushHistory.forEach(function(flush){var163measurements=flush.measurements,treeSnapshot=flush.treeSnapshot,operations=flush.operations;164var isDefinitelyNotWastedByID={};165operations.forEach(function(operation){var166instanceID=operation.instanceID;167var nextParentID=instanceID;168while(nextParentID){169isDefinitelyNotWastedByID[nextParentID]=true;170nextParentID=treeSnapshot[nextParentID].parentID;171}172});173var renderedCompositeIDs={};174measurements.forEach(function(measurement){var175instanceID=measurement.instanceID,timerType=measurement.timerType;176if(timerType!=='render'){177return;178}179renderedCompositeIDs[instanceID]=true;180});181measurements.forEach(function(measurement){var182duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;183if(timerType!=='render'){184return;185}var186updateCount=treeSnapshot[instanceID].updateCount;187if(isDefinitelyNotWastedByID[instanceID]||updateCount===0){188return;189}190updateAggregatedStats(treeSnapshot,instanceID,function(stats){191stats.renderCount++;192});193var nextParentID=instanceID;194while(nextParentID){195var isWasted=196renderedCompositeIDs[nextParentID]&&197!isDefinitelyNotWastedByID[nextParentID];198if(isWasted){199updateAggregatedStats(treeSnapshot,nextParentID,function(stats){200stats.inclusiveRenderDuration+=duration;201});202}203nextParentID=treeSnapshot[nextParentID].parentID;204}205});206});207return Object.keys(aggregatedStats).208map(function(key){return babelHelpers.extends({},209aggregatedStats[key],{210instanceCount:Object.keys(affectedIDs[key]).length});}).211sort(function(a,b){return(212b.inclusiveRenderDuration-a.inclusiveRenderDuration);});213}214function getOperations(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();215if(!__DEV__){216warnInProduction();217return[];218}219var stats=[];220flushHistory.forEach(function(flush,flushIndex){var221operations=flush.operations,treeSnapshot=flush.treeSnapshot;222operations.forEach(function(operation){var223instanceID=operation.instanceID,type=operation.type,payload=operation.payload;var _treeSnapshot$instanc3=224treeSnapshot[instanceID],displayName=_treeSnapshot$instanc3.displayName,ownerID=_treeSnapshot$instanc3.ownerID;225var owner=treeSnapshot[ownerID];226var key=(owner?owner.displayName+' > ':'')+displayName;227stats.push({228flushIndex:flushIndex,...

Full Screen

Full Screen

711832ReactPerf.js

Source:711832ReactPerf.js Github

copy

Full Screen

...19'ReactPerf is not supported in the production builds of React. '+20'To collect measurements, please use the development build of React instead.');21}22}23function getLastMeasurements(){24if(!__DEV__){25warnInProduction();26return[];27}28return ReactDebugTool.getFlushHistory();29}30function getExclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();31if(!__DEV__){32warnInProduction();33return[];34}35var aggregatedStats={};36var affectedIDs={};37function updateAggregatedStats(treeSnapshot,instanceID,timerType,applyUpdate){var38displayName=treeSnapshot[instanceID].displayName;39var key=displayName;40var stats=aggregatedStats[key];41if(!stats){42affectedIDs[key]={};43stats=aggregatedStats[key]={44key:key,45instanceCount:0,46counts:{},47durations:{},48totalDuration:0};49}50if(!stats.durations[timerType]){51stats.durations[timerType]=0;52}53if(!stats.counts[timerType]){54stats.counts[timerType]=0;55}56affectedIDs[key][instanceID]=true;57applyUpdate(stats);58}59flushHistory.forEach(function(flush){var60measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;61measurements.forEach(function(measurement){var62duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;63updateAggregatedStats(treeSnapshot,instanceID,timerType,function(stats){64stats.totalDuration+=duration;65stats.durations[timerType]+=duration;66stats.counts[timerType]++;67});68});69});70return Object.keys(aggregatedStats).71map(function(key){return babelHelpers.extends({},72aggregatedStats[key],{73instanceCount:Object.keys(affectedIDs[key]).length});}).74sort(function(a,b){return(75b.totalDuration-a.totalDuration);});76}77function getInclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();78if(!__DEV__){79warnInProduction();80return[];81}82var aggregatedStats={};83var affectedIDs={};84function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc=85treeSnapshot[instanceID],displayName=_treeSnapshot$instanc.displayName,ownerID=_treeSnapshot$instanc.ownerID;86var owner=treeSnapshot[ownerID];87var key=(owner?owner.displayName+' > ':'')+displayName;88var stats=aggregatedStats[key];89if(!stats){90affectedIDs[key]={};91stats=aggregatedStats[key]={92key:key,93instanceCount:0,94inclusiveRenderDuration:0,95renderCount:0};96}97affectedIDs[key][instanceID]=true;98applyUpdate(stats);99}100var isCompositeByID={};101flushHistory.forEach(function(flush){var102measurements=flush.measurements;103measurements.forEach(function(measurement){var104instanceID=measurement.instanceID,timerType=measurement.timerType;105if(timerType!=='render'){106return;107}108isCompositeByID[instanceID]=true;109});110});111flushHistory.forEach(function(flush){var112measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;113measurements.forEach(function(measurement){var114duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;115if(timerType!=='render'){116return;117}118updateAggregatedStats(treeSnapshot,instanceID,function(stats){119stats.renderCount++;120});121var nextParentID=instanceID;122while(nextParentID){123if(isCompositeByID[nextParentID]){124updateAggregatedStats(treeSnapshot,nextParentID,function(stats){125stats.inclusiveRenderDuration+=duration;126});127}128nextParentID=treeSnapshot[nextParentID].parentID;129}130});131});132return Object.keys(aggregatedStats).133map(function(key){return babelHelpers.extends({},134aggregatedStats[key],{135instanceCount:Object.keys(affectedIDs[key]).length});}).136sort(function(a,b){return(137b.inclusiveRenderDuration-a.inclusiveRenderDuration);});138}139function getWasted(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();140if(!__DEV__){141warnInProduction();142return[];143}144var aggregatedStats={};145var affectedIDs={};146function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc2=147treeSnapshot[instanceID],displayName=_treeSnapshot$instanc2.displayName,ownerID=_treeSnapshot$instanc2.ownerID;148var owner=treeSnapshot[ownerID];149var key=(owner?owner.displayName+' > ':'')+displayName;150var stats=aggregatedStats[key];151if(!stats){152affectedIDs[key]={};153stats=aggregatedStats[key]={154key:key,155instanceCount:0,156inclusiveRenderDuration:0,157renderCount:0};158}159affectedIDs[key][instanceID]=true;160applyUpdate(stats);161}162flushHistory.forEach(function(flush){var163measurements=flush.measurements,treeSnapshot=flush.treeSnapshot,operations=flush.operations;164var isDefinitelyNotWastedByID={};165operations.forEach(function(operation){var166instanceID=operation.instanceID;167var nextParentID=instanceID;168while(nextParentID){169isDefinitelyNotWastedByID[nextParentID]=true;170nextParentID=treeSnapshot[nextParentID].parentID;171}172});173var renderedCompositeIDs={};174measurements.forEach(function(measurement){var175instanceID=measurement.instanceID,timerType=measurement.timerType;176if(timerType!=='render'){177return;178}179renderedCompositeIDs[instanceID]=true;180});181measurements.forEach(function(measurement){var182duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;183if(timerType!=='render'){184return;185}var186updateCount=treeSnapshot[instanceID].updateCount;187if(isDefinitelyNotWastedByID[instanceID]||updateCount===0){188return;189}190updateAggregatedStats(treeSnapshot,instanceID,function(stats){191stats.renderCount++;192});193var nextParentID=instanceID;194while(nextParentID){195var isWasted=196renderedCompositeIDs[nextParentID]&&197!isDefinitelyNotWastedByID[nextParentID];198if(isWasted){199updateAggregatedStats(treeSnapshot,nextParentID,function(stats){200stats.inclusiveRenderDuration+=duration;201});202}203nextParentID=treeSnapshot[nextParentID].parentID;204}205});206});207return Object.keys(aggregatedStats).208map(function(key){return babelHelpers.extends({},209aggregatedStats[key],{210instanceCount:Object.keys(affectedIDs[key]).length});}).211sort(function(a,b){return(212b.inclusiveRenderDuration-a.inclusiveRenderDuration);});213}214function getOperations(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();215if(!__DEV__){216warnInProduction();217return[];218}219var stats=[];220flushHistory.forEach(function(flush,flushIndex){var221operations=flush.operations,treeSnapshot=flush.treeSnapshot;222operations.forEach(function(operation){var223instanceID=operation.instanceID,type=operation.type,payload=operation.payload;var _treeSnapshot$instanc3=224treeSnapshot[instanceID],displayName=_treeSnapshot$instanc3.displayName,ownerID=_treeSnapshot$instanc3.ownerID;225var owner=treeSnapshot[ownerID];226var key=(owner?owner.displayName+' > ':'')+displayName;227stats.push({228flushIndex:flushIndex,...

Full Screen

Full Screen

6558d0ReactPerf.js

Source:6558d0ReactPerf.js Github

copy

Full Screen

...19'ReactPerf is not supported in the production builds of React. '+20'To collect measurements, please use the development build of React instead.');21}22}23function getLastMeasurements(){24if(!__DEV__){25warnInProduction();26return[];27}28return ReactDebugTool.getFlushHistory();29}30function getExclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();31if(!__DEV__){32warnInProduction();33return[];34}35var aggregatedStats={};36var affectedIDs={};37function updateAggregatedStats(treeSnapshot,instanceID,timerType,applyUpdate){var38displayName=treeSnapshot[instanceID].displayName;39var key=displayName;40var stats=aggregatedStats[key];41if(!stats){42affectedIDs[key]={};43stats=aggregatedStats[key]={44key:key,45instanceCount:0,46counts:{},47durations:{},48totalDuration:0};49}50if(!stats.durations[timerType]){51stats.durations[timerType]=0;52}53if(!stats.counts[timerType]){54stats.counts[timerType]=0;55}56affectedIDs[key][instanceID]=true;57applyUpdate(stats);58}59flushHistory.forEach(function(flush){var60measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;61measurements.forEach(function(measurement){var62duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;63updateAggregatedStats(treeSnapshot,instanceID,timerType,function(stats){64stats.totalDuration+=duration;65stats.durations[timerType]+=duration;66stats.counts[timerType]++;67});68});69});70return Object.keys(aggregatedStats).71map(function(key){return babelHelpers.extends({},72aggregatedStats[key],{73instanceCount:Object.keys(affectedIDs[key]).length});}).74sort(function(a,b){return(75b.totalDuration-a.totalDuration);});76}77function getInclusive(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();78if(!__DEV__){79warnInProduction();80return[];81}82var aggregatedStats={};83var affectedIDs={};84function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc=85treeSnapshot[instanceID],displayName=_treeSnapshot$instanc.displayName,ownerID=_treeSnapshot$instanc.ownerID;86var owner=treeSnapshot[ownerID];87var key=(owner?owner.displayName+' > ':'')+displayName;88var stats=aggregatedStats[key];89if(!stats){90affectedIDs[key]={};91stats=aggregatedStats[key]={92key:key,93instanceCount:0,94inclusiveRenderDuration:0,95renderCount:0};96}97affectedIDs[key][instanceID]=true;98applyUpdate(stats);99}100var isCompositeByID={};101flushHistory.forEach(function(flush){var102measurements=flush.measurements;103measurements.forEach(function(measurement){var104instanceID=measurement.instanceID,timerType=measurement.timerType;105if(timerType!=='render'){106return;107}108isCompositeByID[instanceID]=true;109});110});111flushHistory.forEach(function(flush){var112measurements=flush.measurements,treeSnapshot=flush.treeSnapshot;113measurements.forEach(function(measurement){var114duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;115if(timerType!=='render'){116return;117}118updateAggregatedStats(treeSnapshot,instanceID,function(stats){119stats.renderCount++;120});121var nextParentID=instanceID;122while(nextParentID){123if(isCompositeByID[nextParentID]){124updateAggregatedStats(treeSnapshot,nextParentID,function(stats){125stats.inclusiveRenderDuration+=duration;126});127}128nextParentID=treeSnapshot[nextParentID].parentID;129}130});131});132return Object.keys(aggregatedStats).133map(function(key){return babelHelpers.extends({},134aggregatedStats[key],{135instanceCount:Object.keys(affectedIDs[key]).length});}).136sort(function(a,b){return(137b.inclusiveRenderDuration-a.inclusiveRenderDuration);});138}139function getWasted(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();140if(!__DEV__){141warnInProduction();142return[];143}144var aggregatedStats={};145var affectedIDs={};146function updateAggregatedStats(treeSnapshot,instanceID,applyUpdate){var _treeSnapshot$instanc2=147treeSnapshot[instanceID],displayName=_treeSnapshot$instanc2.displayName,ownerID=_treeSnapshot$instanc2.ownerID;148var owner=treeSnapshot[ownerID];149var key=(owner?owner.displayName+' > ':'')+displayName;150var stats=aggregatedStats[key];151if(!stats){152affectedIDs[key]={};153stats=aggregatedStats[key]={154key:key,155instanceCount:0,156inclusiveRenderDuration:0,157renderCount:0};158}159affectedIDs[key][instanceID]=true;160applyUpdate(stats);161}162flushHistory.forEach(function(flush){var163measurements=flush.measurements,treeSnapshot=flush.treeSnapshot,operations=flush.operations;164var isDefinitelyNotWastedByID={};165operations.forEach(function(operation){var166instanceID=operation.instanceID;167var nextParentID=instanceID;168while(nextParentID){169isDefinitelyNotWastedByID[nextParentID]=true;170nextParentID=treeSnapshot[nextParentID].parentID;171}172});173var renderedCompositeIDs={};174measurements.forEach(function(measurement){var175instanceID=measurement.instanceID,timerType=measurement.timerType;176if(timerType!=='render'){177return;178}179renderedCompositeIDs[instanceID]=true;180});181measurements.forEach(function(measurement){var182duration=measurement.duration,instanceID=measurement.instanceID,timerType=measurement.timerType;183if(timerType!=='render'){184return;185}var186updateCount=treeSnapshot[instanceID].updateCount;187if(isDefinitelyNotWastedByID[instanceID]||updateCount===0){188return;189}190updateAggregatedStats(treeSnapshot,instanceID,function(stats){191stats.renderCount++;192});193var nextParentID=instanceID;194while(nextParentID){195var isWasted=196renderedCompositeIDs[nextParentID]&&197!isDefinitelyNotWastedByID[nextParentID];198if(isWasted){199updateAggregatedStats(treeSnapshot,nextParentID,function(stats){200stats.inclusiveRenderDuration+=duration;201});202}203nextParentID=treeSnapshot[nextParentID].parentID;204}205});206});207return Object.keys(aggregatedStats).208map(function(key){return babelHelpers.extends({},209aggregatedStats[key],{210instanceCount:Object.keys(affectedIDs[key]).length});}).211sort(function(a,b){return(212b.inclusiveRenderDuration-a.inclusiveRenderDuration);});213}214function getOperations(){var flushHistory=arguments.length>0&&arguments[0]!==undefined?arguments[0]:getLastMeasurements();215if(!__DEV__){216warnInProduction();217return[];218}219var stats=[];220flushHistory.forEach(function(flush,flushIndex){var221operations=flush.operations,treeSnapshot=flush.treeSnapshot;222operations.forEach(function(operation){var223instanceID=operation.instanceID,type=operation.type,payload=operation.payload;var _treeSnapshot$instanc3=224treeSnapshot[instanceID],displayName=_treeSnapshot$instanc3.displayName,ownerID=_treeSnapshot$instanc3.ownerID;225var owner=treeSnapshot[ownerID];226var key=(owner?owner.displayName+' > ':'')+displayName;227stats.push({228flushIndex:flushIndex,...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

...11 started ? Perf.stop() : Perf.start();12 this.setState({ started: !started });13 }14 printWasted = () => {15 const lastMeasurements = Perf.getLastMeasurements();16 Perf.printWasted(lastMeasurements);17 }18 printOperations = () => {19 const lastMeasurements = Perf.getLastMeasurements();20 Perf.printOperations(lastMeasurements);21 }22 render() {23 const { started } = this.state;24 return <div className="perf-profiler">25 <h1>Performance Profiler</h1>26 <button onClick={this.toggle}>{started ? 'Stop' : 'Start'}</button>27 <button onClick={this.printWasted}>Print Wasted</button>28 <button onClick={this.printOperations}>Print Operations</button>29 </div>;30 }31}...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const metrics = await page._delegate.getLastMeasurements();6 console.log(metrics);7 await browser.close();8})();9{10}

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('playwright/lib/server/chromium/crNetworkRecorder');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const measurements = getLastMeasurements(page);8 console.log(measurements);9 await browser.close();10})();11{ navigationStart: 0,12 estimatedInputLatency: 0 }13const { chromium } = require('playwright');14const { getLastMeasurements } = require('playwright/lib/server/chromium/crNetworkRecorder');15(async () => {16 const browser = await chromium.launch();17 const context = await browser.newContext();18 const page = await context.newPage();19 const measurements = getLastMeasurements(page);20 console.log(measurements);21 await browser.close();22})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('@playwright/test/lib/traceViewer/traceModel');2const { getNetworkEvents } = require('@playwright/test/lib/traceViewer/networkModel');3const { getFrames } = require('@playwright/test/lib/traceViewer/frameModel');4const { getFrameTree } = require('@playwright/test/lib/traceViewer/frameTree');5const { chromium } = require('playwright');6const fs = require('fs');7const path = require('path');8(async () => {9 const browser = await chromium.launch({ headless: false });10 const context = await browser.newContext();11 const page = await context.newPage();12 await page.screenshot({ path: 'example.png' });13 const trace = await page.context().tracing.stop({ screenshots: true, snapshots: true });14 fs.writeFileSync(path.join(__dirname, 'trace.zip'), trace);15 await browser.close();16})();17const { chromium } = require('playwright');18const fs = require('fs');19const path = require('path');20const trace = fs.readFileSync(path.join(__dirname, 'trace.zip'));21const traceViewer = await chromium.loadTrace(trace);22const { getLastMeasurements } = require('@playwright/test/lib/traceViewer/traceModel');23const { getNetworkEvents } = require('@playwright/test/lib/traceViewer/networkModel');24const { getFrames } = require('@playwright/test/lib/traceViewer/frameModel');25const { getFrameTree } = require('@playwright/test/lib/traceViewer/frameTree');26const measurements = getLastMeasurements(traceViewer);27const networkEvents = getNetworkEvents(traceViewer);28const frames = getFrames(traceViewer);29const frameTree = getFrameTree(traceViewer);30console.log(measurements);31console.log(networkEvents);32console.log(frames);33console.log(frameTree);

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');2const measurements = await getLastMeasurements();3console.log(measurements);4const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');5const measurements = await getLastMeasurements();6console.log(measurements);7const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');8const measurements = await getLastMeasurements();9console.log(measurements);10const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');11const measurements = await getLastMeasurements();12console.log(measurements);13const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');14const measurements = await getLastMeasurements();15console.log(measurements);16const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');17const measurements = await getLastMeasurements();18console.log(measurements);19const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');20const measurements = await getLastMeasurements();21console.log(measurements);22const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');23const measurements = await getLastMeasurements();24console.log(measurements);25const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');26const measurements = await getLastMeasurements();27console.log(measurements);28const { getLastMeasurements } = require('playwright/lib/server/trace/recorder/recorderApp');29const measurements = await getLastMeasurements();30console.log(measurements);31const { getLastMeasurements } =

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('@playwright/test/lib/server/traceViewer/traceModel');2const trace = require('./trace.json');3const { performance } = require('perf_hooks');4const t0 = performance.now();5const lastMeasurements = getLastMeasurements(trace.traceEvents);6const t1 = performance.now();7console.log(`Performance: ${t1 - t0} ms`);8console.log(lastMeasurements);9{10 }11}12const { getLastMeasurements } = require('@playwright/test/lib/server/traceViewer/traceModel');13const trace = require('./trace.json');14const { performance } = require('perf_hooks');15const t0 = performance.now();16const lastMeasurements = getLastMeasurements(trace.traceEvents);17const t1 = performance.now();18console.log(`Performance: ${t1 - t0} ms`);19console.log(lastMeasurements);20Contributions are welcome! Please check out the [Contributing to Playwright](

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('@playwright/test/lib/server/traceViewer/traceModel');2const { chromium } = require('playwright');3const trace = require('./trace.json');4const traceModel = getLastMeasurements(trace);5const { page } = await chromium.launch({ trace: 'trace.zip' });6await page.screenshot({ path: 'example.png' });7await page.close();8await browser.close();9const { page } = await chromium.launch({ trace: 'trace.zip' });10const trace = require('./trace.json');11const traceModel = getLastMeasurements(trace);12const { page } = await chromium.launch({ trace: 'trace.zip' });13await page.screenshot({ path: 'example.png' });14await page.close();15await browser.close();16const { page } = await chromium.launch({ trace: 'trace.zip' });17const trace = require('./trace.json');18const traceModel = getLastMeasurements(trace);19const { page } = await chromium.launch({ trace: 'trace.zip' });20const trace = require('./trace.json');21const traceModel = getLastMeasurements(trace);22const { page } = await chromium.launch({ trace: 'trace.zip' });23const trace = require('./trace.json');24const traceModel = getLastMeasurements(trace);25const { page } = await chromium.launch({ trace: 'trace.zip' });26const trace = require('./trace.json');27const traceModel = getLastMeasurements(trace);28const { page } = await chromium.launch({ trace: 'trace.zip' });29const trace = require('./trace.json');30const traceModel = getLastMeasurements(trace);31const { page } = await chromium.launch({ trace: 'trace.zip' });32const trace = require('./trace.json');33const traceModel = getLastMeasurements(trace);34const { page } = await chromium.launch({ trace: 'trace.zip' });35const trace = require('./trace.json');36const traceModel = getLastMeasurements(trace);37const { page } = await chromium.launch({ trace: 'trace.zip' });38const trace = require('./trace.json');

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('@playwright/test/lib/trace/recorder/measurements');2const measurements = getLastMeasurements();3console.log(measurements);4const { getLastMeasurements } = require('@playwright/test/lib/trace/recorder/measurements');5const measurements = getLastMeasurements();6console.log(measurements);

Full Screen

Using AI Code Generation

copy

Full Screen

1const { getLastMeasurements } = require('@playwright/test/lib/traceModel');2const trace = await getLastMeasurements();3console.log(trace);4await browser.close();5{ 'recording-1': { 'action-1': { 'measure-1': { start: 0, end: 0.4 } } } }6{ 'recording-id': { 'action-id': { 'measure-id': { start: 0, end: 0.4 } } } }

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful