function createRow(table, cellName, items) {var tr = document.createElement('tr');var res = [];items.forEach(function(x, i) {if (x === undefined) {res.push(null);return;}var td = document.createElement(cellName);td.textContent = x;tr.appendChild(td);res.push(td);var colspan = 1;for (var n = i + 1; n < items.length; n++) {if (items[n] !== undefined) {break;}colspan += 1;}if (colspan > 1) {td.colSpan = colspan;}});table.appendChild(tr);return res;}function createVisualizationTable(data, cutoff = 0, sort = "") {var table = document.createElement('table');table.className = 'popup-table';var keys = Object.keys(data);if (sort === "number") {keys = keys.sort(function(a, b) {return data[b] - data[a];});} else {keys = keys.sort();}var items = keys.map(function(x) {return {key: x, parts: x.split('/'), value: data[x]};});var maxLength = items.reduce(function(a, b) {return Math.max(a, b.parts.length);}, 0);var cols = createRow(table,'th',[cutoff === 0 ? 'key' : 'record',cutoff === 0 ? 'value' : 'seconds']);cols[0].colSpan = maxLength;function arraysEqual(a, b) {return !(a < b || b < a);}var addLevel = function(level, parent, hide) {var matching = items.filter(function(x) {return x.parts[level] && !x.parts[level + 1] && arraysEqual(x.parts.slice(0, level), parent);});if (sort === "number") {matching = matching.sort(function(a, b) {return b.value - a.value;});} else {matching = matching.sort();}var othersTime = 0;var othersList = [];var othersRows = [];var childrenRows = [];matching.forEach(function(x) {var visible = (cutoff === 0 && !hide) || (x.value >= cutoff && !hide);var cells = [];for (var i = 0; i < maxLength; i++) {cells.push(x.parts[i]);}cells.push(cutoff === 0 ? x.value : x.value.toFixed(3));var cols = createRow(table, 'td', cells);for (i = 0; i < level; i++) {cols[i].className = 'muted';}var tr = cols[0].parentNode;if (!visible) {tr.classList.add("hidden");}if (cutoff === 0 || x.value >= cutoff) {childrenRows.push(tr);} else {othersTime += x.value;othersList.push(x.parts[level]);othersRows.push(tr);}var children = addLevel(level + 1, parent.concat([x.parts[level]]), true);if (children.length > 0) {var cell = cols[level];var onclick = function() {cell.classList.remove("link");cell.removeEventListener("click", onclick);children.forEach(function(x) {x.classList.remove("hidden");});};cell.classList.add("link");cell.addEventListener("click", onclick);}});if (othersTime > 0) {var cells = [];for (var i = 0; i < maxLength; i++) {cells.push(parent[i]);}cells.push(othersTime.toFixed(3));cells[level] = 'others';var cols = createRow(table, 'td', cells);for (i = 0; i < level; i++) {cols[i].className = 'muted';}var cell = cols[level];var tr = cell.parentNode;var onclick = function() {tr.classList.add("hidden");cell.classList.remove("link");cell.removeEventListener("click", onclick);othersRows.forEach(function(x) {x.classList.remove("hidden");});};cell.title = othersList.join(", ");cell.classList.add("link");cell.addEventListener("click", onclick);if (hide) {tr.classList.add("hidden");}childrenRows.push(tr);}return childrenRows;};addLevel(0, []);return table;}function showProfile(path, cutoff = 0.05) {requestGet(path, {}, function(data) {data.records['total'] = data.total;const table = createVisualizationTable(data.records, cutoff, "number");popup(table);});}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。