From 3383057b456f1bfeda6667e1e20f11b310fb2198 Mon Sep 17 00:00:00 2001 From: "lizhuosong@huawei.com" Date: Thu, 18 Apr 2024 15:57:13 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lizhuosong@huawei.com --- ide/src/base-ui/table/LitPageTable.ts | 566 +++++++++--------- ide/src/trace/component/SpSystemTrace.line.ts | 1 + .../trace/component/chart/PerfDataQuery.ts | 22 +- .../component/chart/SpAbilityMonitorChart.ts | 111 ++-- .../trace/component/chart/SpAllAppStartups.ts | 6 +- ide/src/trace/component/chart/SpArkTsChart.ts | 46 +- ide/src/trace/component/trace/SpChartList.ts | 73 ++- .../trace/component/trace/base/TraceSheet.ts | 2 + .../trace/component/trace/sheet/SheetUtils.ts | 8 +- .../component/trace/sheet/TabPaneCurrent.ts | 63 +- .../trace/sheet/TabPaneCurrentSelection.ts | 258 +++++--- .../component/trace/sheet/TabPaneFilter.ts | 122 ++-- .../trace/sheet/hilog/TabPaneHiLogs.ts | 4 +- .../trace/sheet/hiperf/TabPerfProfile.ts | 212 +++---- .../trace/sheet/hiperf/TabPerfSampleList.ts | 2 +- .../sheet/hisysevent/TabPaneHisysEvents.ts | 1 + .../trace/sheet/irq/TabPaneIrqCounter.ts | 7 +- .../trace/sheet/jank/TabPaneFrames.ts | 28 +- .../sheet/native-memory/TabPaneNMCallTree.ts | 231 +++---- .../native-memory/TabPaneNMSampleList.ts | 111 ++-- .../TabPaneNMStatisticAnalysis.ts | 318 +++++----- .../sheet/native-memory/TabPaneNMStatstics.ts | 16 +- .../sheet/native-memory/TabPaneNMemory.ts | 12 +- .../trace/sheet/process/TabPaneCounter.ts | 12 +- .../sheet/process/TabPaneThreadStates.ts | 97 ++- .../trace/sheet/process/TabPaneThreadUsage.ts | 69 ++- .../trace/sheet/sdk/TabPaneSdkCounter.ts | 41 +- .../component/trace/sheet/sdk/TabUtil.ts | 3 +- .../trace/sheet/smaps/TabPaneSmapsRecord.ts | 8 +- .../trace/sheet/smaps/TabPaneSmapsSample.ts | 15 +- .../sheet/smaps/TabPaneSmapsStatistics.ts | 7 +- .../trace/sheet/task/TabPaneTaskFrames.ts | 9 +- .../vmtracker/TabPaneDmaSelectVmTracker.ts | 18 +- .../sheet/vmtracker/TabPaneDmaVmTracker.ts | 8 +- .../vmtracker/TabPaneGpuMemoryVmTracker.ts | 8 +- .../vmtracker/TabPaneGpuResourceVmTracker.ts | 5 +- .../vmtracker/TabPanePurgPinComparisonVM.ts | 21 +- .../vmtracker/TabPanePurgTotalComparisonVM.ts | 21 +- .../sheet/vmtracker/TabPaneVmTrackerShm.ts | 19 +- .../TabPaneVmTrackerShmComparison.ts | 11 +- .../vmtracker/TabPaneVmTrackerShmSelection.ts | 21 +- 41 files changed, 1531 insertions(+), 1082 deletions(-) diff --git a/ide/src/base-ui/table/LitPageTable.ts b/ide/src/base-ui/table/LitPageTable.ts index 6b83b2b8a..58e27da0d 100644 --- a/ide/src/base-ui/table/LitPageTable.ts +++ b/ide/src/base-ui/table/LitPageTable.ts @@ -38,12 +38,12 @@ export class LitPageTable extends BaseElement { currentRecycleList: HTMLDivElement[] = []; currentTreeDivList: HTMLDivElement[] = []; public rememberScrollTop = false; - public getItemTextColor?: (data: any) => string; - public itemTextHandleMap: Map string> = new Map string>(); + public getItemTextColor?: (data: unknown) => string; + public itemTextHandleMap: Map string> = new Map string>(); public exportLoading: boolean = false; - public exportTextHandleMap: Map string> = new Map string>(); - public ds: Array = []; - public recycleDs: Array = []; + public exportTextHandleMap: Map string> = new Map string>(); + public ds: Array = []; + public recycleDs: Array = []; public tableColumns: NodeListOf | undefined; public tableElement: HTMLDivElement | null | undefined; public columns: Array | null | undefined; @@ -111,7 +111,7 @@ export class LitPageTable extends BaseElement { set scrollY(value) { this.setAttribute('scroll-y', value); } - get recycleDataSource(): any[] { + get recycleDataSource(): unknown[] { return this.ds || []; } @@ -127,7 +127,7 @@ export class LitPageTable extends BaseElement { } if (this.hasAttribute('tree')) { this.recycleDs = this.meauseTreeRowElement(value); - } else { + } else {// @ts-ignore this.recycleDs = this.meauseAllRowHeight(this.pagination ? value[0] : value); } } @@ -207,9 +207,9 @@ export class LitPageTable extends BaseElement { showCurrentPageData(): void { this.toTop(); this.currentPageDiv!.textContent = `第 ${(this.currentPage || 0) + 1} 页,共 ${this.ds.length} 页`; - if (this.hasAttribute('tree')) { + if (this.hasAttribute('tree')) {// @ts-ignore this.recycleDs = this.meauseTreeRowElement(this.ds[this.currentPage]); - } else { + } else {// @ts-ignore this.recycleDs = this.meauseAllRowHeight(this.ds[this.currentPage]); } } @@ -230,7 +230,7 @@ export class LitPageTable extends BaseElement { exportData(this); } - formatExportData(dataSource: any[]): any[] { + formatExportData(dataSource: unknown[]): unknown[] { return formatExportData(dataSource, this); } @@ -246,23 +246,23 @@ export class LitPageTable extends BaseElement { let rowElement = document.createElement('div'); rowElement.classList.add('th'); this.gridTemplateColumns = []; - let pageArea: Array = []; + let pageArea: Array = []; addSelectAllBox(rowElement, this); this.resolvingArea(this.columns, 0, 0, pageArea, rowElement); pageArea.forEach((rows, j, array) => { - for (let i = 0; i < this.colCount; i++) { - if (!rows[i]) { + for (let i = 0; i < this.colCount; i++) {// @ts-ignore + if (!rows[i]) {// @ts-ignore rows[i] = array[j - 1][i]; } } }); - if (this.selectable) { - let s = pageArea.map((a) => '"_checkbox_ ' + a.map((aa: any) => aa.t).join(' ') + '"').join(' '); + if (this.selectable) {// @ts-ignore + let s = pageArea.map((a) => '"_checkbox_ ' + a.map((aa: unknown) => aa.t).join(' ') + '"').join(' '); rowElement.style.gridTemplateColumns = '60px ' + this.gridTemplateColumns.join(' '); rowElement.style.gridTemplateRows = `repeat(${pageArea.length},1fr)`; rowElement.style.gridTemplateAreas = s; - } else { - let s = pageArea.map((a) => '"' + a.map((aa: any) => aa.t).join(' ') + '"').join(' '); + } else {// @ts-ignore + let s = pageArea.map((a) => '"' + a.map((aa: unknown) => aa.t).join(' ') + '"').join(' '); rowElement.style.gridTemplateColumns = this.gridTemplateColumns.join(' '); rowElement.style.gridTemplateRows = `repeat(${pageArea.length},1fr)`; rowElement.style.gridTemplateAreas = s; @@ -276,84 +276,84 @@ export class LitPageTable extends BaseElement { this.tableElement!.addEventListener('mouseout', (ev) => this.mouseOut()); } - resolvingArea(columns: any, x: any, y: any, area: Array, rowElement: HTMLDivElement): void { - columns.forEach((a: any, i: any) => { - if (!area[y]) { + resolvingArea(columns: unknown, x: unknown, y: unknown, area: Array, rowElement: HTMLDivElement): void {// @ts-ignore + columns.forEach((a: unknown, i: unknown) => {// @ts-ignore + if (!area[y]) {// @ts-ignore area[y] = []; - } - let key = a.getAttribute('key') || a.getAttribute('title'); - if (a.tagName === 'LIT-TABLE-GROUP') { - let childList = [...a.children].filter((a) => a.tagName !== 'TEMPLATE'); + }// @ts-ignore + let key = a.getAttribute('key') || a.getAttribute('title');// @ts-ignore + if (a.tagName === 'LIT-TABLE-GROUP') {// @ts-ignore + let childList = [...a.children].filter((a) => a.tagName !== 'TEMPLATE');// @ts-ignore let len = a.querySelectorAll('lit-table-column').length; - if (childList.length > 0) { + if (childList.length > 0) {// @ts-ignore this.resolvingArea(childList, x, y + 1, area, rowElement); } - for (let j = 0; j < len; j++) { - area[y][x] = { x, y, t: key }; + for (let j = 0; j < len; j++) {// @ts-ignore + area[y][x] = { x, y, t: key };// @ts-ignore x++; } let head = document.createElement('div'); - head.classList.add('td'); + head.classList.add('td');// @ts-ignore head.style.justifyContent = a.getAttribute('align'); head.style.borderBottom = '1px solid #f0f0f0'; - head.style.gridArea = key; - head.innerText = a.title; - if (a.hasAttribute('fixed')) { + head.style.gridArea = key;// @ts-ignore + head.innerText = a.title;// @ts-ignore + if (a.hasAttribute('fixed')) {// @ts-ignore fixed(head, a.getAttribute('fixed'), '#42b983'); } - rowElement.append(head); - } else if (a.tagName === 'LIT-TABLE-COLUMN') { - area[y][x] = { x, y, t: key }; + rowElement.append(head);// @ts-ignore + } else if (a.tagName === 'LIT-TABLE-COLUMN') {// @ts-ignore + area[y][x] = { x, y, t: key };// @ts-ignore x++; - let h: any = document.createElement('div'); - h.classList.add('td'); + let h: unknown = document.createElement('div');// @ts-ignore + h.classList.add('td');// @ts-ignore if (i > 0) { let resizeDiv: HTMLDivElement = document.createElement('div'); - resizeDiv.classList.add('resize'); - h.appendChild(resizeDiv); + resizeDiv.classList.add('resize');// @ts-ignore + h.appendChild(resizeDiv);// @ts-ignore this.resizeEventHandler(rowElement, resizeDiv, i); - } - this.resolvingAreaColumnOrder(a, i, key, h); - h.style.justifyContent = a.getAttribute('align'); - this.gridTemplateColumns.push(a.getAttribute('width') || '1fr'); + }// @ts-ignore + this.resolvingAreaColumnOrder(a, i, key, h);// @ts-ignore + h.style.justifyContent = a.getAttribute('align');// @ts-ignore + this.gridTemplateColumns.push(a.getAttribute('width') || '1fr');// @ts-ignore h.style.gridArea = key; - let titleLabel = document.createElement('label'); - titleLabel.textContent = a.title; - h.appendChild(titleLabel); - if (a.hasAttribute('fixed')) { + let titleLabel = document.createElement('label');// @ts-ignore + titleLabel.textContent = a.title;// @ts-ignore + h.appendChild(titleLabel);// @ts-ignore + if (a.hasAttribute('fixed')) {// @ts-ignore fixed(h, a.getAttribute('fixed'), '#42b983'); - } + }// @ts-ignore rowElement.append(h); } }); } - resolvingAreaColumnOrder(column: any, index: number, key: string, head: any): void { - if (column.hasAttribute('order')) { - (head as any).sortType = 0; - head.classList.add('td-order'); + resolvingAreaColumnOrder(column: unknown, index: number, key: string, head: unknown): void {// @ts-ignore + if (column.hasAttribute('order')) {// @ts-ignore + (head as unknown).sortType = 0;// @ts-ignore + head.classList.add('td-order');// @ts-ignore head.style.position = 'relative'; - let { upSvg, downSvg } = createDownUpSvg(index, head); + let { upSvg, downSvg } = createDownUpSvg(index, head);// @ts-ignore head.onclick = (): void => { if (this.isResize || this.resizeColumnIndex !== -1) { return; } - this?.shadowRoot?.querySelectorAll('.td-order svg').forEach((it: any) => { - it.setAttribute('fill', 'let(--dark-color1,#212121)'); - it.sortType = 0; + this?.shadowRoot?.querySelectorAll('.td-order svg').forEach((it: unknown) => {// @ts-ignore + it.setAttribute('fill', 'let(--dark-color1,#212121)');// @ts-ignore + it.sortType = 0;// @ts-ignore it.style.display = 'none'; - }); - if (head.sortType === undefined || head.sortType === null) { + });// @ts-ignore + if (head.sortType === undefined || head.sortType === null) {// @ts-ignore + head.sortType = 0;// @ts-ignore + } else if (head.sortType === 2) {// @ts-ignore head.sortType = 0; - } else if (head.sortType === 2) { - head.sortType = 0; - } else { + } else {// @ts-ignore head.sortType += 1; } upSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); - downSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); - upSvg.style.display = head.sortType === 1 ? 'block' : 'none'; - downSvg.style.display = head.sortType === 2 ? 'block' : 'none'; + downSvg.setAttribute('fill', 'let(--dark-color1,#212121)');// @ts-ignore + upSvg.style.display = head.sortType === 1 ? 'block' : 'none';// @ts-ignore + downSvg.style.display = head.sortType === 2 ? 'block' : 'none';// @ts-ignore switch (head.sortType) { case 1: this.theadElement!.setAttribute('sort', ''); @@ -366,7 +366,7 @@ export class LitPageTable extends BaseElement { } this.dispatchEvent( new CustomEvent('column-click', { - detail: { + detail: {// @ts-ignore sort: head.sortType, key: key, }, @@ -459,15 +459,15 @@ export class LitPageTable extends BaseElement { // It is called when a custom element adds, deletes, or modifies its own properties. attributeChangedCallback(name: string, oldValue: string, newValue: string): void {} - meauseElementHeight(rowData: any): number { + meauseElementHeight(rowData: unknown): number { return 27; } - meauseTreeElementHeight(rowData: any, depth: number): number { + meauseTreeElementHeight(rowData: unknown, depth: number): number { return 27; } - meauseAllRowHeight(list: any[]): TableRowObject[] { + meauseAllRowHeight(list: unknown[]): TableRowObject[] { this.tbodyElement!.innerHTML = ''; this.meauseRowElement = undefined; this.startSkip = 0; @@ -477,7 +477,7 @@ export class LitPageTable extends BaseElement { let headHeight = 0; let totalHeight = headHeight; let visibleObjects: TableRowObject[] = []; - let itemHandler = (rowData: any, index: number): void => { + let itemHandler = (rowData: unknown, index: number): void => { let height = this.meauseElementHeight(rowData); let tableRowObject = new TableRowObject(); tableRowObject.height = height; @@ -554,12 +554,12 @@ export class LitPageTable extends BaseElement { this.currentTreeDivList = []; } - meauseTreeRowElement(list: any[]): TableRowObject[] { + meauseTreeRowElement(list: unknown[]): TableRowObject[] { this.measureReset(); let headHeight = this.theadElement?.clientHeight || 0; let totalHeight = 0; let visibleObjects: TableRowObject[] = []; - let resetAllHeight = (list: any[], depth: number, parentNode?: TableRowObject): void => { + let resetAllHeight = (list: unknown[], depth: number, parentNode?: TableRowObject): void => { list.forEach((item) => { let tableRowObject = new TableRowObject(); tableRowObject.depth = depth; @@ -575,24 +575,24 @@ export class LitPageTable extends BaseElement { this.tableElement!.scrollTop + this.tableElement!.clientHeight - headHeight ); if (maxHeight <= minHeight) { - let newTableElement = this.createNewTreeTableElement(tableRowObject); - newTableElement.style.transform = `translateY(${totalHeight}px)`; + let newTableElement = this.createNewTreeTableElement(tableRowObject);// @ts-ignore + newTableElement.style.transform = `translateY(${totalHeight}px)`;// @ts-ignore this.tbodyElement?.append(newTableElement); if (this.treeElement?.lastChild) { (this.treeElement?.lastChild as HTMLElement).style.height = tableRowObject.height + 'px'; - } + }// @ts-ignore this.currentRecycleList.push(newTableElement); } totalHeight += tableRowObject.height; - visibleObjects.push(tableRowObject); - if (item.hasNext) { - if (item.parents !== undefined && item.parents.length > 0 && item.status) { - resetAllHeight(item.parents, depth + 1, tableRowObject); - } else if (item.children !== undefined && item.children.length > 0 && item.status) { + visibleObjects.push(tableRowObject);// @ts-ignore + if (item.hasNext) {// @ts-ignore + if (item.parents !== undefined && item.parents.length > 0 && item.status) {// @ts-ignore + resetAllHeight(item.parents, depth + 1, tableRowObject);// @ts-ignore + } else if (item.children !== undefined && item.children.length > 0 && item.status) {// @ts-ignore resetAllHeight(item.children, depth + 1, tableRowObject); } - } else { - if (item.children !== undefined && item.children.length > 0) { + } else {// @ts-ignore + if (item.children !== undefined && item.children.length > 0) {// @ts-ignore resetAllHeight(item.children, depth + 1, tableRowObject); } } @@ -608,13 +608,13 @@ export class LitPageTable extends BaseElement { addTreeRowScrollListener(): void { this.tableElement && (this.tableElement.onscroll = (event): void => { - let visibleObjs = this.recycleDs.filter((item) => { + let visibleObjs = this.recycleDs.filter((item) => {// @ts-ignore return !item.rowHidden; }); let top = this.tableElement!.scrollTop; this.treeElement!.style.transform = `translateY(${top}px)`; let skip = 0; - for (let index = 0; index < visibleObjs.length; index++) { + for (let index = 0; index < visibleObjs.length; index++) {// @ts-ignore if (visibleObjs[index].top <= top && visibleObjs[index].top + visibleObjs[index].height >= top) { skip = index; break; @@ -624,18 +624,18 @@ export class LitPageTable extends BaseElement { if (reduce === 0) { return; } - while (reduce <= this.tableElement!.clientHeight) { - let newTableElement = this.createNewTreeTableElement(visibleObjs[skip]); + while (reduce <= this.tableElement!.clientHeight) {// @ts-ignore + let newTableElement = this.createNewTreeTableElement(visibleObjs[skip]);// @ts-ignore this.tbodyElement?.append(newTableElement); - if (this.treeElement?.lastChild) { + if (this.treeElement?.lastChild) {// @ts-ignore (this.treeElement?.lastChild as HTMLElement).style.height = visibleObjs[skip].height + 'px'; - } - this.currentRecycleList.push(newTableElement); + }// @ts-ignore + this.currentRecycleList.push(newTableElement);// @ts-ignore reduce += newTableElement.clientHeight; } for (let i = 0; i < this.currentRecycleList.length; i++) { this.freshCurrentLine( - this.currentRecycleList[i], + this.currentRecycleList[i],// @ts-ignore visibleObjs[i + skip], this.treeElement?.children[i] as HTMLElement ); @@ -643,7 +643,7 @@ export class LitPageTable extends BaseElement { }); } - createNewTreeTableElement(rowData: TableRowObject): any { + createNewTreeTableElement(rowData: TableRowObject): unknown { let newTableElement = document.createElement('div'); newTableElement.classList.add('tr'); let treeTop = 0; @@ -651,21 +651,21 @@ export class LitPageTable extends BaseElement { let transX = Number((this.treeElement?.lastChild as HTMLElement).style.transform.replace(/[^0-9]/gi, '')); treeTop += transX + rowData.height; } - this?.columns?.forEach((column: any, index) => { + this?.columns?.forEach((column: unknown, index) => {// @ts-ignore let dataIndex = column.getAttribute('data-index') || '1'; - let td: any; + let td: unknown; if (index === 0) { td = this.firstElementTdHandler(newTableElement, dataIndex, rowData, column); } else { - td = this.otherElementHandler(dataIndex, rowData, column); + td = this.otherElementHandler(dataIndex, rowData, column);// @ts-ignore newTableElement.append(td); } }); let lastChild = this.treeElement?.lastChild as HTMLElement; if (lastChild) { lastChild.style.transform = `translateY(${treeTop}px)`; - } - (newTableElement as any).data = rowData.data; + }// @ts-ignore + (newTableElement as unknown).data = rowData.data; newTableElement.style.gridTemplateColumns = this.gridTemplateColumns.join(' '); newTableElement.style.position = 'absolute'; newTableElement.style.top = '0px'; @@ -676,9 +676,9 @@ export class LitPageTable extends BaseElement { return newTableElement; } - addRowElementEvent(newTableElement: HTMLDivElement, rowData: any): void { - newTableElement.onmouseenter = (): void => { - if ((newTableElement as any).data.isSelected) { + addRowElementEvent(newTableElement: HTMLDivElement, rowData: unknown): void { + newTableElement.onmouseenter = (): void => {// @ts-ignore + if ((newTableElement as unknown).data.isSelected) { return; } let indexOf = this.currentRecycleList.indexOf(newTableElement); @@ -689,8 +689,8 @@ export class LitPageTable extends BaseElement { this.setMouseIn(true, [this.treeElement?.children[indexOf] as HTMLElement]); } }; - newTableElement.onmouseleave = (): void => { - if ((newTableElement as any).data.isSelected) { + newTableElement.onmouseleave = (): void => {// @ts-ignore + if ((newTableElement as unknown).data.isSelected) { return; } let indexOf = this.currentRecycleList.indexOf(newTableElement); @@ -704,46 +704,46 @@ export class LitPageTable extends BaseElement { }; } - firstElementTdHandler(newTableElement: HTMLDivElement, dataIndex: string, rowData: any, column: any): HTMLDivElement { - let td: any; - let text = formatName(dataIndex, rowData.data[dataIndex], this); - if (column.template) { - td = column.template.render(rowData.data).content.cloneNode(true); - td.template = column.template; + firstElementTdHandler(newTableElement: HTMLDivElement, dataIndex: string, rowData: unknown, column: unknown): HTMLDivElement { + let td: unknown;// @ts-ignore + let text = formatName(dataIndex, rowData.data[dataIndex], this);// @ts-ignore + if (column.template) {// @ts-ignore + td = column.template.render(rowData.data).content.cloneNode(true);// @ts-ignore + td.template = column.template;// @ts-ignore td.title = text; } else { - td = document.createElement('div'); - td.innerHTML = text; - td.dataIndex = dataIndex; + td = document.createElement('div');// @ts-ignore + td.innerHTML = text;// @ts-ignore + td.dataIndex = dataIndex;// @ts-ignore td.title = text; - } + }// @ts-ignore if (rowData.data.children && rowData.data.children.length > 0 && !rowData.data.hasNext) { - let btn = this.createExpandBtn(rowData); + let btn = this.createExpandBtn(rowData);// @ts-ignore td.insertBefore(btn, td.firstChild); - } - if (rowData.data.hasNext) { + }// @ts-ignore + if (rowData.data.hasNext) {// @ts-ignore td.title = rowData.data.objectName; - let btn = this.createBtn(rowData); + let btn = this.createBtn(rowData);// @ts-ignore td.insertBefore(btn, td.firstChild); - } - td.style.paddingLeft = rowData.depth * iconWidth + 'px'; - if (!rowData.data.children || rowData.data.children.length === 0) { + }// @ts-ignore + td.style.paddingLeft = rowData.depth * iconWidth + 'px';// @ts-ignore + if (!rowData.data.children || rowData.data.children.length === 0) {// @ts-ignore td.style.paddingLeft = iconWidth * rowData.depth + iconWidth + iconPadding * 2 + 'px'; - } - (td as any).data = rowData.data; - td.classList.add('tree-first-body'); - td.style.position = 'absolute'; - td.style.top = '0px'; - td.style.left = '0px'; - this.addFirstElementEvent(td, newTableElement, rowData); - this.setHighLight(rowData.data.isSearch, td); - this.treeElement!.style.width = column.getAttribute('width'); - this.treeElement?.append(td); - this.currentTreeDivList.push(td); + }// @ts-ignore + (td as unknown).data = rowData.data;// @ts-ignore + td.classList.add('tree-first-body');// @ts-ignore + td.style.position = 'absolute';// @ts-ignore + td.style.top = '0px';// @ts-ignore + td.style.left = '0px';// @ts-ignore + this.addFirstElementEvent(td, newTableElement, rowData);// @ts-ignore + this.setHighLight(rowData.data.isSearch, td);// @ts-ignore + this.treeElement!.style.width = column.getAttribute('width');// @ts-ignore + this.treeElement?.append(td);// @ts-ignore + this.currentTreeDivList.push(td);// @ts-ignore return td; } - addFirstElementEvent(td: HTMLDivElement, tr: HTMLDivElement, rowData: any): void { + addFirstElementEvent(td: HTMLDivElement, tr: HTMLDivElement, rowData: unknown): void { td.onmouseenter = (): void => { let indexOf = this.currentTreeDivList.indexOf(td); this.currentRecycleList.forEach((row) => { @@ -765,85 +765,85 @@ export class LitPageTable extends BaseElement { }; } - otherElementHandler(dataIndex: string, rowData: any, column: any): HTMLDivElement { + otherElementHandler(dataIndex: string, rowData: unknown, column: unknown): HTMLDivElement {// @ts-ignore let text = formatName(dataIndex, rowData.data[dataIndex], this); - let td: any = document.createElement('div'); - td = document.createElement('div'); - td.classList.add('td'); - td.style.overflow = 'hidden'; - td.style.textOverflow = 'ellipsis'; - td.style.whiteSpace = 'nowrap'; - td.title = text; - td.dataIndex = dataIndex; - td.style.justifyContent = column.getAttribute('align') || 'flex-start'; - if (column.template) { - td.appendChild(column.template.render(rowData.data).content.cloneNode(true)); + let td: unknown = document.createElement('div'); + td = document.createElement('div');// @ts-ignore + td.classList.add('td');// @ts-ignore + td.style.overflow = 'hidden';// @ts-ignore + td.style.textOverflow = 'ellipsis';// @ts-ignore + td.style.whiteSpace = 'nowrap';// @ts-ignore + td.title = text;// @ts-ignore + td.dataIndex = dataIndex;// @ts-ignore + td.style.justifyContent = column.getAttribute('align') || 'flex-start';// @ts-ignore + if (column.template) {// @ts-ignore + td.appendChild(column.template.render(rowData.data).content.cloneNode(true));// @ts-ignore td.template = column.template; - } else { + } else {// @ts-ignore td.innerHTML = text; - } + }// @ts-ignore return td; } - createBtn(row: any): any { - let btn: any = document.createElement('lit-icon'); - btn.classList.add('tree-icon'); - if (row.data.expanded) { + createBtn(row: unknown): unknown { + let btn: unknown = document.createElement('lit-icon');// @ts-ignore + btn.classList.add('tree-icon');// @ts-ignore + if (row.data.expanded) {// @ts-ignore btn.name = 'plus-square'; - } else { + } else {// @ts-ignore btn.name = 'minus-square'; - } - btn.addEventListener('click', (e: any) => { + }// @ts-ignore + btn.addEventListener('click', (e: unknown) => {// @ts-ignore row.data.status = false; - const resetNodeHidden = (hidden: boolean, rowData: any): void => { - if (hidden) { - rowData.children.forEach((child: any) => { + const resetNodeHidden = (hidden: boolean, rowData: unknown): void => { + if (hidden) {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = false; }); - } else { - rowData.children.forEach((child: any) => { + } else {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = true; resetNodeHidden(hidden, child); }); } }; - - if (row.data.expanded) { +// @ts-ignore + if (row.data.expanded) {// @ts-ignore row.data.status = true; - this.dispatchRowClickEventIcon(row, [btn]); + this.dispatchRowClickEventIcon(row, [btn]);// @ts-ignore row.data.expanded = false; resetNodeHidden(true, row); - } else { - row.data.expanded = true; + } else {// @ts-ignore + row.data.expanded = true;// @ts-ignore row.data.status = false; resetNodeHidden(false, row); } - this.reMeauseHeight(); + this.reMeauseHeight();// @ts-ignore e.stopPropagation(); }); return btn; } - createExpandBtn(row: any): LitIcon { - let btn: any = document.createElement('lit-icon'); + createExpandBtn(row: unknown): LitIcon { + let btn: unknown = document.createElement('lit-icon');// @ts-ignore btn.classList.add('tree-icon'); // @ts-ignore - if (row.expanded) { + if (row.expanded) {// @ts-ignore btn.name = 'minus-square'; - } else { + } else {// @ts-ignore btn.name = 'plus-square'; - } + }// @ts-ignore btn.onclick = (e: Event): void => { - const resetNodeHidden = (hidden: boolean, rowData: any): void => { + const resetNodeHidden = (hidden: boolean, rowData: unknown): void => {// @ts-ignore if (rowData.children.length > 0) { - if (hidden) { - rowData.children.forEach((child: any) => { + if (hidden) {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = true; resetNodeHidden(hidden, child); }); - } else { - rowData.children.forEach((child: any) => { - child.rowHidden = !rowData.expanded; + } else {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore + child.rowHidden = !rowData.expanded;// @ts-ignore if (rowData.expanded) { resetNodeHidden(hidden, child); } @@ -851,36 +851,36 @@ export class LitPageTable extends BaseElement { } } }; - - if (row.expanded) { +// @ts-ignore + if (row.expanded) {// @ts-ignore row.expanded = false; resetNodeHidden(true, row); - } else { + } else {// @ts-ignore row.expanded = true; resetNodeHidden(false, row); } this.reMeauseHeight(); e.stopPropagation(); - }; + };// @ts-ignore return btn; } - getVisibleObjs(): { visibleObjs: any[], skip: number, reduce: number } { + getVisibleObjs(): { visibleObjs: unknown[], skip: number, reduce: number } { let totalH = 0; - this.recycleDs.forEach((it) => { - if (!it.rowHidden) { - it.top = totalH; + this.recycleDs.forEach((it) => {// @ts-ignore + if (!it.rowHidden) {// @ts-ignore + it.top = totalH;// @ts-ignore totalH += it.height; } }); this.tbodyElement && (this.tbodyElement.style.height = totalH + (this.isScrollXOutSide ? 0 : 0) + 'px'); this.treeElement!.style.height = this.tableElement!.clientHeight - this.theadElement!.clientHeight + 'px'; - let visibleObjs = this.recycleDs.filter((item) => { + let visibleObjs = this.recycleDs.filter((item) => {// @ts-ignore return !item.rowHidden; }); let top = this.tableElement!.scrollTop; let skip = 0; - for (let i = 0; i < visibleObjs.length; i++) { + for (let i = 0; i < visibleObjs.length; i++) {// @ts-ignore if (visibleObjs[i].top <= top && visibleObjs[i].top + visibleObjs[i].height >= top) { skip = i; break; @@ -900,54 +900,54 @@ export class LitPageTable extends BaseElement { } while (reduce <= this.tableElement!.clientHeight + 1) { let rowElement; - if (this.hasAttribute('tree')) { + if (this.hasAttribute('tree')) {// @ts-ignore rowElement = this.createNewTreeTableElement(visibleObjs[skip]); } else { rowElement = this.createNewTableElement(visibleObjs[skip]); - } + }// @ts-ignore this.tbodyElement?.append(rowElement); if (this.hasAttribute('tree')) { - if (this.treeElement?.lastChild) { + if (this.treeElement?.lastChild) {// @ts-ignore (this.treeElement?.lastChild as HTMLElement).style.height = visibleObjs[skip].height + 'px'; } - } - this.currentRecycleList.push(rowElement); + }// @ts-ignore + this.currentRecycleList.push(rowElement);// @ts-ignore reduce += rowElement.clientHeight; } for (let i = 0; i < this.currentRecycleList.length; i++) { if (this.hasAttribute('tree')) { this.freshCurrentLine( - this.currentRecycleList[i], + this.currentRecycleList[i],// @ts-ignore visibleObjs[i + skip], this.treeElement?.children[i] as HTMLElement ); - } else { + } else {// @ts-ignore this.freshCurrentLine(this.currentRecycleList[i], visibleObjs[i + skip]); } } } - createNewTableElement(rowData: any): HTMLDivElement { + createNewTableElement(rowData: unknown): HTMLDivElement { let rowElement = document.createElement('div'); rowElement.classList.add('tr'); - this?.columns?.forEach((column: any) => { + this?.columns?.forEach((column: unknown) => {// @ts-ignore let dataIndex = column.getAttribute('data-index') || '1'; - let td: any; - td = document.createElement('div'); - td.classList.add('td'); - td.style.overflow = 'hidden'; - td.style.textOverflow = 'ellipsis'; - td.style.whiteSpace = 'nowrap'; - td.dataIndex = dataIndex; - td.style.justifyContent = column.getAttribute('align') || 'flex-start'; - let text = formatName(dataIndex, rowData.data[dataIndex], this); - td.title = text; - if (column.template) { - td.appendChild(column.template.render(rowData.data).content.cloneNode(true)); + let td: unknown; + td = document.createElement('div');// @ts-ignore + td.classList.add('td');// @ts-ignore + td.style.overflow = 'hidden';// @ts-ignore + td.style.textOverflow = 'ellipsis';// @ts-ignore + td.style.whiteSpace = 'nowrap';// @ts-ignore + td.dataIndex = dataIndex;// @ts-ignore + td.style.justifyContent = column.getAttribute('align') || 'flex-start';// @ts-ignore + let text = formatName(dataIndex, rowData.data[dataIndex], this);// @ts-ignore + td.title = text;// @ts-ignore + if (column.template) {// @ts-ignore + td.appendChild(column.template.render(rowData.data).content.cloneNode(true));// @ts-ignore td.template = column.template; - } else { + } else {// @ts-ignore td.innerHTML = text; - } + }// @ts-ignore rowElement.append(td); }); rowElement.onclick = (): void => { @@ -955,18 +955,18 @@ export class LitPageTable extends BaseElement { }; rowElement.onmouseover = (): void => { this.dispatchRowHoverEvent(rowData, [rowElement]); - }; - if (rowData.data.isSelected !== undefined) { + };// @ts-ignore + if (rowData.data.isSelected !== undefined) {// @ts-ignore this.setSelectedRow(rowData.data.isSelected, [rowElement]); - } - (rowElement as any).data = rowData.data; + }// @ts-ignore + (rowElement as unknown).data = rowData.data; rowElement.style.cursor = 'pointer'; rowElement.style.gridTemplateColumns = this.gridTemplateColumns.join(' '); rowElement.style.position = 'absolute'; rowElement.style.top = '0px'; - rowElement.style.left = '0px'; + rowElement.style.left = '0px';// @ts-ignore rowElement.style.height = `${rowData.height}px`; - if (this.getItemTextColor) { + if (this.getItemTextColor) {// @ts-ignore rowElement.style.color = this.getItemTextColor(rowData.data); } return rowElement; @@ -990,11 +990,11 @@ export class LitPageTable extends BaseElement { let idx = firstElement !== undefined ? childIndex + 1 : childIndex; this.freshLineFirstElementHandler(firstElement, rowObject, childIndex); let dataIndex = this.columns![idx].getAttribute('data-index') || '1'; - let text = formatName(dataIndex, rowObject.data[dataIndex], this); - if ((this.columns![idx] as any).template) { + let text = formatName(dataIndex, rowObject.data[dataIndex], this);// @ts-ignore + if ((this.columns![idx] as unknown).template) { (child as HTMLElement).innerHTML = ''; - (child as HTMLElement).appendChild( - (this.columns![idx] as any).template.render(rowObject.data).content.cloneNode(true) + (child as HTMLElement).appendChild(// @ts-ignore + (this.columns![idx] as unknown).template.render(rowObject.data).content.cloneNode(true) ); (child as HTMLElement).title = text; } else { @@ -1005,37 +1005,37 @@ export class LitPageTable extends BaseElement { this.freshLineStyleAndEvents(element, rowObject, firstElement); } - freshLineFirstElementHandler(rowFirstElement: any, rowObject: TableRowObject, childIndex: number): void { + freshLineFirstElementHandler(rowFirstElement: unknown, rowObject: TableRowObject, childIndex: number): void { if (rowFirstElement !== undefined && childIndex === 0) { - this.setHighLight(rowObject.data.isSearch, rowFirstElement); - (rowFirstElement as any).data = rowObject.data; - if ((this.columns![0] as any).template) { - rowFirstElement.innerHTML = (this.columns![0] as any).template + this.setHighLight(rowObject.data.isSearch, rowFirstElement);// @ts-ignore + (rowFirstElement as unknown).data = rowObject.data;// @ts-ignore + if ((this.columns![0] as unknown).template) {// @ts-ignore + rowFirstElement.innerHTML = (this.columns![0] as unknown).template .render(rowObject.data) .content.cloneNode(true).innerHTML; } else { let dataIndex = this.columns![0].getAttribute('data-index') || '1'; - let text = formatName(dataIndex, rowObject.data[dataIndex], this); - rowFirstElement.innerHTML = text; + let text = formatName(dataIndex, rowObject.data[dataIndex], this);// @ts-ignore + rowFirstElement.innerHTML = text;// @ts-ignore rowFirstElement.title = text; } if (rowObject.children && rowObject.children.length > 0 && !rowObject.data.hasNext) { - let btn = this.createExpandBtn(rowObject); + let btn = this.createExpandBtn(rowObject);// @ts-ignore rowFirstElement.insertBefore(btn, rowFirstElement.firstChild); - } + }// @ts-ignore rowFirstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; - if (!rowObject.children || rowObject.children.length === 0) { + if (!rowObject.children || rowObject.children.length === 0) {// @ts-ignore rowFirstElement.style.paddingLeft = iconWidth * rowObject.depth + iconWidth + iconPadding * 2 + 'px'; } if (rowObject.data.hasNext) { - let btn = this.createBtn(rowObject); - rowFirstElement.title = rowObject.data.objectName; - rowFirstElement.insertBefore(btn, rowFirstElement.firstChild); + let btn = this.createBtn(rowObject);// @ts-ignore + rowFirstElement.title = rowObject.data.objectName;// @ts-ignore + rowFirstElement.insertBefore(btn, rowFirstElement.firstChild);// @ts-ignore rowFirstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; - } + }// @ts-ignore rowFirstElement.onclick = (): void => { this.dispatchRowClickEvent(rowObject, [rowFirstElement, element]); - }; + };// @ts-ignore rowFirstElement.style.transform = `translateY(${rowObject.top - this.tableElement!.scrollTop}px)`; if (rowObject.data.isSelected !== undefined) { this.setSelectedRow(rowObject.data.isSelected, [rowFirstElement]); @@ -1062,8 +1062,8 @@ export class LitPageTable extends BaseElement { }; element.onmouseenter = (): void => { this.dispatchRowHoverEvent(rowData, [element]); - }; - (element as any).data = rowData.data; + };// @ts-ignore + (element as unknown).data = rowData.data; if (rowData.data.isSelected !== undefined) { this.setSelectedRow(rowData.data.isSelected, [element]); } else { @@ -1074,66 +1074,66 @@ export class LitPageTable extends BaseElement { } else { this.setMouseIn(false, [element]); } - if (this.getItemTextColor) { - element.style.color = this.getItemTextColor((element as any).data); + if (this.getItemTextColor) {// @ts-ignore + element.style.color = this.getItemTextColor((element as unknown).data); } } - setSelectedRow(isSelected: boolean, rows: any[]): void { + setSelectedRow(isSelected: boolean, rows: unknown[]): void { if (isSelected) { - rows.forEach((row) => { - if (row.classList.contains('mouse-in')) { + rows.forEach((row) => {// @ts-ignore + if (row.classList.contains('mouse-in')) {// @ts-ignore row.classList.remove('mouse-in'); - } + }// @ts-ignore row.classList.add('mouse-select'); }); } else { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList.remove('mouse-select'); }); } } - setMouseIn(isMouseIn: boolean, rows: any[]): void { + setMouseIn(isMouseIn: boolean, rows: unknown[]): void { if (isMouseIn) { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList.add('mouse-in'); }); } else { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList.remove('mouse-in'); }); } } - scrollToData(data: any): void { + scrollToData(data: unknown): void { if (this.recycleDs.length > 0) { - let filter = this.recycleDs.filter((item) => { + let filter = this.recycleDs.filter((item) => {// @ts-ignore return item.data === data; }); - if (filter.length > 0) { + if (filter.length > 0) {// @ts-ignore this.tableElement!.scrollTop = filter[0].top; } this.setCurrentSelection(data); } } - expandList(datasource: any[]): void { - let source = this.recycleDs.filter((item) => { + expandList(datasource: unknown[]): void { + let source = this.recycleDs.filter((item) => {// @ts-ignore return datasource.indexOf(item.data) !== -1; }); if (source.length > 0) { - source.forEach((item) => { - item.expanded = true; + source.forEach((item) => {// @ts-ignore + item.expanded = true;// @ts-ignore item.rowHidden = false; }); } this.reMeauseHeight(); } - clearAllSelection(rowObjectData: any = undefined): void { - this.recycleDs.forEach((item) => { - if (rowObjectData || (item.data !== rowObjectData && item.data.isSelected)) { + clearAllSelection(rowObjectData: unknown = undefined): void { + this.recycleDs.forEach((item) => {// @ts-ignore + if (rowObjectData || (item.data !== rowObjectData && item.data.isSelected)) {// @ts-ignore item.data.isSelected = false; } }); @@ -1141,9 +1141,9 @@ export class LitPageTable extends BaseElement { this.setSelectedRow(false, this.currentRecycleList); } - clearAllHover(rowObjectData: any): void { - this.recycleDs.forEach((item) => { - if (item.data !== rowObjectData && item.data.isHover) { + clearAllHover(rowObjectData: unknown): void { + this.recycleDs.forEach((item) => {// @ts-ignore + if (item.data !== rowObjectData && item.data.isHover) {// @ts-ignore item.data.isHover = false; } }); @@ -1151,7 +1151,7 @@ export class LitPageTable extends BaseElement { this.setMouseIn(false, this.currentRecycleList); } - mouseOut(): void { + mouseOut(): void {// @ts-ignore this.recycleDs.forEach((item) => (item.data.isHover = false)); this.setMouseIn(false, this.currentTreeDivList); this.setMouseIn(false, this.currentRecycleList); @@ -1165,49 +1165,49 @@ export class LitPageTable extends BaseElement { ); } - setCurrentSelection(data: any): void { + setCurrentSelection(data: unknown): void {// @ts-ignore if (data.isSelected !== undefined) { - this.currentTreeDivList.forEach((item) => { - if ((item as any).data === data) { + this.currentTreeDivList.forEach((item) => {// @ts-ignore + if ((item as unknown).data === data) {// @ts-ignore this.setSelectedRow(data.isSelected, [item]); } }); - this.currentRecycleList.forEach((item) => { - if ((item as any).data === data) { + this.currentRecycleList.forEach((item) => {// @ts-ignore + if ((item as unknown).data === data) {// @ts-ignore this.setSelectedRow(data.isSelected, [item]); } }); } } - setCurrentHover(data: any): void { + setCurrentHover(data: unknown): void { this.setMouseIn(false, this.currentTreeDivList); - this.setMouseIn(false, this.currentRecycleList); + this.setMouseIn(false, this.currentRecycleList);// @ts-ignore if (data.isHover !== undefined) { - this.currentTreeDivList.forEach((item) => { - if ((item as any).data === data) { + this.currentTreeDivList.forEach((item) => {// @ts-ignore + if ((item as unknown).data === data) {// @ts-ignore this.setMouseIn(data.isHover, [item]); } }); - this.currentRecycleList.forEach((item) => { - if ((item as any).data === data) { + this.currentRecycleList.forEach((item) => {// @ts-ignore + if ((item as unknown).data === data) {// @ts-ignore this.setMouseIn(data.isHover, [item]); } }); } } - dispatchRowClickEventIcon(rowObject: any, elements: any[]): void { + dispatchRowClickEventIcon(rowObject: unknown, elements: unknown[]): void { this.dispatchEvent( new CustomEvent('icon-click', { - detail: { - ...rowObject.data, + detail: {// @ts-ignore + ...rowObject.data,// @ts-ignore data: rowObject.data, callBack: (isSelected: boolean): void => { //是否爲单选 - if (isSelected) { + if (isSelected) {// @ts-ignore this.clearAllSelection(rowObject.data); - } + }// @ts-ignore this.setSelectedRow(rowObject.data.isSelected, elements); }, }, @@ -1216,17 +1216,17 @@ export class LitPageTable extends BaseElement { ); } - dispatchRowClickEvent(rowObject: any, elements: any[]): void { + dispatchRowClickEvent(rowObject: unknown, elements: unknown[]): void { this.dispatchEvent( new CustomEvent('row-click', { - detail: { - ...rowObject.data, + detail: {// @ts-ignore + ...rowObject.data,// @ts-ignore data: rowObject.data, callBack: (isSelected: boolean): void => { //是否爲单选 - if (isSelected) { + if (isSelected) {// @ts-ignore this.clearAllSelection(rowObject.data); - } + }// @ts-ignore this.setSelectedRow(rowObject.data.isSelected, elements); }, }, @@ -1235,13 +1235,13 @@ export class LitPageTable extends BaseElement { ); } - dispatchRowHoverEvent(rowObject: any, elements: any[]): void { + dispatchRowHoverEvent(rowObject: unknown, elements: unknown[]): void { this.dispatchEvent( new CustomEvent('row-hover', { - detail: { + detail: {// @ts-ignore data: rowObject.data, - callBack: (): void => { - this.clearAllHover(rowObject.data); + callBack: (): void => {// @ts-ignore + this.clearAllHover(rowObject.data);// @ts-ignore this.setMouseIn(rowObject.data.isHover, elements); }, }, @@ -1249,10 +1249,10 @@ export class LitPageTable extends BaseElement { }) ); } - setHighLight(isSearch: boolean, element: any): void { - if (isSearch) { + setHighLight(isSearch: boolean, element: unknown): void { + if (isSearch) {// @ts-ignore element.setAttribute('high-light', ''); - } else { + } else {// @ts-ignore element.removeAttribute('high-light'); } } diff --git a/ide/src/trace/component/SpSystemTrace.line.ts b/ide/src/trace/component/SpSystemTrace.line.ts index e9064727d..1a4db5592 100644 --- a/ide/src/trace/component/SpSystemTrace.line.ts +++ b/ide/src/trace/component/SpSystemTrace.line.ts @@ -463,6 +463,7 @@ export function spSystemTraceDrawTaskPollLine(sp: SpSystemTrace, row?: TraceRow< let collectList = sp.favoriteChartListEL!.getAllCollectRows(); for (let selectCollectRow of collectList) { if (selectCollectRow.rowId === allocationRowId.toString() && selectCollectRow.rowType === 'func') { + // @ts-ignore selectRow = selectCollectRow; break; } diff --git a/ide/src/trace/component/chart/PerfDataQuery.ts b/ide/src/trace/component/chart/PerfDataQuery.ts index 1650d3d89..af5ee9d63 100644 --- a/ide/src/trace/component/chart/PerfDataQuery.ts +++ b/ide/src/trace/component/chart/PerfDataQuery.ts @@ -21,7 +21,7 @@ import { SpSystemTrace } from '../SpSystemTrace'; import { queryPerfFiles } from '../../database/sql/Perf.sql'; export class PerfDataQuery { - filesData: any = {}; + filesData: unknown = {}; callChainMap: Map = new Map(); @@ -37,31 +37,31 @@ export class PerfDataQuery { async initPerfFiles(): Promise { let files = await queryPerfFiles(); info('PerfFiles Data size is: ', files!.length); - files.forEach((file) => { + files.forEach((file) => {// @ts-ignore this.filesData[file.fileId] = this.filesData[file.fileId] || []; - PerfFile.setFileName(file); + PerfFile.setFileName(file);// @ts-ignore this.filesData[file.fileId].push(file); }); const data = { fValue: SpHiPerf.stringResult?.fValue, }; - let results = await new Promise((resolve, reject) => { - procedurePool.submitWithName('logic0', 'perf-init', data, undefined, (res: any) => { + let results = await new Promise((resolve, reject) => { + procedurePool.submitWithName('logic0', 'perf-init', data, undefined, (res: unknown) => { resolve(res); }); - }); - this.callChainMap = results as any; + });// @ts-ignore + this.callChainMap = results as unknown; info('Perf Files Data initialized'); } getLibName(fileId: number, symbolId: number): string { let name = 'unknown'; - if (symbolId === -1) { - if (this.filesData[fileId] && this.filesData[fileId].length > 0) { + if (symbolId === -1) {// @ts-ignore + if (this.filesData[fileId] && this.filesData[fileId].length > 0) {// @ts-ignore name = this.filesData[fileId][0].fileName; } - } else { - if (this.filesData[fileId] && this.filesData[fileId].length > symbolId) { + } else {// @ts-ignore + if (this.filesData[fileId] && this.filesData[fileId].length > symbolId) {// @ts-ignore name = this.filesData[fileId][symbolId].fileName; } } diff --git a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts index fb18372bb..884969098 100644 --- a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts +++ b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts @@ -112,8 +112,8 @@ export class SpAbilityMonitorChart { info('The time to load the AbilityMonitor data is: ', durTime); } - private hasTable(result: Array, tableName: string): boolean { - return result.find((o) => { + private hasTable(result: Array, tableName: string): boolean {// @ts-ignore + return result.find((o) => {// @ts-ignore return o.event_name === tableName; }); } @@ -127,8 +127,8 @@ export class SpAbilityMonitorChart { abilityRow.folder = true; abilityRow.name = 'Ability Monitor'; abilityRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; - abilityRow.selectChangeHandler = this.trace.selectChangeHandler; - abilityRow.supplier = (): Promise => new Promise>((resolve) => resolve([])); + abilityRow.selectChangeHandler = this.trace.selectChangeHandler;// @ts-ignore + abilityRow.supplier = (): Promise => new Promise>((resolve) => resolve([])); abilityRow.onThreadHandler = (useCache): void => { let context: CanvasRenderingContext2D; if (abilityRow.currentContext) { @@ -329,7 +329,7 @@ export class SpAbilityMonitorChart { parent.addChildTraceRow(sysTraceRow); } - private memoryUsedThreadHandle(memoryUsedRow: TraceRow, memoryTotal: any[]): void { + private memoryUsedThreadHandle(memoryUsedRow: TraceRow, memoryTotal: unknown[]): void {// @ts-ignore let memoryTotalValue = memoryTotal[0].maxValue; let memoryTotalValueName = this.memoryMath(memoryTotalValue); memoryUsedRow.onThreadHandler = (useCache): void => { @@ -355,8 +355,8 @@ export class SpAbilityMonitorChart { } private async initMemoryUsedRow( - memoryUsedRow: TraceRow, - parent: TraceRow + memoryUsedRow: TraceRow,// @ts-ignore + parent: TraceRow ): Promise { let memoryTotal = await queryMemoryMaxData('sys.mem.total'); let memoryTotalId = memoryTotal[0].filter_id; @@ -390,7 +390,7 @@ export class SpAbilityMonitorChart { this.memoryUsedThreadHandle(memoryUsedRow, memoryTotal); } - private cachedThreadHandler(cachedFilesTraceRow: TraceRow, cached: any[]): void { + private cachedThreadHandler(cachedFilesTraceRow: TraceRow, cached: unknown[]): void {// @ts-ignore let cachedValue = cached[0].maxValue; let cachedValueName = this.memoryMath(cachedValue); cachedFilesTraceRow.onThreadHandler = (useCache): void => { @@ -416,8 +416,8 @@ export class SpAbilityMonitorChart { } private async initCachedRow( - cachedFilesRow: TraceRow, - parent: TraceRow + cachedFilesRow: TraceRow,// @ts-ignore + parent: TraceRow ): Promise { let cached = await queryMemoryMaxData('sys.mem.cached'); @@ -450,7 +450,7 @@ export class SpAbilityMonitorChart { this.cachedThreadHandler(cachedFilesRow, cached); } - private compressThreadHandler(compressedRow: TraceRow, swap: any[]): void { + private compressThreadHandler(compressedRow: TraceRow, swap: unknown[]): void {// @ts-ignore let swapValue = swap[0].maxValue; let swapValueName = this.memoryMath(swapValue); compressedRow.onThreadHandler = (useCache): void => { @@ -476,8 +476,8 @@ export class SpAbilityMonitorChart { } private async initCompressedRow( - compressedRow: TraceRow, - parent: TraceRow + compressedRow: TraceRow,// @ts-ignore + parent: TraceRow ): Promise { let swap = await queryMemoryMaxData('sys.mem.swap.total'); let swapId = swap[0].filter_id; @@ -527,7 +527,7 @@ export class SpAbilityMonitorChart { info('The time to load the Ability Memory is: ', durTime); }; - private bytesReadThreadHandler(bytesReadRow: TraceRow, maxList: any[]): void { + private bytesReadThreadHandler(bytesReadRow: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxBytesRead = maxList[0].bytesRead; let maxBytesReadName = this.diskIOMath(maxBytesRead); bytesReadRow.onThreadHandler = (useCache): void => { @@ -553,9 +553,9 @@ export class SpAbilityMonitorChart { } private initBytesReadRow( - bytesReadRow: TraceRow, - parentRow: TraceRow, - maxList: any[] + bytesReadRow: TraceRow,// @ts-ignore + parentRow: TraceRow, + maxList: unknown[] ): void { bytesReadRow.rowParentId = key; bytesReadRow.rowHidden = !parentRow.expansion; @@ -584,7 +584,7 @@ export class SpAbilityMonitorChart { }; this.bytesReadThreadHandler(bytesReadRow, maxList); } - private bytesWriteThreadHandler(bytesWriteRow: TraceRow, maxList: any[]): void { + private bytesWriteThreadHandler(bytesWriteRow: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxBytesWrite = maxList[0].bytesWrite; let maxBytesWriteName = this.diskIOMath(maxBytesWrite); bytesWriteRow.onThreadHandler = (useCache): void => { @@ -610,9 +610,9 @@ export class SpAbilityMonitorChart { } private initBytesWriteRow( - bytesWriteRow: TraceRow, - parent: TraceRow, - maxList: any[] + bytesWriteRow: TraceRow,// @ts-ignore + parent: TraceRow, + maxList: unknown[] ): void { bytesWriteRow.rowParentId = key; bytesWriteRow.rowHidden = !parent.expansion; @@ -642,7 +642,8 @@ export class SpAbilityMonitorChart { this.bytesWriteThreadHandler(bytesWriteRow, maxList); } - private initReadOspRow(readOpsRow: TraceRow, parent: TraceRow, maxList: any[]): void { + // @ts-ignore + private initReadOspRow(readOpsRow: TraceRow, parent: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxReadOps = maxList[0].readOps; let maxReadOpsName = this.diskIOMath(maxReadOps); readOpsRow.rowParentId = key; @@ -692,7 +693,7 @@ export class SpAbilityMonitorChart { }; } - private writeOspThreadHandler(writeOpsRow: TraceRow, maxList: any[]): void { + private writeOspThreadHandler(writeOpsRow: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxWriteOps = maxList[0].writeOps; let maxWriteOpsName = this.diskIOMath(maxWriteOps); writeOpsRow.onThreadHandler = (useCache): void => { @@ -718,9 +719,9 @@ export class SpAbilityMonitorChart { } private initWriteOspRow( - writeOpsRow: TraceRow, - parent: TraceRow, - maxList: any[] + writeOpsRow: TraceRow,// @ts-ignore + parent: TraceRow, + maxList: unknown[] ): void { writeOpsRow.rowParentId = key; writeOpsRow.rowHidden = !parent.expansion; @@ -772,7 +773,7 @@ export class SpAbilityMonitorChart { info('The time to load the Ability DiskIO is: ', durTime); }; - private bytesInRowThreadHandler(row: TraceRow, maxList: any[]): void { + private bytesInRowThreadHandler(row: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxBytesIn = maxList[0].maxIn; let maxInByteName = this.networkMath(maxBytesIn); row.onThreadHandler = (useCache): void => { @@ -800,7 +801,7 @@ export class SpAbilityMonitorChart { private initBytesInRow( row: TraceRow, parent: TraceRow, - maxList: any[] + maxList: unknown[] ): void { row.rowParentId = key; row.rowHidden = !parent.expansion; @@ -829,7 +830,7 @@ export class SpAbilityMonitorChart { }; this.bytesInRowThreadHandler(row, maxList); } - private bytesOutRowThreadHandler(row: TraceRow, maxList: any[]): void { + private bytesOutRowThreadHandler(row: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxBytesOut = maxList[0].maxOut; let maxOutByteName = this.networkMath(maxBytesOut); row.onThreadHandler = (useCache): void => { @@ -857,7 +858,7 @@ export class SpAbilityMonitorChart { private initBytesOutRow( row: TraceRow, parent: TraceRow, - maxList: any[] + maxList: unknown[] ): void { row.rowParentId = key; row.rowHidden = !parent.expansion; @@ -887,7 +888,7 @@ export class SpAbilityMonitorChart { this.bytesOutRowThreadHandler(row, maxList); } - private packetInRowThreadHandler(row: TraceRow, maxList: any[]): void { + private packetInRowThreadHandler(row: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxPacketIn = maxList[0].maxPacketIn; let maxInPacketName = this.networkMath(maxPacketIn); row.onThreadHandler = (useCache): void => { @@ -915,7 +916,7 @@ export class SpAbilityMonitorChart { private initPacketInRow( row: TraceRow, parent: TraceRow, - maxList: any[] + maxList: unknown[] ): void { row.rowParentId = key; row.rowHidden = !parent.expansion; @@ -945,7 +946,7 @@ export class SpAbilityMonitorChart { this.packetInRowThreadHandler(row, maxList); } - private packetOutRowThreadHandler(row: TraceRow, maxList: any[]): void { + private packetOutRowThreadHandler(row: TraceRow, maxList: unknown[]): void {// @ts-ignore let maxPacketOut = maxList[0].maxPacketOut; let maxOutPacketName = this.networkMath(maxPacketOut); row.onThreadHandler = (useCache): void => { @@ -973,7 +974,7 @@ export class SpAbilityMonitorChart { private initPacketOutRow( row: TraceRow, parent: TraceRow, - maxList: any[] + maxList: unknown[] ): void { row.rowParentId = key; row.rowHidden = !parent.expansion; @@ -1031,11 +1032,11 @@ export class SpAbilityMonitorChart { 'Purgeable Total', TraceRow.ROW_TYPE_PURGEABLE_TOTAL_ABILITY, processRow - ); - totalTraceRow.supplierFrame = (): Promise => - new Promise>((resolve): void => + );// @ts-ignore + totalTraceRow.supplierFrame = (): Promise => + new Promise>((resolve): void => resolve( - abilityPurgeableDataSender(totalTraceRow, snapshotDur, false).then((res: any[]) => { + abilityPurgeableDataSender(totalTraceRow, snapshotDur, false).then((res: unknown[]) => { this.setName(res); return res; }) @@ -1051,11 +1052,11 @@ export class SpAbilityMonitorChart { 'Purgeable Pin', TraceRow.ROW_TYPE_PURGEABLE_PIN_ABILITY, processRow - ); - pinTraceRow.supplierFrame = (): Promise => - new Promise>((resolve): void => + );// @ts-ignore + pinTraceRow.supplierFrame = (): Promise => + new Promise>((resolve): void => resolve( - abilityPurgeableDataSender(pinTraceRow, snapshotDur, true).then((res: any[]) => { + abilityPurgeableDataSender(pinTraceRow, snapshotDur, true).then((res: unknown[]) => { this.setName(res); return res; }) @@ -1070,11 +1071,11 @@ export class SpAbilityMonitorChart { */ private initDmaAbility = async (processRow: TraceRow): Promise => { let snapshotDur = MemoryConfig.getInstance().snapshotDur; - let dmaTraceRow = this.initTraceRow('abilityMonitorDma', 'DMA', TraceRow.ROW_TYPE_DMA_ABILITY, processRow); - dmaTraceRow.supplierFrame = (): Promise => - new Promise>((resolve): void => + let dmaTraceRow = this.initTraceRow('abilityMonitorDma', 'DMA', TraceRow.ROW_TYPE_DMA_ABILITY, processRow);// @ts-ignore + dmaTraceRow.supplierFrame = (): Promise => + new Promise>((resolve): void => resolve( - abilityDmaDataSender(dmaTraceRow, snapshotDur).then((res: any[]) => { + abilityDmaDataSender(dmaTraceRow, snapshotDur).then((res: unknown[]) => { this.setName(res); return res; }) @@ -1094,11 +1095,11 @@ export class SpAbilityMonitorChart { 'Skia Gpu Memory', TraceRow.ROW_TYPE_GPU_MEMORY_ABILITY, processRow - ); - gpuMemoryTraceRow.supplierFrame = (): Promise => - new Promise>((resolve): void => + );// @ts-ignore + gpuMemoryTraceRow.supplierFrame = (): Promise => + new Promise>((resolve): void => resolve( - abilityGpuMemoryDataSender(gpuMemoryTraceRow, snapshotDur).then((res: any[]) => { + abilityGpuMemoryDataSender(gpuMemoryTraceRow, snapshotDur).then((res: unknown[]) => { this.setName(res); return res; }) @@ -1161,20 +1162,20 @@ export class SpAbilityMonitorChart { ); } - private setName(data: Array): void { + private setName(data: Array): void { if (data.length > 0) { - data.forEach((item, index) => { + data.forEach((item, index) => {// @ts-ignore item.name = `SnapShot ${index}`; }); } } - private computeDur(list: Array): void { + private computeDur(list: Array): void { let endNS = TraceRow.range?.endNS || 0; list.forEach((it, i) => { - if (i === list.length - 1) { + if (i === list.length - 1) {// @ts-ignore it.dur = (endNS || 0) - (it.startNS || 0); - } else { + } else {// @ts-ignore it.dur = (list[i + 1].startNS || 0) - (it.startNS || 0); } }); diff --git a/ide/src/trace/component/chart/SpAllAppStartups.ts b/ide/src/trace/component/chart/SpAllAppStartups.ts index c2c562d12..2e5ec2aaa 100644 --- a/ide/src/trace/component/chart/SpAllAppStartups.ts +++ b/ide/src/trace/component/chart/SpAllAppStartups.ts @@ -30,7 +30,7 @@ export class SpAllAppStartupsChart { static APP_STARTUP_PID_ARR: Array = []; static jsonRow: TraceRow | undefined; static trace: SpSystemTrace; - static AllAppStartupsNameArr: any[] = []; + static AllAppStartupsNameArr: unknown[] = []; static allAppStartupsAva: number[] = []; constructor(trace: SpSystemTrace) { @@ -44,7 +44,7 @@ export class SpAllAppStartupsChart { SpAllAppStartupsChart.AllAppStartupsNameArr = []; SpAllAppStartupsChart.allAppStartupsAva = []; for (let i = 0; i < SpAllAppStartupsChart.APP_STARTUP_PID_ARR.length; i++) { - let tmpSingleApp: any[] = await queryProcessStartup(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]!); + let tmpSingleApp: unknown[] = await queryProcessStartup(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]!); if (tmpSingleApp.length === 8) { let avilSingleName = await querySingleAppStartupsName(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]!); SpAllAppStartupsChart.allAppStartupsAva.push(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]); @@ -87,7 +87,7 @@ export class SpAllAppStartupsChart { sendRes.push({ dur: singleDur, startTs: minStartTs, - startName: undefined, + startName: undefined,// @ts-ignore stepName: SpAllAppStartupsChart.AllAppStartupsNameArr[i], translateY: undefined, frame: undefined, diff --git a/ide/src/trace/component/chart/SpArkTsChart.ts b/ide/src/trace/component/chart/SpArkTsChart.ts index 1a39e0c25..c159b067b 100644 --- a/ide/src/trace/component/chart/SpArkTsChart.ts +++ b/ide/src/trace/component/chart/SpArkTsChart.ts @@ -34,8 +34,8 @@ const TYPE_SNAPSHOT = 0; const TYPE_TIMELINE = 1; const LAMBDA_FUNCTION_NAME = '(anonymous)'; export class SpArkTsChart implements ParseListener { - private trace: SpSystemTrace; - private folderRow: TraceRow | undefined; + private trace: SpSystemTrace;// @ts-ignore + private folderRow: TraceRow | undefined; private jsCpuProfilerRow: TraceRow | undefined; private heapTimelineRow: TraceRow | undefined; private heapSnapshotRow: TraceRow | undefined; @@ -52,33 +52,33 @@ export class SpArkTsChart implements ParseListener { return this.allCombineDataMap; } - private cpuProfilerSupplierFrame(): void { - this.jsCpuProfilerRow!.supplierFrame = (): Promise> => { - return cpuProfilerDataSender(this.jsCpuProfilerRow!).then((res: any) => { + private cpuProfilerSupplierFrame(): void {// @ts-ignore + this.jsCpuProfilerRow!.supplierFrame = (): Promise> => { + return cpuProfilerDataSender(this.jsCpuProfilerRow!).then((res: unknown) => {// @ts-ignore let maxHeight = res.maxDepth * 20; - this.jsCpuProfilerRow!.style.height = `${maxHeight}px`; + this.jsCpuProfilerRow!.style.height = `${maxHeight}px`;// @ts-ignore if (res.dataList.length > 0) { - this.allCombineDataMap = new Map(); + this.allCombineDataMap = new Map();// @ts-ignore for (let data of res.dataList) { this.allCombineDataMap.set(data.id, data); SpSystemTrace.jsProfilerMap.set(data.id, data); - } - res.dataList.forEach((data: any) => { - data.children = []; - if (data.childrenIds.length > 0) { + }// @ts-ignore + res.dataList.forEach((data: unknown) => {// @ts-ignore + data.children = [];// @ts-ignore + if (data.childrenIds.length > 0) {// @ts-ignore for (let id of data.childrenIds) { - let child = SpSystemTrace.jsProfilerMap.get(Number(id)); + let child = SpSystemTrace.jsProfilerMap.get(Number(id));// @ts-ignore data.children.push(child); } - } - data.name = SpSystemTrace.DATA_DICT.get(data.nameId) || LAMBDA_FUNCTION_NAME; - data.url = SpSystemTrace.DATA_DICT.get(data.urlId) || 'unknown'; - if (data.url && data.url !== 'unknown') { - let dirs = data.url.split('/'); + }// @ts-ignore + data.name = SpSystemTrace.DATA_DICT.get(data.nameId) || LAMBDA_FUNCTION_NAME;// @ts-ignore + data.url = SpSystemTrace.DATA_DICT.get(data.urlId) || 'unknown';// @ts-ignore + if (data.url && data.url !== 'unknown') {// @ts-ignore + let dirs = data.url.split('/');// @ts-ignore data.scriptName = dirs.pop() || ''; } }); - } + }// @ts-ignore return res.dataList; }); }; @@ -246,12 +246,12 @@ export class SpArkTsChart implements ParseListener { this.trace.snapshotFile = file; if (file.type === TYPE_TIMELINE) { let samples = HeapDataInterface.getInstance().getSamples(file.id); - this.heapTimelineRow!.rowId = `heaptimeline${file.id}`; - this.heapTimelineRow!.supplierFrame = (): Promise => new Promise((resolve) => resolve(samples)); + this.heapTimelineRow!.rowId = `heaptimeline${file.id}`;// @ts-ignore + this.heapTimelineRow!.supplierFrame = (): Promise => new Promise((resolve) => resolve(samples)); this.heapLineThreadHandler(samples); - } else if (file.type === TYPE_SNAPSHOT) { - this.heapSnapshotRow!.supplierFrame = (): Promise> => - new Promise>((resolve) => resolve(heapFile)); + } else if (file.type === TYPE_SNAPSHOT) {// @ts-ignore + this.heapSnapshotRow!.supplierFrame = (): Promise> => + new Promise>((resolve) => resolve(heapFile)); this.heapSnapshotThreadHandler(); } } diff --git a/ide/src/trace/component/trace/SpChartList.ts b/ide/src/trace/component/trace/SpChartList.ts index 553fa4da6..eea8b499b 100644 --- a/ide/src/trace/component/trace/SpChartList.ts +++ b/ide/src/trace/component/trace/SpChartList.ts @@ -58,11 +58,13 @@ export class SpChartList extends BaseElement { private isPress: boolean = false; private startPageY = 0; private startClientHeight: number = 0; - private scrollTimer: any; + private scrollTimer: unknown; private collect1Expand: boolean = true; private collect2Expand: boolean = true; - private collectRowList1: Array> = []; - private collectRowList2: Array> = []; + // @ts-ignore + private collectRowList1: Array> = []; + // @ts-ignore + private collectRowList2: Array> = []; private maxHeight = 0; private manualHeight = 0; @@ -143,8 +145,10 @@ export class SpChartList extends BaseElement { private resizeHeight(): void { this.maxHeight = 0; - this.collectEl1!.childNodes.forEach((item) => (this.maxHeight += (item as any).clientHeight)); - this.collectEl2!.childNodes.forEach((item) => (this.maxHeight += (item as any).clientHeight)); + // @ts-ignore + this.collectEl1!.childNodes.forEach((item) => (this.maxHeight += (item as unknown).clientHeight)); + // @ts-ignore + this.collectEl2!.childNodes.forEach((item) => (this.maxHeight += (item as unknown).clientHeight)); if (this.groupTitle1) { this.maxHeight += this.groupTitle1.clientHeight; } @@ -164,7 +168,8 @@ export class SpChartList extends BaseElement { return (this.parentElement!.clientHeight - topHeight) * maxScale; } - getCollectRows(filter?: (row: TraceRow) => boolean): Array> | [] { + // @ts-ignore + getCollectRows(filter?: (row: TraceRow) => boolean): Array> | [] { if (filter) { return [...this.collectRowList1.filter(filter), ...this.collectRowList2.filter(filter)]; } else { @@ -176,7 +181,8 @@ export class SpChartList extends BaseElement { return this.rootEl?.scrollTop || 0; } - expandSearchRowGroup(row: TraceRow): void { + // @ts-ignore + expandSearchRowGroup(row: TraceRow): void { this.updateGroupDisplay(); if (row.collectGroup === SpChartList.COLLECT_G1) { if (!this.collect1Expand) { @@ -195,11 +201,13 @@ export class SpChartList extends BaseElement { this.resizeHeight(); } - getCollectRow(filter: (row: TraceRow) => boolean): TraceRow | undefined { + // @ts-ignore + getCollectRow(filter: (row: TraceRow) => boolean): TraceRow | undefined { return this.collectRowList1.find(filter) || this.collectRowList2.find(filter); } - getAllCollectRows(): Array> { + // @ts-ignore + getAllCollectRows(): Array> { return [...this.collectRowList1, ...this.collectRowList2]; } @@ -217,24 +225,30 @@ export class SpChartList extends BaseElement { }); } - getRowParent(obj: any, row: TraceRow) { + // @ts-ignore + getRowParent(obj: unknown, row: TraceRow) { if (row.parentRowEl) { + // @ts-ignore if (obj.parents) { - let parent: any = { + let parent: unknown = { type: row.parentRowEl.rowType, name: row.parentRowEl.name, id: row.parentRowEl.rowId, }; - (obj.parents as Array).push(parent); + // @ts-ignore + (obj.parents as Array).push(parent); } else { + // @ts-ignore obj.parents = [parent]; } this.getRowParent(obj, row.parentRowEl); } } - getAllSelectCollectRows(): Array> { - const rows: Array> = []; + // @ts-ignore + getAllSelectCollectRows(): Array> { + // @ts-ignore + const rows: Array> = []; for (const row of this.collectRowList1) { if (row.checkType === '2') { rows.push(row); @@ -249,13 +263,17 @@ export class SpChartList extends BaseElement { } insertRowBefore(node: Node, child: Node): void { - if (child === null || (child as TraceRow).collectGroup === (node as TraceRow).collectGroup) { - if ((node as TraceRow).collectGroup === SpChartList.COLLECT_G1) { + // @ts-ignore + if (child === null || (child as TraceRow).collectGroup === (node as TraceRow).collectGroup) { + // @ts-ignore + if ((node as TraceRow).collectGroup === SpChartList.COLLECT_G1) { this.collectEl1!.insertBefore(node, child); - this.collectRowList1 = Array.from(this.collectEl1!.children) as TraceRow[]; + // @ts-ignore + this.collectRowList1 = Array.from(this.collectEl1!.children) as TraceRow[]; } else { this.collectEl2!.insertBefore(node, child); - this.collectRowList2 = Array.from(this.collectEl2!.children) as TraceRow[]; + // @ts-ignore + this.collectRowList2 = Array.from(this.collectEl2!.children) as TraceRow[]; } } } @@ -312,6 +330,7 @@ export class SpChartList extends BaseElement { onScroll = (ev: Event): void => { this.canvas!.style.transform = `translateY(${this.scrollTop}px)`; if (this.scrollTimer) { + // @ts-ignore clearTimeout(this.scrollTimer); } this.scrollTimer = setTimeout(() => { @@ -336,7 +355,8 @@ export class SpChartList extends BaseElement { this.style.cursor = 'default'; this.canResize = false; } - (window as any).collectResize = this.canResize; + // @ts-ignore + (window as unknown).collectResize = this.canResize; } }; @@ -356,7 +376,8 @@ export class SpChartList extends BaseElement { return; } if (this.canResize && this.isPress) { - (window as any).collectResize = true; + // @ts-ignore + (window as unknown).collectResize = true; // 拖动超过所有泳道最大高度 或小于一个泳道的高度,不支持拖动 let newHeight = this.startClientHeight + ev.pageY - this.startPageY; if (newHeight > this.maxHeight) { @@ -371,7 +392,8 @@ export class SpChartList extends BaseElement { this!.style.height = `${newHeight}px`; this.manualHeight = newHeight; } else { - (window as any).collectResize = false; + // @ts-ignore + (window as unknown).collectResize = false; } }; @@ -379,13 +401,15 @@ export class SpChartList extends BaseElement { this.isPress = false; this.canResize = false; this.style.cursor = 'default'; - (window as any).collectResize = false; + // @ts-ignore + (window as unknown).collectResize = false; if (this.style.display === 'flex') { this.refreshFavoriteCanvas(); } }; - insertRow(row: TraceRow, group: string, updateGroup: boolean): void { + // @ts-ignore + insertRow(row: TraceRow, group: string, updateGroup: boolean): void { this.style.display = 'flex'; let collectGroup = !updateGroup && row.collectGroup ? row.collectGroup : group; if (row.collectGroup !== SpChartList.COLLECT_G1 && row.collectGroup !== SpChartList.COLLECT_G2) { @@ -427,7 +451,8 @@ export class SpChartList extends BaseElement { row.currentContext = this.canvasCtx; } - deleteRow(row: TraceRow, clearCollectGroup: boolean): void { + // @ts-ignore + deleteRow(row: TraceRow, clearCollectGroup: boolean): void { if (row.collectGroup === SpChartList.COLLECT_G1) { this.collectRowList1.splice(this.collectRowList1.indexOf(row), 1); if (!this.fragmentGroup1.contains(row)) { diff --git a/ide/src/trace/component/trace/base/TraceSheet.ts b/ide/src/trace/component/trace/base/TraceSheet.ts index 4b314b712..5e738e372 100644 --- a/ide/src/trace/component/trace/base/TraceSheet.ts +++ b/ide/src/trace/component/trace/base/TraceSheet.ts @@ -623,6 +623,7 @@ export class TraceSheet extends BaseElement { ): Promise => this.displayTab('current-selection').setThreadData( data, + // @ts-ignore scrollCallback, scrollWakeUp, callback @@ -675,6 +676,7 @@ export class TraceSheet extends BaseElement { data: JankStruct, callback: ((data: Array) => void) | undefined = undefined, scrollCallback: ((e: JankStruct) => void) | undefined + // @ts-ignore ): void => this.displayTab('current-selection').setJankData(data, callback, scrollCallback); displayShmData = (data: SnapshotStruct, dataList: Array): void => { this.displayTab('box-vmtracker-shm-comparison').setShmData(data, dataList); diff --git a/ide/src/trace/component/trace/sheet/SheetUtils.ts b/ide/src/trace/component/trace/sheet/SheetUtils.ts index 122082252..caf9c360d 100644 --- a/ide/src/trace/component/trace/sheet/SheetUtils.ts +++ b/ide/src/trace/component/trace/sheet/SheetUtils.ts @@ -63,14 +63,20 @@ export function resizeObserverFromMemory( }).observe(parentElement); } -export function showButtonMenu(filter: any, isShow: boolean): void { +export function showButtonMenu(filter: unknown, isShow: boolean): void { if (isShow) { + // @ts-ignore filter.setAttribute('tree', ''); + // @ts-ignore filter.setAttribute('input', ''); + // @ts-ignore filter.setAttribute('inputLeftText', ''); } else { + // @ts-ignore filter.removeAttribute('tree'); + // @ts-ignore filter.removeAttribute('input'); + // @ts-ignore filter.removeAttribute('inputLeftText'); } } diff --git a/ide/src/trace/component/trace/sheet/TabPaneCurrent.ts b/ide/src/trace/component/trace/sheet/TabPaneCurrent.ts index 883c35e4a..88faae433 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrent.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrent.ts @@ -26,7 +26,7 @@ export class TabPaneCurrent extends BaseElement { private slicesTimeList: Array = []; private slicesTime: SlicesTime | null = null; private systemTrace: SpSystemTrace | undefined | null; - private tableDataSource: Array = []; + private tableDataSource: Array = []; private panelTable: LitTable | undefined | null; @@ -34,13 +34,16 @@ export class TabPaneCurrent extends BaseElement { this.systemTrace = document .querySelector('body > sp-application') ?.shadowRoot!.querySelector('#sp-system-trace'); - this.shadowRoot?.querySelector('#text')?.addEventListener('keyup', (event: any) => { + this.shadowRoot?.querySelector('#text')?.addEventListener('keyup', (event: unknown) => { + // @ts-ignore event.stopPropagation(); + // @ts-ignore if (event.keyCode === '13') { if (this.slicesTime) { window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: true, }); + // @ts-ignore this.slicesTime.text = event?.target.value; document.dispatchEvent( new CustomEvent('slices-change', { @@ -50,14 +53,16 @@ export class TabPaneCurrent extends BaseElement { } } }); - this.shadowRoot?.querySelector('#text')?.addEventListener('blur', (event: any) => { - (window as any).flagInputFocus = false; + this.shadowRoot?.querySelector('#text')?.addEventListener('blur', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = false; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: true, }); }); - this.shadowRoot?.querySelector('#text')?.addEventListener('focus', (event: any) => { - (window as any).flagInputFocus = true; + this.shadowRoot?.querySelector('#text')?.addEventListener('focus', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = true; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: false, }); @@ -68,7 +73,8 @@ export class TabPaneCurrent extends BaseElement { } private rowClickListener(): void { - this.panelTable!.addEventListener('row-click', (evt: any) => { + this.panelTable!.addEventListener('row-click', (evt: unknown) => { + // @ts-ignore if (evt.detail.data.startTime === undefined) { return; } @@ -93,7 +99,7 @@ export class TabPaneCurrent extends BaseElement { // 当鼠标移出panel时重新加载备注信息 this.systemTrace?.shadowRoot?.querySelector('trace-sheet')?.addEventListener( 'mouseout', - (event: any) => { + (event: unknown) => { if (this.slicesTimeList.length === 0) { return; } @@ -102,6 +108,7 @@ export class TabPaneCurrent extends BaseElement { for (let i = 1; i < tr.length; i++) { tr[i].querySelector('#text-input')!.value = this.slicesTimeList[i - 1].text; } + // @ts-ignore event.stopPropagation(); }, { capture: true } @@ -171,6 +178,7 @@ export class TabPaneCurrent extends BaseElement { // 当前点击了哪个卡尺,就将对应的表格中的那行的背景变色 this.tableDataSource.forEach((data, index) => { + // @ts-ignore if (data.startTime === this.slicesTime?.startTime && data.endTime === this.slicesTime?.endTime) { this.setTableSelection(index); } @@ -197,13 +205,17 @@ export class TabPaneCurrent extends BaseElement { // 修改备注 tr[i].querySelector('#text-input')!.value = this.slicesTimeList[i - 1].text; // // 点击色块修改颜色 - tr[i].querySelector('#text-input')?.addEventListener('keyup', (event: any) => { + tr[i].querySelector('#text-input')?.addEventListener('keyup', (event: unknown) => { if ( + // @ts-ignore this.tableDataSource[i].startTime === this.slicesTimeList[i - 1].startTime && + // @ts-ignore this.tableDataSource[i].endTime === this.slicesTimeList[i - 1].endTime && + // @ts-ignore event.keyCode === '13' ) { this.systemTrace!.slicesList = this.slicesTimeList || []; + // @ts-ignore this.slicesTimeList[i - 1].text = event?.target.value; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: true, @@ -212,23 +224,29 @@ export class TabPaneCurrent extends BaseElement { this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); - tr[i].querySelector('#text-input')?.addEventListener('blur', (event: any) => { - (window as any).flagInputFocus = false; + tr[i].querySelector('#text-input')?.addEventListener('blur', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = false; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: true, }); if ( + // @ts-ignore this.tableDataSource[i].startTime === this.slicesTimeList[i - 1].startTime && + // @ts-ignore this.tableDataSource[i].endTime === this.slicesTimeList[i - 1].endTime ) { + // @ts-ignore this.slicesTimeList[i - 1].text = event?.target.value; document.dispatchEvent(new CustomEvent('slices-change', { detail: this.slicesTimeList[i - 1] })); this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); this.trFocusEvent(tr, i); @@ -237,24 +255,29 @@ export class TabPaneCurrent extends BaseElement { } private trChangeEvent(tr: NodeListOf, i: number): void { - tr[i].querySelector('#color-input')?.addEventListener('change', (event: any) => { + tr[i].querySelector('#color-input')?.addEventListener('change', (event: unknown) => { if ( + // @ts-ignore this.tableDataSource[i].startTime === this.slicesTimeList[i - 1].startTime && + // @ts-ignore this.tableDataSource[i].endTime === this.slicesTimeList[i - 1].endTime ) { this.systemTrace!.slicesList = this.slicesTimeList || []; + // @ts-ignore this.slicesTimeList[i - 1].color = event?.target.value; document.dispatchEvent(new CustomEvent('slices-change', { detail: this.slicesTimeList[i - 1] })); // 卡尺颜色改变时,重绘泳道图 this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); } private trFocusEvent(tr: NodeListOf, i: number): void { - tr[i].querySelector('#text-input')?.addEventListener('focus', (event: any) => { - (window as any).flagInputFocus = true; + tr[i].querySelector('#text-input')?.addEventListener('focus', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = true; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: false, }); @@ -267,7 +290,7 @@ export class TabPaneCurrent extends BaseElement { } private trClickEvent(tr: NodeListOf): void { - tr[0].querySelector('.removeAll')!.addEventListener('click', (evt: any) => { + tr[0].querySelector('.removeAll')!.addEventListener('click', (evt: unknown) => { this.systemTrace!.slicesList = []; let slicesTimeList = [...this.slicesTimeList]; for (let i = 0; i < slicesTimeList.length; i++) { @@ -281,9 +304,11 @@ export class TabPaneCurrent extends BaseElement { private removeButtonClickEvent(tr: NodeListOf, i: number): void { // 点击remove按钮移除 - tr[i]!.querySelector('.remove')?.addEventListener('click', (event: any) => { + tr[i]!.querySelector('.remove')?.addEventListener('click', (event: unknown) => { if ( + // @ts-ignore this.tableDataSource[i].startTime === this.slicesTimeList[i - 1].startTime && + // @ts-ignore this.tableDataSource[i].endTime === this.slicesTimeList[i - 1].endTime ) { this.slicesTimeList[i - 1].hidden = true; @@ -292,6 +317,7 @@ export class TabPaneCurrent extends BaseElement { // 移除时更新表格内容 this.setTableData(); } + // @ts-ignore event.stopPropagation(); }); } @@ -300,9 +326,12 @@ export class TabPaneCurrent extends BaseElement { * 修改表格指定行数的背景颜色 * @param line 要改变的表格行数 */ - public setTableSelection(line: any): void { + public setTableSelection(line: unknown): void { + // @ts-ignore this.tableDataSource[line].isSelected = true; + // @ts-ignore this.panelTable?.clearAllSelection(this.tableDataSource[line]); + // @ts-ignore this.panelTable?.setCurrentSelection(this.tableDataSource[line]); } diff --git a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts index 39443acc2..45eabca56 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts @@ -110,7 +110,7 @@ export function getTimeString(ns: number): string { @element('tabpane-current-selection') export class TabPaneCurrentSelection extends BaseElement { weakUpBean: WakeupBean | null | undefined; - selectWakeupBean: any; + selectWakeupBean: unknown; private currentSelectionTbl: LitTable | null | undefined; private tableObserver: MutationObserver | undefined; private wakeupListTbl: LitTable | undefined | null; @@ -137,10 +137,11 @@ export class TabPaneCurrentSelection extends BaseElement { * @param transfBtnId 转换按钮id * @param startTimeAbsaluteId 开始时间的id */ - createStartTimeNode(list: any[], startTs: number, transfBtnId: string, startTimeAbsaluteId: string): void { + createStartTimeNode(list: unknown[], startTs: number, transfBtnId: string, startTimeAbsaluteId: string): void { let timeStr: string = ''; let startTimeValue: string = ''; - let startTimeAbsolute = startTs + (window as any).recordStartNS; + // @ts-ignore + let startTimeAbsolute = startTs + (window as unknown).recordStartNS; if (this.realTime > 0) { if (Utils.isTransformed) { timeStr = this.getRealTimeStr(startTimeAbsolute); @@ -194,7 +195,7 @@ export class TabPaneCurrentSelection extends BaseElement { if (leftTitle) { leftTitle.innerText = 'Slice Details'; } - let list: any[] = []; + let list: unknown[] = []; this.updateUI(data, list); Promise.all([this.queryThreadStateDArgs(data.argSetID), this.queryCPUWakeUpFromData(data)]).then((resArr) => { let args = resArr[0]; @@ -208,7 +209,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); } this.currentSelectionTbl!.dataSource = list; - let startTimeAbsolute = (data.startTime || 0) + (window as any).recordStartNS; + // @ts-ignore + let startTimeAbsolute = (data.startTime || 0) + (window as unknown).recordStartNS; this.addClickToTransfBtn(startTimeAbsolute, CPU_TRANSF_BTN_ID, CPU_STARTTIME_ABSALUTED_ID); let rightArea: HTMLElement | null | undefined = this?.shadowRoot?.querySelector('#table-right'); @@ -283,7 +285,7 @@ export class TabPaneCurrentSelection extends BaseElement { } } - private updateUI(data: CpuStruct, list: any[]): void { + private updateUI(data: CpuStruct, list: unknown[]): void { let process = this.transferString(data.processName || 'Process'); let processId = data.processId || data.tid; let state = ''; @@ -323,7 +325,7 @@ export class TabPaneCurrentSelection extends BaseElement { list.push({ name: 'End State', value: state }); } // 设置真实时间和启动时间的值 - private async setRealTime(): Promise { + private async setRealTime(): Promise { return queryRealTime().then((result) => { if (result && result.length > 0) { result.forEach((item) => { @@ -341,7 +343,7 @@ export class TabPaneCurrentSelection extends BaseElement { //方法信息 await this.setRealTime(); this.tabCurrentSelectionInit('Slice Details'); - let list: any[] = []; + let list: unknown[] = []; let name = this.transferString(data.funName ?? ''); let isBinder = FuncStruct.isBinder(data); let isAsyncBinder = isBinder && FuncStruct.isBinderAsync(data); @@ -368,14 +370,16 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'depth', value: data.depth }); this.currentSelectionTbl!.dataSource = list; - let startTimeAbsolute = (data.startTs || 0) + (window as any).recordStartNS; + // @ts-ignore + let startTimeAbsolute = (data.startTs || 0) + (window as unknown).recordStartNS; this.addClickToTransfBtn(startTimeAbsolute, FUN_TRANSF_BTN_ID, FUN_STARTTIME_ABSALUTED_ID); } } // 计算真实时间 private getRealTimeStr(startTs: number): string { - let time = (startTs || 0) + (window as any).recordStartNS - this.bootTime + this.realTime; + // @ts-ignore + let time = (startTs || 0) + (window as unknown).recordStartNS - this.bootTime + this.realTime; const formateDateStr = this.getDate(parseInt(time.toString().substring(0, 13))) + '.' + time.toString().substring(10); return formateDateStr; @@ -388,7 +392,7 @@ export class TabPaneCurrentSelection extends BaseElement { return gmt; } - private handleNonBinder(data: FuncStruct, list: any[], name: string): void { + private handleNonBinder(data: FuncStruct, list: unknown[], name: string): void { queryBinderArgsByArgset(data.argsetid!).then((argset) => { list.push({ name: 'Name', value: name }); argset.forEach((item) => { @@ -399,7 +403,7 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private handleBinder(data: FuncStruct, list: any[], name: string, scrollCallback: Function): void { + private handleBinder(data: FuncStruct, list: unknown[], name: string, scrollCallback: Function): void { queryBinderArgsByArgset(data.argsetid!).then((argset) => { let binderSliceId = -1; argset.forEach((item) => { @@ -423,8 +427,9 @@ export class TabPaneCurrentSelection extends BaseElement { let funcClick = this.currentSelectionTbl?.shadowRoot?.querySelector('#function-jump'); funcClick?.addEventListener('click', () => { if (!Number.isNaN(binderSliceId) && binderSliceId !== -1) { - queryBinderBySliceId(binderSliceId).then((result: any[]) => { + queryBinderBySliceId(binderSliceId).then((result: unknown[]) => { if (result.length > 0) { + // @ts-ignore result[0].type = TraceRow.ROW_TYPE_FUNC; scrollCallback(result[0]); } @@ -434,14 +439,14 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private handleAsyncBinder(data: FuncStruct, list: any[], name: string, scrollCallback: Function): void { + private handleAsyncBinder(data: FuncStruct, list: unknown[], name: string, scrollCallback: Function): void { Promise.all([ queryBinderByArgsId(data.argsetid!, data.startTs!, !data.funName!.endsWith('rcv')), queryBinderArgsByArgset(data.argsetid!), ]).then((result) => { let asyncBinderRes = result[0]; let argsBinderRes = result[1]; - let asyncBinderStract: any; + let asyncBinderStract: unknown; if (asyncBinderRes.length > 0) { asyncBinderRes[0].type = TraceRow.ROW_TYPE_FUNC; asyncBinderStract = asyncBinderRes[0]; @@ -474,14 +479,15 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private addTabPanelContent(contentList: any[], data: FuncStruct): void { + private addTabPanelContent(contentList: unknown[], data: FuncStruct): void { contentList.push({ name: 'StartTime(Relative)', value: getTimeString(data.startTs || 0), }); contentList.push({ name: 'StartTime(Absolute)', - value: ((data.startTs || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); contentList.push({ name: 'Duration', @@ -520,7 +526,7 @@ export class TabPaneCurrentSelection extends BaseElement { this.setTableHeight('auto'); //时钟信息 this.tabCurrentSelectionInit('Counter Details'); - let list: any[] = []; + let list: unknown[] = []; list.push({ name: 'StartTime(Relative)', value: getTimeString(data.startNS || 0), @@ -532,7 +538,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'Duration', value: getTimeString(data.dur || 0) }); this.currentSelectionTbl!.dataSource = list; - let startTimeAbsolute = (data.startNS || 0) + (window as any).recordStartNS; + // @ts-ignore + let startTimeAbsolute = (data.startNS || 0) + (window as unknown).recordStartNS; this.addClickToTransfBtn(startTimeAbsolute, CLOCK_TRANSF_BTN_ID, CLOCK_STARTTIME_ABSALUTED_ID); } @@ -551,7 +558,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.startTime || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTime || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Value', value: data.value }); list.push({ name: 'Delta', value: data.delta }); @@ -577,7 +585,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.startNS || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startNS || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Name', value: data.name }); list.push({ name: 'Duration', value: getTimeString(data.dur || 0) }); @@ -593,9 +602,9 @@ export class TabPaneCurrentSelection extends BaseElement { async setThreadData( data: ThreadStruct, - scrollCallback: ((d: any) => void) | undefined, - scrollWakeUp: (d: any) => void | undefined, - callback?: (data: Array, str: string) => void + scrollCallback: ((d: unknown) => void) | undefined, + scrollWakeUp: (d: unknown) => void | undefined, + callback?: (data: Array, str: string) => void ): Promise { //线程信息 await this.setRealTime(); @@ -606,7 +615,7 @@ export class TabPaneCurrentSelection extends BaseElement { if (leftTitle) { leftTitle.innerText = 'Thread State'; } - let list: any[] = []; + let list: unknown[] = []; let jankJumperList: Array = []; this.prepareThreadInfo(list, data); let cpu = new CpuStruct(); @@ -615,19 +624,23 @@ export class TabPaneCurrentSelection extends BaseElement { this.queryThreadDetails(data, list, jankJumperList, callback, scrollWakeUp, scrollCallback); } - private sortByNearData(nearData: any[], data: ThreadStruct, list: any[]): any[] { - let preData: any = undefined; - let nextData: any = undefined; - nearData - .sort((near1, near2) => near1.startTime - near2.startTime) + private sortByNearData(nearData: unknown[], data: ThreadStruct, list: unknown[]): unknown[] { + let preData: unknown = undefined; + let nextData: unknown = undefined; + // @ts-ignore + nearData .sort((near1, near2) => near1.startTime - near2.startTime) .forEach((near) => { + // @ts-ignore if (near.itid === data.id) { + // @ts-ignore if (near.startTime < data.startTime!) { preData = near; list.push({ name: 'Previous State', value: `
-
${Utils.getEndState(near.state)}
+
${ + // @ts-ignore + Utils.getEndState(near.state)}
`, }); @@ -636,7 +649,9 @@ export class TabPaneCurrentSelection extends BaseElement { list.push({ name: 'Next State', value: `
-
${Utils.getEndState(near.state)}
+
${ + // @ts-ignore + Utils.getEndState(near.state)}
`, }); @@ -646,7 +661,7 @@ export class TabPaneCurrentSelection extends BaseElement { return [preData, nextData]; } - private setWakeupData(fromBean: WakeupBean | undefined, wakeUps: WakeupBean[], list: any[]): void { + private setWakeupData(fromBean: WakeupBean | undefined, wakeUps: WakeupBean[], list: unknown[]): void { if (fromBean !== null && fromBean !== undefined && fromBean.pid !== 0 && fromBean.tid !== 0) { list.push({ name: 'wakeup from tid', @@ -673,11 +688,11 @@ export class TabPaneCurrentSelection extends BaseElement { private queryThreadDetails( data: ThreadStruct, - list: any[], + list: unknown[], jankJumperList: ThreadTreeNode[], - callback: ((data: Array, str: string) => void) | undefined, - scrollWakeUp: (d: any) => void | undefined, - scrollCallback: ((d: any) => void) | undefined + callback: ((data: Array, str: string) => void) | undefined, + scrollWakeUp: (d: unknown) => void | undefined, + scrollCallback: ((d: unknown) => void) | undefined ): void { Promise.all([ this.queryThreadWakeUpFromData(data.id!, data.startTime!, data.dur!), @@ -696,7 +711,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); } this.currentSelectionTbl!.dataSource = list; - let startTimeAbsolute = (data.startTime || 0) + (window as any).recordStartNS; + // @ts-ignore + let startTimeAbsolute = (data.startTime || 0) + (window as unknown).recordStartNS; this.addClickToTransfBtn(startTimeAbsolute, THREAD_TRANSF_BTN_ID, THREAD_STARTTIME_ABSALUTED_ID); let timeLineNode = new ThreadTreeNode(data.tid!, data.pid!, data.startTime!); jankJumperList.push(timeLineNode); @@ -712,7 +728,7 @@ export class TabPaneCurrentSelection extends BaseElement { private wakeupClickHandler( wakeUps: WakeupBean[], fromBean: WakeupBean | undefined, - scrollWakeUp: (d: any) => void | undefined + scrollWakeUp: (d: unknown) => void | undefined ): void { this.currentSelectionTbl?.shadowRoot?.querySelector('#wakeup-from')?.addEventListener('click', () => { //点击跳转,唤醒和被唤醒的 线程 @@ -753,22 +769,30 @@ export class TabPaneCurrentSelection extends BaseElement { } private stateClickHandler( - preData: any, - nextData: any, + preData: unknown, + nextData: unknown, data: ThreadStruct, - scrollWakeUp: (d: any) => void | undefined, - scrollCallback: ((d: any) => void) | undefined + scrollWakeUp: (d: unknown) => void | undefined, + scrollCallback: ((d: unknown) => void) | undefined ): void { this.currentSelectionTbl?.shadowRoot?.querySelector('#next-state-click')?.addEventListener('click', () => { if (nextData && scrollWakeUp !== undefined) { scrollWakeUp({ + // @ts-ignore processId: nextData.pid, + // @ts-ignore tid: nextData.tid, + // @ts-ignore startTime: nextData.startTime, + // @ts-ignore dur: nextData.dur, + // @ts-ignore cpu: nextData.cpu, + // @ts-ignore id: nextData.itid, + // @ts-ignore state: nextData.state, + // @ts-ignore argSetID: nextData.argSetID, }); } @@ -777,13 +801,21 @@ export class TabPaneCurrentSelection extends BaseElement { this.currentSelectionTbl?.shadowRoot?.querySelector('#previous-state-click')?.addEventListener('click', () => { if (preData && scrollWakeUp !== undefined) { scrollWakeUp({ + // @ts-ignore processId: preData.pid, + // @ts-ignore tid: preData.tid, + // @ts-ignore startTime: preData.startTime, + // @ts-ignore dur: preData.dur, + // @ts-ignore cpu: preData.cpu, + // @ts-ignore id: preData.itid, + // @ts-ignore state: preData.state, + // @ts-ignore argSetID: preData.argSetID, }); } @@ -797,7 +829,7 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private async prepareThreadInfo(list: any[], data: ThreadStruct): Promise { + private async prepareThreadInfo(list: unknown[], data: ThreadStruct): Promise { list.push({ name: 'StartTime(Relative)', value: getTimeString(data.startTime || 0), @@ -827,19 +859,28 @@ export class TabPaneCurrentSelection extends BaseElement { if (state.includes('Running')) { let startTime: number = data.startTime || 0; let endTime: number = (data.startTime || 0) + (data.dur || 0); - let freqList: Array = []; + let freqList: Array = []; let str = ''; freqList = await queryStateFreqList(startTime, endTime, data.cpu || 0); freqList.forEach((it) => { + // @ts-ignore if (it.startTime < startTime! && it.endTime > endTime!) { + // @ts-ignore it.stateDur = data.dur; + // @ts-ignore } else if (it.startTime < startTime! && startTime! < it.endTime && it.endTime < endTime!) { + // @ts-ignore it.stateDur = it.endTime - startTime!; + // @ts-ignore } else if (it.startTime > startTime! && startTime! < it.endTime && it.endTime < endTime!) { + // @ts-ignore it.stateDur = it.dur; + // @ts-ignore } else if (it.startTime > startTime! && endTime! > it.startTime && it.endTime > endTime!) { + // @ts-ignore it.stateDur = endTime! - it.startTime; } + // @ts-ignore str += '[' + it.value + ': ' + (it.stateDur || 0) / 1000 + ']' + ','; }); list.push({ name: 'Freq [KHz,μs]', value: str.substring(0, str.length - 1) }); @@ -865,13 +906,13 @@ export class TabPaneCurrentSelection extends BaseElement { setJankData( data: JankStruct, - callback: ((data: Array) => void) | undefined = undefined, - scrollCallback: ((d: any) => void) | undefined + callback: ((data: Array) => void) | undefined = undefined, + scrollCallback: ((d: unknown) => void) | undefined ): void { //线程信息 this.setTableHeight('750px'); this.tabCurrentSelectionInit('Slice Details'); - let list: any[] = []; + let list: unknown[] = []; this.setJankCommonMessage(list, data); if (data.type === '0') { this.handleTypeJank(data, list, scrollCallback, callback); @@ -882,9 +923,9 @@ export class TabPaneCurrentSelection extends BaseElement { private handleTypeJank( data: JankStruct, - list: any[], - scrollCallback: ((d: any) => void) | undefined, - callback: ((data: Array) => void) | undefined + list: unknown[], + scrollCallback: ((d: unknown) => void) | undefined, + callback: ((data: Array) => void) | undefined ): void { this.setJankType(data, list); let jankJumperList: Array = []; @@ -904,10 +945,10 @@ export class TabPaneCurrentSelection extends BaseElement { private handleFrameTimeJank( data: JankStruct, - list: any[], + list: unknown[], jankJumperList: JankTreeNode[], - scrollCallback: ((d: any) => void) | undefined, - callback: ((data: Array) => void) | undefined + scrollCallback: ((d: unknown) => void) | undefined, + callback: ((data: Array) => void) | undefined ): void { queryGpuDur(data.id!).then((it) => { if (it.length > 0) { @@ -928,7 +969,7 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private addRenderServiceFrameDetails(data: JankStruct, list: any[]): void { + private addRenderServiceFrameDetails(data: JankStruct, list: unknown[]): void { if (data.rs_name) { list.push({ name: 'RenderService Frame', @@ -944,7 +985,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.rs_ts || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.rs_ts || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'end time', @@ -953,7 +995,7 @@ export class TabPaneCurrentSelection extends BaseElement { } } - private addFollowingDetails(list: any[], data: JankStruct): void { + private addFollowingDetails(list: unknown[], data: JankStruct): void { list.push({ name: 'Following', value: '', @@ -969,7 +1011,7 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private addAppFrameDetails(data: JankStruct, list: any[]): void { + private addAppFrameDetails(data: JankStruct, list: unknown[]): void { if (data.name) { list.push({ name: 'App Frame', @@ -985,7 +1027,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.ts || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.ts || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'end time', @@ -995,11 +1038,11 @@ export class TabPaneCurrentSelection extends BaseElement { } private handleAppJank( - list: any[], + list: unknown[], data: JankStruct, jankJumperList: JankTreeNode[], - scrollCallback: ((d: any) => void) | undefined, - callback: ((data: Array) => void) | undefined + scrollCallback: ((d: unknown) => void) | undefined, + callback: ((data: Array) => void) | undefined ): void { list.push({ name: 'FrameTimeLine flows', @@ -1023,16 +1066,20 @@ export class TabPaneCurrentSelection extends BaseElement { name: 'Preceding flows', value: '', }); - it.forEach((a: any) => { + it.forEach((a: unknown) => { + // @ts-ignore let rsNode = new JankTreeNode(a.name, a.pid, 'render_service'); jankJumperList.push(rsNode); list.push({ name: 'Slice', value: + // @ts-ignore a.cmdline + ' [' + + // @ts-ignore a.name + ']' + + // @ts-ignore ``, }); }); @@ -1048,10 +1095,10 @@ export class TabPaneCurrentSelection extends BaseElement { private handleRenderServiceJank( data: JankStruct, - list: any[], + list: unknown[], jankJumperList: JankTreeNode[], - scrollCallback: ((d: any) => void) | undefined, - callback: ((data: Array) => void) | undefined + scrollCallback: ((d: unknown) => void) | undefined, + callback: ((data: Array) => void) | undefined ): void { if (data.src_slice) { queryFlowsData(data.src_slice!.split(',')).then((it) => { @@ -1060,17 +1107,22 @@ export class TabPaneCurrentSelection extends BaseElement { name: 'FrameTimeLine flows', value: '', }); - it.forEach((a: any) => { + it.forEach((a: unknown) => { + // @ts-ignore let appNode = new JankTreeNode(a.name, a.pid, 'app'); + // @ts-ignore appNode.children.push(new JankTreeNode(a.name, a.pid, 'frameTime')); jankJumperList.push(appNode); list.push({ name: 'Slice', value: + // @ts-ignore a.cmdline + ' [' + + // @ts-ignore a.name + ']' + + // @ts-ignore ``, }); }); @@ -1078,14 +1130,17 @@ export class TabPaneCurrentSelection extends BaseElement { name: 'Following flows', value: '', }); - it.forEach((a: any) => { + it.forEach((a: unknown) => { list.push({ name: 'Slice', value: + // @ts-ignore a.cmdline + ' [' + + // @ts-ignore a.name + ']' + + // @ts-ignore ``, }); }); @@ -1113,7 +1168,7 @@ export class TabPaneCurrentSelection extends BaseElement { if (allStartUpLeftTitle) { allStartUpLeftTitle.innerText = 'Details'; } - let list: any[] = []; + let list: unknown[] = []; list.push({ name: 'Name', value: data.stepName! }); list.push({ name: 'StartTime(Relative)', @@ -1121,7 +1176,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.startTs || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'EndTime(Relative)', @@ -1129,7 +1185,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'EndTime(Abslute)', - value: ((data.startTs || 0) + (data.dur || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (data.dur || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Dur', @@ -1138,11 +1195,11 @@ export class TabPaneCurrentSelection extends BaseElement { this.currentSelectionTbl!.dataSource = list; } - setStartupData(data: AppStartupStruct, scrollCallback: Function, rowData: any): void { + setStartupData(data: AppStartupStruct, scrollCallback: Function, rowData: unknown): void { this.setTableHeight('550px'); this.initCanvas(); this.setStartUpStyle(); - let list: any[] = []; + let list: unknown[] = []; list.push({ name: 'Name', value: AppStartupStruct.getStartupName(data.startName) }); list.push({ name: 'StartTime(Relative)', @@ -1154,7 +1211,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.startTs || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); if (data.dur && data.dur > 0) { list.push({ @@ -1166,7 +1224,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'EndTime(Absolute)', - value: ((data.startTs || 0) + (data.dur || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (data.dur || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); } else { list.push({ @@ -1179,10 +1238,12 @@ export class TabPaneCurrentSelection extends BaseElement { }); } list.push({ name: 'Duration', value: getTimeString(data.dur || 0) }); + // @ts-ignore let sortedArray = rowData.slice().sort(function (a: { startTs: number }, b: { startTs: number }) { return a.startTs - b.startTs; }); - sortedArray.forEach((item: any, index: number) => { + sortedArray.forEach((item: unknown, index: number) => { + // @ts-ignore if (item.startName === data.startName) { list.push({ name: 'StartSlice', @@ -1227,7 +1288,8 @@ export class TabPaneCurrentSelection extends BaseElement { let startIcon = this.currentSelectionTbl?.shadowRoot?.querySelector('#start-jump'); let endIcon = this.currentSelectionTbl?.shadowRoot?.querySelector('#end-jump'); let scrollClick = (type: number): void => { - let recordNs: number = (window as any).recordStartNS; + // @ts-ignore + let recordNs: number = (window as unknown).recordStartNS; let useEnd = type === 1 && data.startName! < 6; queryThreadByItid( useEnd ? data.endItid! : data.itid!, @@ -1266,7 +1328,7 @@ export class TabPaneCurrentSelection extends BaseElement { this.setTableHeight('550px'); this.initCanvas(); this.setStaticInitStyle(); - let list: any[] = []; + let list: unknown[] = []; list.push({ name: 'Name', value: data.soName }); list.push({ name: 'StartTime(Relative)', @@ -1277,7 +1339,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'StartTime(Absolute)', - value: ((data.startTs || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.startTs || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Duration', value: getTimeString(data.dur || 0) }); this.currentSelectionTbl!.dataSource = list; @@ -1303,7 +1366,8 @@ export class TabPaneCurrentSelection extends BaseElement { let startIcon = this.currentSelectionTbl?.shadowRoot?.querySelector('#start-jump'); if (startIcon) { startIcon.addEventListener('click', () => { - let recordNs: number = (window as any).recordStartNS; + // @ts-ignore + let recordNs: number = (window as unknown).recordStartNS; queryThreadByItid(data.itid!, recordNs + data.startTs!).then((result) => { if (result.length > 0) { let pt: { @@ -1338,7 +1402,8 @@ export class TabPaneCurrentSelection extends BaseElement { list.push({ name: 'Start time(Relative)', value: `${Utils.getTimeString(dataTs)}` }); list.push({ name: 'Start time(Absolute)', - value: ((dataTs || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((dataTs || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'End time(Relative)', @@ -1346,7 +1411,8 @@ export class TabPaneCurrentSelection extends BaseElement { }); list.push({ name: 'End time(Absolute)', - value: (dataTs + (data.dur || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: (dataTs + (data.dur || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Duration', value: `${Utils.getTimeString(data.dur || 0)}` }); if (data.status === 'Completion delay') { @@ -1377,7 +1443,8 @@ export class TabPaneCurrentSelection extends BaseElement { private fpsClickEvent(data: FrameAnimationStruct, scrollCallback: Function): void { let queryJoinName = `${data.frameInfo?.split(':')[1]}: ${data.name?.split(':')![1]}`; - let recordNs: number = (window as any).recordStartNS; + // @ts-ignore + let recordNs: number = (window as unknown).recordStartNS; this.currentSelectionTbl?.shadowRoot?.querySelector('#fps-jump')?.addEventListener('click', () => { queryFpsSourceList(data.inputTime, data.endTime, queryJoinName).then((result) => { if (result.length > 0) { @@ -1407,7 +1474,7 @@ export class TabPaneCurrentSelection extends BaseElement { }); } - private setJankType(data: JankStruct, list: any[]): void { + private setJankType(data: JankStruct, list: unknown[]): void { if (data.jank_tag === 1) { if (data.frame_type === 'render_service') { list.push({ name: 'Jank Type', value: 'RenderService Deadline Missed' }); @@ -1423,12 +1490,13 @@ export class TabPaneCurrentSelection extends BaseElement { } } - private setJankCommonMessage(list: any[], data: JankStruct): void { + private setJankCommonMessage(list: unknown[], data: JankStruct): void { list.push({ name: 'Name', value: data.name }); list.push({ name: 'StartTime(Relative)', value: getTimeString(data.ts || 0) }); list.push({ name: 'StartTime(Absolute)', - value: ((data.ts || 0) + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + value: ((data.ts || 0) + (window as unknown).recordStartNS) / 1000000000 + 's', }); list.push({ name: 'Duration', value: data.dur ? getTimeString(data.dur) : ' ' }); if (data.frame_type !== 'frameTime') { @@ -1443,8 +1511,8 @@ export class TabPaneCurrentSelection extends BaseElement { } private addJankScrollCallBackEvent( - scrollCallback: ((d: any) => void) | undefined, - callback: ((data: Array) => void) | undefined, + scrollCallback: ((d: unknown) => void) | undefined, + callback: ((data: Array) => void) | undefined, jankJumperList: JankTreeNode[] ): void { let all = this.currentSelectionTbl?.shadowRoot?.querySelectorAll('.jank_cla'); @@ -1509,7 +1577,8 @@ export class TabPaneCurrentSelection extends BaseElement { let wakeup = await queryRunnableTimeByRunning(data.tid!, data.ts!); if (wakeup && wakeup[0]) { let wakeupTs = wakeup[0].ts as number; - let recordStartTs = (window as any).recordStartNS; + // @ts-ignore + let recordStartTs = (window as unknown).recordStartNS; let wf = await queryThreadWakeUpFrom(data.itid!, wakeupTs); if (wf && wf[0]) { wb = wf[0]; @@ -1529,7 +1598,8 @@ export class TabPaneCurrentSelection extends BaseElement { * 查询出 线程唤醒了哪些线程信息 */ async queryThreadWakeUpFromData(itid: number, startTime: number, dur: number): Promise { - let wakeUps = await queryThreadWakeUpFrom(itid, startTime + (window as any).recordStartNS); + // @ts-ignore + let wakeUps = await queryThreadWakeUpFrom(itid, startTime + (window as unknown).recordStartNS); if (wakeUps !== undefined && wakeUps.length > 0) { return wakeUps[0]; } @@ -1649,7 +1719,7 @@ export class TabPaneCurrentSelection extends BaseElement { this.currentSelectionTbl = this.shadowRoot?.querySelector('#selectionTbl'); this.wakeupListTbl = this.shadowRoot?.querySelector('#wakeupListTbl'); this.scrollView = this.shadowRoot?.querySelector('#scroll_view'); - this.currentSelectionTbl?.addEventListener('column-click', (ev: any): void => {}); + this.currentSelectionTbl?.addEventListener('column-click', (ev: unknown): void => {}); window.subscribe(window.SmartEvent.UI.WakeupList, (data: Array) => this.showWakeupListTableData(data)); } @@ -1687,9 +1757,12 @@ export class TabPaneCurrentSelection extends BaseElement { if (this.selectWakeupBean) { // 点击第一层唤醒树时向数组头部添加当前点击信息 if (data[0].schedulingLatency) { + // @ts-ignore resource.unshift(this.selectWakeupBean); } + // @ts-ignore maxDuration = Math.max(maxDuration, this.selectWakeupBean.dur); + // @ts-ignore maxPriority = Math.max(maxPriority, this.selectWakeupBean.priority); } resource.forEach((it) => { @@ -1703,7 +1776,8 @@ export class TabPaneCurrentSelection extends BaseElement { } private updateTableSettings(maxPriority: number, maxPriorityDuration: number, maxDuration: number): void { - this.wakeupListTbl!.getItemTextColor = (data: any): string => { + this.wakeupListTbl!.getItemTextColor = (data: unknown): string => { + // @ts-ignore if ((data.priority === maxPriority && data.dur === maxPriorityDuration) || data.dur === maxDuration) { return '#f44336'; } else { diff --git a/ide/src/trace/component/trace/sheet/TabPaneFilter.ts b/ide/src/trace/component/trace/sheet/TabPaneFilter.ts index 5dd158f93..811ed0fe9 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneFilter.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneFilter.ts @@ -36,8 +36,8 @@ export interface FilterData { export interface MiningData { type: string; - item: any | null | undefined; - remove?: Array | null | undefined; + item: unknown | null | undefined; + remove?: Array | null | undefined; } @element('tab-pane-filter') @@ -52,13 +52,13 @@ export class TabPaneFilter extends BaseElement { private getFilter: ((e: FilterData) => void) | undefined; private getMining: ((e: MiningData) => void) | undefined; private getLibrary: ((e: MiningData) => void) | undefined; - private getCallTree: ((e: any) => void) | undefined; - private getCallTreeConstraints: ((e: any) => void) | undefined; - private getStatisticsType: ((e: any) => void) | undefined; - private getCallTransfer: ((e: any) => void) | undefined; + private getCallTree: ((e: unknown) => void) | undefined; + private getCallTreeConstraints: ((e: unknown) => void) | undefined; + private getStatisticsType: ((e: unknown) => void) | undefined; + private getCallTransfer: ((e: unknown) => void) | undefined; - private cutList: Array | undefined; - private libraryList: Array | undefined; + private cutList: Array | undefined; + private libraryList: Array | undefined; private transferChecked: string | undefined; private isStatisticsMem: boolean = false; @@ -150,7 +150,9 @@ export class TabPaneFilter extends BaseElement { } ); this.shadowRoot!.querySelector('.library-button')!.onclick = (ev): void => { + // @ts-ignore const restoreList = this.libraryList!.filter((item) => item.highlight === true); + // @ts-ignore const list = this.libraryList!.filter((item) => item.highlight === false); this.libraryList = list; if (this.getLibrary) { @@ -208,17 +210,21 @@ export class TabPaneFilter extends BaseElement { this.getFilter(this.filterData('mark', { mark: true })); } }; - this.filterInputEL?.addEventListener('keyup', (event: any): void => { + this.filterInputEL?.addEventListener('keyup', (event: unknown): void => { + // @ts-ignore if (event.keyCode === 13 && this.getFilter) { this.getFilter( this.filterData('inputValue', { + // @ts-ignore inputValue: event.target.value, }) ); } + // @ts-ignore event.stopPropagation(); }); - this.filterInputEL?.addEventListener('keypress', (event: any): void => { + this.filterInputEL?.addEventListener('keypress', (event: unknown): void => { + // @ts-ignore event.stopPropagation(); }); } @@ -226,7 +232,9 @@ export class TabPaneFilter extends BaseElement { private miningButtonClickListener(e: HTMLDivElement, idx: number): void { e!.onclick = (ev): void => { if (idx === 0) { - const restoreList = this.cutList!.filter((item: any): boolean => item.highlight === true); + // @ts-ignore + const restoreList = this.cutList!.filter((item: unknown): boolean => item.highlight === true); + // @ts-ignore const list = this.cutList!.filter((item): boolean => item.highlight === false); this.cutList = list; if (this.getMining) { @@ -313,19 +321,20 @@ export class TabPaneFilter extends BaseElement { } } - setFilterModuleSelect(module: string, styleName: any, value: any): void { + setFilterModuleSelect(module: string, styleName: unknown, value: unknown): void { + // @ts-ignore this.shadowRoot!.querySelector(module)!.style[styleName] = value; } - getCallTreeData(getCallTree: (v: any) => void): void { + getCallTreeData(getCallTree: (v: unknown) => void): void { this.getCallTree = getCallTree; } - getCallTransferData(getCallTransfer: (v: any) => void): void { + getCallTransferData(getCallTransfer: (v: unknown) => void): void { this.getCallTransfer = getCallTransfer; } - getCallTreeConstraintsData(getCallTreeConstraints: (v: any) => void): void { + getCallTreeConstraintsData(getCallTreeConstraints: (v: unknown) => void): void { this.getCallTreeConstraints = getCallTreeConstraints; } @@ -333,16 +342,16 @@ export class TabPaneFilter extends BaseElement { this.getFilter = getFilter; } - getStatisticsTypeData(getStatisticsType: (v: any) => void): void { + getStatisticsTypeData(getStatisticsType: (v: unknown) => void): void { this.getStatisticsType = getStatisticsType; } setSelectList( - firstList: Array | null | undefined = ['All Allocations', 'Created & Existing', 'Created & Destroyed'], - secondList: Array | null | undefined = ['All Heap & Anonymous VM', 'All Heap', 'All Anonymous VM'], + firstList: Array | null | undefined = ['All Allocations', 'Created & Existing', 'Created & Destroyed'], + secondList: Array | null | undefined = ['All Heap & Anonymous VM', 'All Heap', 'All Anonymous VM'], firstTitle = 'Allocation Lifespan', secondTitle = 'Allocation Type', - thirdList: Array | null | undefined = null, + thirdList: Array | null | undefined = null, thirdTitle = 'Responsible Library' ): void { let sLE = this.shadowRoot?.querySelector('#load'); @@ -376,7 +385,7 @@ export class TabPaneFilter extends BaseElement { this.initSelectElListener(); } - private getSelectThirdListHtml(thirdTitle: string, thirdList: Array | null | undefined): string { + private getSelectThirdListHtml(thirdTitle: string, thirdList: Array | null | undefined): string { let thtml = ''; if (thirdList) { this.setAttribute('third', ''); @@ -396,7 +405,7 @@ export class TabPaneFilter extends BaseElement { private getSelectSecondListHtml( secondTitle: string, - secondList: Array | null | undefined, + secondList: Array | null | undefined, html: string ): string { if (secondList) { @@ -412,7 +421,7 @@ export class TabPaneFilter extends BaseElement { return html; } - private getSelectFirstListHtml(firstTitle: string, firstList: Array | null | undefined, html: string): string { + private getSelectFirstListHtml(firstTitle: string, firstList: Array | null | undefined, html: string): string { if (firstList) { html += ``; if (firstTitle !== '') { @@ -444,10 +453,11 @@ export class TabPaneFilter extends BaseElement { }; } - setOptionsList(list: Array): void { + setOptionsList(list: Array): void { let divEl = this.shadowRoot!.querySelector('#check-popover > div'); divEl!.innerHTML = ''; for (let text of list) { + // @ts-ignore let idName = text.replace(/\s/g, ''); idName = idName[0].toLocaleLowerCase() + idName.slice(1); divEl!.innerHTML += `
${text}
`; @@ -479,8 +489,9 @@ export class TabPaneFilter extends BaseElement { } check!.checked = !check!.checked; }; - check!.onchange = (ev: any): void => { + check!.onchange = (ev: unknown): void => { if (this.getCallTree) { + // @ts-ignore this.treeCheckClickSwitch(idx, ev.target.checked, row); } }; @@ -537,15 +548,17 @@ export class TabPaneFilter extends BaseElement { initializeTreeConstraints(): void { let inputs = this.shadowRoot!.querySelectorAll('.constraints-input'); let check = this.shadowRoot!.querySelector('#constraints-check'); - check!.onchange = (ev: any): void => { - inputs.forEach((e: any, idx: number): void => { + check!.onchange = (ev: unknown): void => { + inputs.forEach((e: unknown, idx: number): void => { if (inputs[idx].value === '') { inputs[idx].value = idx === 0 ? '0' : '∞'; } + // @ts-ignore ev.target.checked ? e.removeAttribute('disabled') : e.setAttribute('disabled', ''); }); if (this.getCallTreeConstraints) { this.getCallTreeConstraints({ + // @ts-ignore checked: ev.target.checked, min: inputs[0].value, max: inputs[1].value, @@ -557,16 +570,21 @@ export class TabPaneFilter extends BaseElement { // @ts-ignore this.value = this.value.replace(/\D/g, ''); }; - e.addEventListener('keyup', (event: any): void => { + e.addEventListener('keyup', (event: unknown): void => { + // @ts-ignore event.stopPropagation(); + // @ts-ignore if (event.keyCode === 13) { + // @ts-ignore if (event?.target.value === '') { inputs[idx].value = idx === 0 ? '0' : '∞'; } if (this.getCallTreeConstraints) { this.getCallTreeConstraints({ checked: check!.checked, + // @ts-ignore min: idx === 0 ? event?.target.value : inputs[0].value, + // @ts-ignore max: idx === 1 ? event?.target.value : inputs[1].value, }); } @@ -577,24 +595,35 @@ export class TabPaneFilter extends BaseElement { initializeMining(): void { let html = ''; - this.cutList!.forEach((a: any, b: number): void => { + this.cutList!.forEach((a: unknown, b: number): void => { + // @ts-ignore html += `
-
${a.name}
`; + +
${a.name}
`; }); this.shadowRoot!.querySelector('#mining-row')!.innerHTML = html; let row = this.shadowRoot!.querySelector('#mining-row')!.childNodes; - row!.forEach((e: any, idx: number): void => { - e!.querySelector('#title')!.onclick = (ev: any): void => { + row!.forEach((e: unknown, idx: number): void => { + // @ts-ignore + e!.querySelector('#title')!.onclick = (ev: unknown): void => { + // @ts-ignore if (e.getAttribute('highlight') === '') { + // @ts-ignore e.removeAttribute('highlight'); + // @ts-ignore this.cutList![idx].highlight = false; } else { + // @ts-ignore e.setAttribute('highlight', ''); + // @ts-ignore this.cutList![idx].highlight = true; } }; @@ -611,30 +640,40 @@ export class TabPaneFilter extends BaseElement { initializeLibrary(): void { let html = ''; - this.libraryList!.forEach((a: any, b: number): void => { + this.libraryList!.forEach((a: unknown, b: number): void => { + // @ts-ignore html += `
-
${a.name}
`; +
${a.name}
`; }); this.shadowRoot!.querySelector('#library-row')!.innerHTML = html; let row = this.shadowRoot!.querySelector('#library-row')!.childNodes; - row!.forEach((e: any, idx: number): void => { - e!.querySelector('#title')!.onclick = (ev: any): void => { + row!.forEach((e: unknown, idx: number): void => { + // @ts-ignore + e!.querySelector('#title')!.onclick = (ev: unknown): void => { + // @ts-ignore if (e.getAttribute('highlight') === '') { + // @ts-ignore e.removeAttribute('highlight'); + // @ts-ignore this.libraryList![idx].highlight = false; } else { + // @ts-ignore e.setAttribute('highlight', ''); + // @ts-ignore this.libraryList![idx].highlight = true; } }; // @ts-ignore - e!.querySelector('lit-check-box')!.onchange = (ev: any): void => { + e!.querySelector('lit-check-box')!.onchange = (ev: unknown): void => { // @ts-ignore this.libraryList[idx].checked = e!.querySelector('lit-check-box')!.checked; if (this.getLibrary) { @@ -655,12 +694,14 @@ export class TabPaneFilter extends BaseElement { this.getLibrary = getLibrary; } - addDataMining(data: any, type: string): number { - let list: Array = (type === 'symbol' ? this.cutList : this.libraryList) || []; + addDataMining(data: unknown, type: string): number { + let list: Array = (type === 'symbol' ? this.cutList : this.libraryList) || []; + // @ts-ignore let idx = list!.findIndex((e) => e.name === data.name); if (idx === -1) { list!.push({ type: type, + // @ts-ignore name: data.name, checked: true, select: '1', @@ -670,6 +711,7 @@ export class TabPaneFilter extends BaseElement { } else { list![idx] = { type: type, + // @ts-ignore name: data.name, checked: true, select: '1', @@ -688,8 +730,8 @@ export class TabPaneFilter extends BaseElement { checked: boolean; inputs: string[]; }; - dataMining: any[] | undefined; - dataLibrary: any[] | undefined; + dataMining: unknown[] | undefined; + dataLibrary: unknown[] | undefined; } { let row = this.shadowRoot!.querySelectorAll('.tree-check lit-check-box'); let inputs = this.shadowRoot!.querySelectorAll('.constraints-input'); diff --git a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts index ad0bb9796..1e11a99d6 100644 --- a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts +++ b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts @@ -82,10 +82,10 @@ export class TabPaneHiLogs extends BaseElement { this.tagFilterDiv = this.shadowRoot!.querySelector('#tagFilter'); this.hiLogsTbl = this.shadowRoot!.querySelector('#tb-hilogs'); this.progressEL = this.shadowRoot?.querySelector('.progress') as LitProgressBar; - this.hiLogsTbl!.getItemTextColor = (data): string => { + this.hiLogsTbl!.getItemTextColor = (data): string => {// @ts-ignore return ColorUtils.getHilogColor(data.level); }; - this.hiLogsTbl!.itemTextHandleMap.set('startTs', (startTs) => { + this.hiLogsTbl!.itemTextHandleMap.set('startTs', (startTs) => {// @ts-ignore return ns2Timestamp(startTs); }); this.hiLogsTbl!.addEventListener('row-hover', (e): void => { diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPerfProfile.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPerfProfile.ts index f5d30ea2f..b88cfc214 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPerfProfile.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPerfProfile.ts @@ -43,24 +43,24 @@ export class TabpanePerfProfile extends BaseElement { private perfProfileProgressEL: LitProgressBar | null | undefined; private perfProfilerRightSource: Array = []; private perfProfilerFilter: TabPaneFilter | null | undefined; - private perfProfilerDataSource: any[] = []; + private perfProfilerDataSource: unknown[] = []; private perfProfileSortKey: string = 'weight'; private perfProfileSortType: number = 0; - private perfSelectedData: any = undefined; + private perfSelectedData: unknown = undefined; private perfProfileFrameChart: FrameChart | null | undefined; private isChartShow: boolean = false; private systemRuleName: string = '/system/'; private perfProfileNumRuleName: string = '/max/min/'; private needShowMenu: boolean = true; private searchValue: string = ''; - private perfProfileLoadingPage: any; + private perfProfileLoadingPage: unknown; private currentSelection: SelectionParam | undefined; - private currentRowClickData: any; + private currentRowClickData: unknown; private initWidth: number = 0; private _pieTitle: string = ''; private _cWidth: number = 0; private _currentLevel: number = 0; - private _rowClickData: any = undefined; + private _rowClickData: unknown = undefined; private perfLevel: PerfLevelStruct | undefined | null; private headLine: LitHeadLine | null | undefined; @@ -83,18 +83,18 @@ export class TabpanePerfProfile extends BaseElement { this._currentLevel = value; } - set rowClickData(value: any) { + set rowClickData(value: unknown) { this._rowClickData = value; } - set data(perfProfilerSelection: SelectionParam | any) { + set data(perfProfilerSelection: SelectionParam | unknown) { if (perfProfilerSelection !== this.currentSelection && this._rowClickData === this.currentRowClickData) { this._rowClickData = undefined; } if (perfProfilerSelection === this.currentSelection && !this.currentSelection?.isRowClick) { return; } - this.searchValue = ''; + this.searchValue = '';// @ts-ignore this.currentSelection = perfProfilerSelection; this.currentRowClickData = this._rowClickData; this.perfProfilerTbl!.style.visibility = 'visible'; @@ -107,8 +107,8 @@ export class TabpanePerfProfile extends BaseElement { this.perfProfilerFilter!.disabledTransfer(true); this.perfProfilerFilter!.initializeFilterTree(true, true, true); this.perfProfilerFilter!.filterValue = ''; - this.perfProfileProgressEL!.loading = true; - this.perfProfileLoadingPage.style.visibility = 'visible'; + this.perfProfileProgressEL!.loading = true;// @ts-ignore + this.perfProfileLoadingPage.style.visibility = 'visible';// @ts-ignore this.getDataByWorkAndUpDateCanvas(perfProfilerSelection); } @@ -127,8 +127,8 @@ export class TabpanePerfProfile extends BaseElement { } } - initGetData(perfProfilerSelection: SelectionParam | any, initWidth: number, eventTypeId: undefined | number): void { - let perfProfileArgs: any[] = []; + initGetData(perfProfilerSelection: SelectionParam | unknown, initWidth: number, eventTypeId: undefined | number): void { + let perfProfileArgs: unknown[] = []; perfProfileArgs.push( { funcName: 'setSearchValue', @@ -140,7 +140,7 @@ export class TabpanePerfProfile extends BaseElement { } ); - this.getDataByWorker(perfProfileArgs, (results: any[]) => { + this.getDataByWorker(perfProfileArgs, (results: unknown[]) => { this.setPerfProfilerLeftTableData(results); this.perfProfilerList!.recycleDataSource = []; if (eventTypeId === undefined) { @@ -148,7 +148,7 @@ export class TabpanePerfProfile extends BaseElement { } else { this.perfProfileFrameChart!.mode = ChartMode.EventCount; } - this.perfProfileFrameChart?.updateCanvas(true, initWidth); + this.perfProfileFrameChart?.updateCanvas(true, initWidth);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; this.switchFlameChart(); this.perfProfilerFilter!.icon = 'block'; @@ -168,9 +168,9 @@ export class TabpanePerfProfile extends BaseElement { */ private getDataByPieLevel(eventTypeId: number | undefined): void { this.perfLevel = new PerfLevelStruct(); - this.perfLevel = { - processId: this._rowClickData.pid, - threadId: this._rowClickData.tid, + this.perfLevel = {// @ts-ignore + processId: this._rowClickData.pid,// @ts-ignore + threadId: this._rowClickData.tid,// @ts-ignore libId: this._rowClickData.libId, }; let args = []; @@ -178,15 +178,15 @@ export class TabpanePerfProfile extends BaseElement { funcName: 'getCurrentDataFromDb', funcArgs: [this.currentSelection, this.perfLevel], }); - - if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentLevel === 2) { +// @ts-ignore + if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentLevel === 2) {// @ts-ignore this.perfLevel!.libName = this._rowClickData.tableName; args.push({ funcName: 'showLibLevelData', funcArgs: [this.perfLevel!.libId, this.perfLevel!.libName], - }); - } else if (this._rowClickData && this._rowClickData.symbolId !== undefined && this._currentLevel === 3) { - this.perfLevel!.symbolId = this._rowClickData.symbolId; + });// @ts-ignore + } else if (this._rowClickData && this._rowClickData.symbolId !== undefined && this._currentLevel === 3) {// @ts-ignore + this.perfLevel!.symbolId = this._rowClickData.symbolId;// @ts-ignore this.perfLevel!.symbolName = this._rowClickData.tableName; args.push({ funcName: 'showFunLevelData', @@ -194,8 +194,8 @@ export class TabpanePerfProfile extends BaseElement { }); } - this.getDataByWorker(args, (results: any[]) => { - this.perfProfileProgressEL!.loading = false; + this.getDataByWorker(args, (results: unknown[]) => { + this.perfProfileProgressEL!.loading = false;// @ts-ignore this.perfProfileLoadingPage.style.visibility = 'hidden'; this.setPerfProfilerLeftTableData(results); this.perfProfilerList!.recycleDataSource = []; @@ -204,7 +204,7 @@ export class TabpanePerfProfile extends BaseElement { } else { this.perfProfileFrameChart!.mode = ChartMode.EventCount; } - this.perfProfileFrameChart?.updateCanvas(true, this.initWidth); + this.perfProfileFrameChart?.updateCanvas(true, this.initWidth);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; this.switchFlameChart(); this.perfProfilerFilter!.icon = 'block'; @@ -251,7 +251,7 @@ export class TabpanePerfProfile extends BaseElement { setRightTableData(chainMerageData: PerfCallChainMerageData): void { let parentsMerageData: Array = []; - let childrenMerageData: Array = []; + let childrenMerageData: Array = [];// @ts-ignore this.getParentTree(this.perfProfilerDataSource, chainMerageData, parentsMerageData); let maxId = chainMerageData.id; let maxDur = 0; @@ -277,7 +277,7 @@ export class TabpanePerfProfile extends BaseElement { } let len = perfProfileParentsList.length; this.perfProfilerRightSource = perfProfileParentsList; - let rightSource: Array = []; + let rightSource: Array = []; if (len !== 0) { rightSource = this.perfProfilerRightSource.filter((item): boolean => { return item.canCharge; @@ -307,7 +307,7 @@ export class TabpanePerfProfile extends BaseElement { } private initPerfProfilerDataAndListener(): void { - this.perfProfilerTbl!.addEventListener('row-click', (evt: any): void => { + this.perfProfilerTbl!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data as PerfCallChainMerageData; document.dispatchEvent( @@ -321,21 +321,21 @@ export class TabpanePerfProfile extends BaseElement { this.perfProfilerList?.clearAllSelection(data); this.perfProfilerList?.setCurrentSelection(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - this.perfProfilerList!.addEventListener('row-click', (evt: any): void => { + this.perfProfilerList!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data as PerfCallChainMerageData; - this.perfProfilerTbl?.clearAllSelection(data); - (data as any).isSelected = true; + this.perfProfilerTbl?.clearAllSelection(data);// @ts-ignore + (data as unknown).isSelected = true; this.perfProfilerTbl!.scrollToData(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); this.perfProfilerFilter!.getDataLibrary(this.filterFunc.bind(this)); @@ -349,20 +349,20 @@ export class TabpanePerfProfile extends BaseElement { // @ts-ignore this.perfProfileSortType = evt.detail.sort; // @ts-ignore - this.setPerfProfilerLeftTableData(this.perfProfilerDataSource); + this.setPerfProfilerLeftTableData(this.perfProfilerDataSource);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; }); } - private filterFuncByCheckType(data: any, perfProfileFuncArgs: any[]): void { + private filterFuncByCheckType(data: unknown, perfProfileFuncArgs: unknown[]): void {// @ts-ignore if (data.item.checked) { perfProfileFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } else { perfProfileFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); perfProfileFuncArgs.push({ @@ -370,57 +370,57 @@ export class TabpanePerfProfile extends BaseElement { funcArgs: [], }); perfProfileFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); } } - private filterFuncBySelect(data: any, perfProfileFuncArgs: any[]): void { + private filterFuncBySelect(data: unknown, perfProfileFuncArgs: unknown[]): void { perfProfileFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); perfProfileFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); perfProfileFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } - private filterFuncByButton(data: any, perfProfileFuncArgs: any[]): void { - if (data.item === 'symbol') { + private filterFuncByButton(data: unknown, perfProfileFuncArgs: unknown[]): void {// @ts-ignore + if (data.item === 'symbol') {// @ts-ignore if (this.perfSelectedData && !this.perfSelectedData.canCharge) { return; } - if (this.perfSelectedData !== undefined) { + if (this.perfSelectedData !== undefined) {// @ts-ignore this.perfProfilerFilter!.addDataMining({ name: this.perfSelectedData.symbolName }, data.item); perfProfileFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.perfSelectedData.symbolName, false, true], }); } else { return; - } - } else if (data.item === 'library') { + }// @ts-ignore + } else if (data.item === 'library') {// @ts-ignore if (this.perfSelectedData && !this.perfSelectedData.canCharge) { return; - } - if (this.perfSelectedData !== undefined && this.perfSelectedData.libName !== '') { + }// @ts-ignore + if (this.perfSelectedData !== undefined && this.perfSelectedData.libName !== '') {// @ts-ignore this.perfProfilerFilter!.addDataMining({ name: this.perfSelectedData.libName }, data.item); perfProfileFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.perfSelectedData.libName, false, false], }); } else { return; - } - } else if (data.item === 'restore') { - if (data.remove !== undefined && data.remove.length > 0) { - let list = data.remove.map((item: any) => { + }// @ts-ignore + } else if (data.item === 'restore') {// @ts-ignore + if (data.remove !== undefined && data.remove.length > 0) {// @ts-ignore + let list = data.remove.map((item: unknown) => {// @ts-ignore return item.name; }); perfProfileFuncArgs.push({ @@ -441,23 +441,23 @@ export class TabpanePerfProfile extends BaseElement { } } - private filterFunc(data: any): void { - let perfProfileFuncArgs: any[] = []; + private filterFunc(data: unknown): void { + let perfProfileFuncArgs: unknown[] = [];// @ts-ignore if (data.type === 'check') { - this.filterFuncByCheckType(data, perfProfileFuncArgs); + this.filterFuncByCheckType(data, perfProfileFuncArgs);// @ts-ignore } else if (data.type === 'select') { - this.filterFuncBySelect(data, perfProfileFuncArgs); + this.filterFuncBySelect(data, perfProfileFuncArgs);// @ts-ignore } else if (data.type === 'button') { this.filterFuncByButton(data, perfProfileFuncArgs); } - this.getDataByWorker(perfProfileFuncArgs, (result: any[]): void => { - this.setPerfProfilerLeftTableData(result); + this.getDataByWorker(perfProfileFuncArgs, (result: unknown[]): void => { + this.setPerfProfilerLeftTableData(result);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; if (this.isChartShow) { this.perfProfileFrameChart?.calculateChartData(); } this.perfProfilerTbl!.move1px(); - if (this.perfSelectedData) { + if (this.perfSelectedData) {// @ts-ignore this.perfSelectedData.isSelected = false; this.perfProfilerTbl?.clearAllSelection(this.perfSelectedData); this.perfProfilerList!.recycleDataSource = []; @@ -481,10 +481,10 @@ export class TabpanePerfProfile extends BaseElement { funcArgs: [], }, ]; - this.getDataByWorker(perfArgs, (result: any[]): void => { + this.getDataByWorker(perfArgs, (result: unknown[]): void => { this.perfProfilerTbl!.isSearch = true; this.perfProfilerTbl!.setStatus(result, true); - this.setPerfProfilerLeftTableData(result); + this.setPerfProfilerLeftTableData(result);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; this.switchFlameChart(data); }); @@ -495,8 +495,8 @@ export class TabpanePerfProfile extends BaseElement { } } - private perfProfilerFilterGetCallTreeConstraints(data: any): void { - let perfProfilerConstraintsArgs: any[] = [ + private perfProfilerFilterGetCallTreeConstraints(data: unknown): void { + let perfProfilerConstraintsArgs: unknown[] = [ { funcName: 'resotreAllNode', funcArgs: [[this.perfProfileNumRuleName]], @@ -505,10 +505,10 @@ export class TabpanePerfProfile extends BaseElement { funcName: 'clearSplitMapData', funcArgs: [this.perfProfileNumRuleName], }, - ]; + ];// @ts-ignore if (data.checked) { perfProfilerConstraintsArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(data.min), data.max], }); } @@ -516,8 +516,8 @@ export class TabpanePerfProfile extends BaseElement { funcName: 'resetAllNode', funcArgs: [], }); - this.getDataByWorker(perfProfilerConstraintsArgs, (result: any[]): void => { - this.setPerfProfilerLeftTableData(result); + this.getDataByWorker(perfProfilerConstraintsArgs, (result: unknown[]): void => { + this.setPerfProfilerLeftTableData(result);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; if (this.isChartShow) { this.perfProfileFrameChart?.calculateChartData(); @@ -525,14 +525,14 @@ export class TabpanePerfProfile extends BaseElement { }); } - private perfProfilerFilterGetCallTree(data: any): void { + private perfProfilerFilterGetCallTree(data: unknown): void {// @ts-ignore if (callTreeValueNoSample.includes(data.value)) { this.refreshAllNode({ - ...this.perfProfilerFilter!.getFilterTreeData(), + ...this.perfProfilerFilter!.getFilterTreeData(),// @ts-ignore callTree: data.checks, }); } else { - let perfProfileArgs: any[] = []; + let perfProfileArgs: unknown[] = [];// @ts-ignore if (data.checks[1]) { perfProfileArgs.push({ funcName: 'hideSystemLibrary', @@ -552,8 +552,8 @@ export class TabpanePerfProfile extends BaseElement { funcName: 'resetAllNode', funcArgs: [], }); - this.getDataByWorker(perfProfileArgs, (result: any[]): void => { - this.setPerfProfilerLeftTableData(result); + this.getDataByWorker(perfProfileArgs, (result: unknown[]): void => { + this.setPerfProfilerLeftTableData(result);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; if (this.isChartShow) { this.perfProfileFrameChart?.calculateChartData(); @@ -599,22 +599,22 @@ export class TabpanePerfProfile extends BaseElement { this.perfProfilerList?.shadowRoot.querySelector('.table').style.height = // @ts-ignore `${this.parentElement.clientHeight - 45 - 21 - headLineHeight}px`; - this.perfProfilerList?.reMeauseHeight(); + this.perfProfilerList?.reMeauseHeight();// @ts-ignore this.perfProfileLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); } - switchFlameChart(data?: any): void { + switchFlameChart(data?: unknown): void { let perfProfilerPageTab = this.shadowRoot?.querySelector('#show_table'); - let perfProfilerPageChart = this.shadowRoot?.querySelector('#show_chart'); + let perfProfilerPageChart = this.shadowRoot?.querySelector('#show_chart');// @ts-ignore if (!data || data.icon === 'block') { perfProfilerPageChart?.setAttribute('class', 'show'); perfProfilerPageTab?.setAttribute('class', ''); this.isChartShow = true; this.perfProfilerFilter!.disabledMining = true; showButtonMenu(this.perfProfilerFilter, this.needShowMenu); - this.perfProfileFrameChart?.calculateChartData(); + this.perfProfileFrameChart?.calculateChartData();// @ts-ignore } else if (data.icon === 'tree') { perfProfilerPageChart?.setAttribute('class', ''); perfProfilerPageTab?.setAttribute('class', 'show'); @@ -626,12 +626,12 @@ export class TabpanePerfProfile extends BaseElement { } } - refreshAllNode(filterData: any): void { - let perfProfileArgs: any[] = []; - let isTopDown: boolean = !filterData.callTree[0]; - let isHideSystemLibrary: boolean = filterData.callTree[1]; - let isHideThread: boolean = filterData.callTree[3]; - let isHideThreadState: boolean = filterData.callTree[4]; + refreshAllNode(filterData: unknown): void { + let perfProfileArgs: unknown[] = [];// @ts-ignore + let isTopDown: boolean = !filterData.callTree[0];// @ts-ignore + let isHideSystemLibrary: boolean = filterData.callTree[1];// @ts-ignore + let isHideThread: boolean = filterData.callTree[3];// @ts-ignore + let isHideThreadState: boolean = filterData.callTree[4];// @ts-ignore let list = filterData.dataMining.concat(filterData.dataLibrary); perfProfileArgs.push({ funcName: 'hideThread', @@ -652,10 +652,10 @@ export class TabpanePerfProfile extends BaseElement { funcName: 'hideSystemLibrary', funcArgs: [], }); - } + }// @ts-ignore if (filterData.callTreeConstraints.checked) { perfProfileArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(filterData.callTreeConstraints.inputs[0]), filterData.callTreeConstraints.inputs[1]], }); } @@ -670,20 +670,20 @@ export class TabpanePerfProfile extends BaseElement { this.refreshAllNodeExtend(perfProfileArgs); } - refreshAllNodeExtend(perfProfileArgs: any[]): void { + refreshAllNodeExtend(perfProfileArgs: unknown[]): void {// @ts-ignore if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentLevel === 2) { perfProfileArgs.push({ funcName: 'showLibLevelData', funcArgs: [this.perfLevel!.libId, this.perfLevel!.libName], - }); + });// @ts-ignore } else if (this._rowClickData && this._rowClickData.symbolId && this._currentLevel === 3) { perfProfileArgs.push({ funcName: 'showFunLevelData', funcArgs: [this.perfLevel!.symbolId, this.perfLevel!.symbolName], }); } - this.getDataByWorker(perfProfileArgs, (result: any[]): void => { - this.setPerfProfilerLeftTableData(result); + this.getDataByWorker(perfProfileArgs, (result: unknown[]): void => { + this.setPerfProfilerLeftTableData(result);// @ts-ignore this.perfProfileFrameChart!.data = this.perfProfilerDataSource; if (this.isChartShow) { this.perfProfileFrameChart?.calculateChartData(); @@ -691,43 +691,43 @@ export class TabpanePerfProfile extends BaseElement { }); } - setPerfProfilerLeftTableData(resultData: any[]): void { + setPerfProfilerLeftTableData(resultData: unknown[]): void { this.perfProfilerDataSource = this.sortTree(resultData); this.perfProfilerTbl!.recycleDataSource = this.perfProfilerDataSource; } - sortTree(arr: Array): Array { + sortTree(arr: Array): Array { let perfProfileSortArr = arr.sort((perfProfileA, perfProfileB): number => { if (this.perfProfileSortKey === 'selfDur') { - if (this.perfProfileSortType === 0) { + if (this.perfProfileSortType === 0) {// @ts-ignore return perfProfileB.dur - perfProfileA.dur; - } else if (this.perfProfileSortType === 1) { + } else if (this.perfProfileSortType === 1) {// @ts-ignore return perfProfileA.selfDur - perfProfileB.selfDur; - } else { + } else {// @ts-ignore return perfProfileB.selfDur - perfProfileA.selfDur; } } else { - if (this.perfProfileSortType === 0) { + if (this.perfProfileSortType === 0) {// @ts-ignore return perfProfileB.dur - perfProfileA.dur; - } else if (this.perfProfileSortType === 1) { + } else if (this.perfProfileSortType === 1) {// @ts-ignore return perfProfileA.dur - perfProfileB.dur; - } else { + } else {// @ts-ignore return perfProfileB.dur - perfProfileA.dur; } } }); - perfProfileSortArr.map((call: any): void => { + perfProfileSortArr.map((call: unknown): void => {// @ts-ignore call.children = this.sortTree(call.children); }); return perfProfileSortArr; } - getDataByWorker(args: any[], handler: Function): void { - this.perfProfileProgressEL!.loading = true; + getDataByWorker(args: unknown[], handler: Function): void { + this.perfProfileProgressEL!.loading = true;// @ts-ignore this.perfProfileLoadingPage.style.visibility = 'visible'; - procedurePool.submitWithName('logic0', 'perf-action', args, undefined, (results: any): void => { + procedurePool.submitWithName('logic0', 'perf-action', args, undefined, (results: unknown): void => { handler(results); - this.perfProfileProgressEL!.loading = false; + this.perfProfileProgressEL!.loading = false;// @ts-ignore this.perfProfileLoadingPage.style.visibility = 'hidden'; }); } diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPerfSampleList.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPerfSampleList.ts index 1322a8226..81ca74ed1 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPerfSampleList.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPerfSampleList.ts @@ -108,7 +108,7 @@ export class TabPanePerfSample extends BaseElement { for (let stack of result) { if (typeof stack.symbol === 'number') { stack.symbol = SpSystemTrace.DATA_DICT.get(stack.symbol) || ''; - } + }// @ts-ignore let files = (perfDataQuery.filesData[stack.fileId] ?? []) as Array; stack.path = files[stack.symbolId]?.path || ''; stack.type = stack.path.endsWith('.so.1') || stack.path.endsWith('.dll') || stack.path.endsWith('.so') ? 0 : 1; diff --git a/ide/src/trace/component/trace/sheet/hisysevent/TabPaneHisysEvents.ts b/ide/src/trace/component/trace/sheet/hisysevent/TabPaneHisysEvents.ts index 2a42b11d5..606c17b64 100644 --- a/ide/src/trace/component/trace/sheet/hisysevent/TabPaneHisysEvents.ts +++ b/ide/src/trace/component/trace/sheet/hisysevent/TabPaneHisysEvents.ts @@ -94,6 +94,7 @@ export class TabPaneHisysEvents extends BaseElement { this.boxDetails = this.shadowRoot?.querySelector('.box-details'); this.hiSysEventTable = this.shadowRoot?.querySelector('#tb-hisysevent'); this.hiSysEventTable!.getItemTextColor = (data): string => { + // @ts-ignore return ColorUtils.getHisysEventColor(data.level); }; this.domainTagDiv = this.shadowRoot?.querySelector('#domainTagFilter'); diff --git a/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts b/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts index d3eb7a02e..2081cfdb2 100644 --- a/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts +++ b/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts @@ -27,17 +27,18 @@ export class TabPaneIrqCounter extends BaseElement { private sortColumn: string = 'wallDurationFormat'; private sortType: number = 2; - set data(irqParam: SelectionParam | any) { + set data(irqParam: SelectionParam | unknown) { if (this.irqCounterTbl) { //@ts-ignore this.irqCounterTbl.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 45}px`; } this.irqRange!.textContent = `Selected range: ${parseFloat( + // @ts-ignore ((irqParam.rightNs - irqParam.leftNs) / 1000000.0).toFixed(5) )} ms`; let dataSource: Array = []; - Promise.all([ - queryIrqDataBoxSelect(irqParam.irqCallIds, irqParam.leftNs, irqParam.rightNs), + Promise.all([// @ts-ignore + queryIrqDataBoxSelect(irqParam.irqCallIds, irqParam.leftNs, irqParam.rightNs),// @ts-ignore querySoftIrqDataBoxSelect(irqParam.softIrqCallIds, irqParam.leftNs, irqParam.rightNs), ]).then((resArr) => { resArr.forEach((res) => { diff --git a/ide/src/trace/component/trace/sheet/jank/TabPaneFrames.ts b/ide/src/trace/component/trace/sheet/jank/TabPaneFrames.ts index c75737873..dbdc0c9c0 100644 --- a/ide/src/trace/component/trace/sheet/jank/TabPaneFrames.ts +++ b/ide/src/trace/component/trace/sheet/jank/TabPaneFrames.ts @@ -25,23 +25,23 @@ import { querySelectRangeData } from '../../../../database/sql/Janks.sql'; export class TabPaneFrames extends BaseElement { private framesTbl: LitTable | null | undefined; private range: HTMLLabelElement | null | undefined; - private framesSource: Array = []; - set data(framesParam: SelectionParam | any) { - this.range!.textContent = + private framesSource: Array = []; + set data(framesParam: SelectionParam | unknown) { + this.range!.textContent =// @ts-ignore 'Selected range: ' + parseFloat(((framesParam.rightNs - framesParam.leftNs) / 1000000.0).toFixed(5)) + ' ms'; this.queryDataByDB(framesParam); } - queryDataByDB(framesParam: SelectionParam | any): void { + queryDataByDB(framesParam: SelectionParam | unknown): void { let tablelist = new Array(); let sumRes: JankFramesStruct = new JankFramesStruct(); let appJank: JankFramesStruct = new JankFramesStruct(); let rsJank: JankFramesStruct = new JankFramesStruct(); - let noJank: JankFramesStruct = new JankFramesStruct(); + let noJank: JankFramesStruct = new JankFramesStruct();// @ts-ignore if (framesParam.jankFramesData.length > 0) { let allPid: Array = []; - let allData: Array = []; - framesParam.jankFramesData.forEach((data: any) => { + let allData: Array = [];// @ts-ignore + framesParam.jankFramesData.forEach((data: unknown) => { if (typeof data === 'string') { if (Number(data) && allPid.indexOf(Number(data)) < 0) { allPid.push(Number(data)); @@ -49,13 +49,14 @@ export class TabPaneFrames extends BaseElement { } else { allData.push(data); } - }); - querySelectRangeData(allPid, framesParam.leftNs, framesParam.rightNs).then((result: any) => { + });// @ts-ignore + querySelectRangeData(allPid, framesParam.leftNs, framesParam.rightNs).then((result: unknown) => {// @ts-ignore sumRes.occurrences = allData.length + result.length; allData.forEach((item) => { // frameTime + // @ts-ignore this.frameTimelineJankDataHandle(item, appJank, noJank); - }); + });// @ts-ignore result.forEach((structValue: JanksStruct) => { if (structValue.frame_type === 'app') { this.appJankDataHandle(structValue, appJank, noJank); @@ -245,7 +246,7 @@ export class TabPaneFrames extends BaseElement { `; } - sortByColumn(framesDetail: any): void { + sortByColumn(framesDetail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (framesLeftData: SelectionData, framesRightData: SelectionData) { @@ -274,9 +275,10 @@ export class TabPaneFrames extends BaseElement { }; } - if (framesDetail.key === 'jankType') { + // @ts-ignore + if (framesDetail.key === 'jankType') {// @ts-ignore this.framesSource.sort(compare(framesDetail.key, framesDetail.sort, 'string')); - } else { + } else {// @ts-ignore this.framesSource.sort(compare(framesDetail.key, framesDetail.sort, 'number')); } this.framesTbl!.recycleDataSource = this.framesSource; diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts index d00c21f65..2161ed8af 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts @@ -40,11 +40,11 @@ export class TabpaneNMCalltree extends BaseElement { private filesystemTbr: LitTable | null | undefined; private nmCallTreeProgressEL: LitProgressBar | null | undefined; private nmCallTreeFilter: TabPaneFilter | null | undefined; - private nmCallTreeSource: any[] = []; + private nmCallTreeSource: unknown[] = []; private nativeType: Array = ['All Heap & Anonymous VM', 'All Heap', 'All Anonymous VM']; private sortKey: string = 'heapSizeStr'; private sortType: number = 0; - private currentSelectedData: any = undefined; + private currentSelectedData: unknown = undefined; private nmCallTreeFrameChart: FrameChart | null | undefined; private isChartShow: boolean = false; private systmeRuleName: string = '/system/'; @@ -52,13 +52,13 @@ export class TabpaneNMCalltree extends BaseElement { private needShowMenu: boolean = true; private searchValue: string = ''; private loadingList: number[] = []; - private nmCallTreeLoadingPage: any; + private nmCallTreeLoadingPage: unknown; private currentSelection: SelectionParam | undefined; private filterAllocationType: string = '0'; private filterNativeType: string = '0'; private filterResponseType: number = -1; private filterResponseSelect: string = '0'; - private responseTypes: any[] = []; + private responseTypes: unknown[] = []; private subTypeArr: number[] = []; private lastIsExpression = false; private currentNMCallTreeFilter: TabPaneFilter | undefined | null; @@ -113,14 +113,14 @@ export class TabpaneNMCalltree extends BaseElement { rightNs: nmCallTreeParam.rightNs, types, }, - (results: any[]): void => { + (results: unknown[]): void => { this.setLTableData(results); this.filesystemTbr!.recycleDataSource = []; this.nmCallTreeFrameChart?.updateCanvas(true, initWidth); if (this._initFromAnalysis) { this.filterByAnalysis(); - } else { + } else {// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; this.switchFlameChart(); this.nmCallTreeFilter!.icon = 'block'; @@ -144,7 +144,7 @@ export class TabpaneNMCalltree extends BaseElement { this.nmCallTreeFilter!.initializeFilterTree(true, true, this.currentSelection!.nativeMemory.length > 0); this.nmCallTreeFilter!.filterValue = ''; - this.nmCallTreeProgressEL!.loading = true; + this.nmCallTreeProgressEL!.loading = true;// @ts-ignore this.nmCallTreeLoadingPage.style.visibility = 'visible'; } @@ -178,7 +178,7 @@ export class TabpaneNMCalltree extends BaseElement { } } - setFilterType(selections: Array, data: FilterByAnalysis): void { + setFilterType(selections: Array, data: FilterByAnalysis): void { if (data.type === 'AllocEvent') { data.type = '1'; } @@ -207,9 +207,9 @@ export class TabpaneNMCalltree extends BaseElement { } filterByAnalysis(): void { - let filterContent: any[] = []; - let param = new Map(); - let selections: Array = []; + let filterContent: unknown[] = []; + let param = new Map(); + let selections: Array = []; this.setFilterType(selections, this._filterData!); param.set('filterByTitleArr', this._filterData); param.set('filterAllocType', '0'); @@ -226,8 +226,8 @@ export class TabpaneNMCalltree extends BaseElement { funcArgs: [true], } ); - this.getDataByWorker(filterContent, (result: any[]) => { - this.setLTableData(result); + this.getDataByWorker(filterContent, (result: unknown[]) => { + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; this.switchFlameChart(); this.nmCallTreeFilter!.icon = 'block'; @@ -284,19 +284,19 @@ export class TabpaneNMCalltree extends BaseElement { setRightTableData(fileMerageBean: FileMerageBean): void { let parents: Array = []; - let children: Array = []; + let children: Array = [];// @ts-ignore this.getParentTree(this.nmCallTreeSource, fileMerageBean, parents); let maxId = fileMerageBean.id; let maxDur = 0; - function findMaxStack(merageBean: any): void { - if (merageBean.children.length === 0) { - if (merageBean.heapSize > maxDur) { - maxDur = merageBean.heapSize; + function findMaxStack(merageBean: unknown): void {// @ts-ignore + if (merageBean.children.length === 0) {// @ts-ignore + if (merageBean.heapSize > maxDur) {// @ts-ignore + maxDur = merageBean.heapSize;// @ts-ignore maxId = merageBean.id; } - } else { - merageBean.children.map((callChild: any): void => { + } else {// @ts-ignore + merageBean.children.map((callChild: unknown): void => { findMaxStack(callChild); }); } @@ -335,11 +335,11 @@ export class TabpaneNMCalltree extends BaseElement { this.currentNMCallTreeFilter = this.shadowRoot?.querySelector('#nm-call-tree-filter'); let secondFilterList = ['All Heap & Anonymous VM', 'All Heap', 'All Anonymous VM']; let that = this; - function addSubType(subTypeList: any): void { + function addSubType(subTypeList: unknown): void { if (!subTypeList) { return; } - that.subTypeArr = []; + that.subTypeArr = [];// @ts-ignore for (let data of subTypeList) { secondFilterList.push(data.subType); that.subTypeArr.push(data.subTypeId); @@ -364,9 +364,9 @@ export class TabpaneNMCalltree extends BaseElement { } private nMCallTreeFilterExtend(secondFilterList: string[]): void { - procedurePool.submitWithName('logic0', 'native-memory-get-responseType', {}, undefined, (res: any) => { + procedurePool.submitWithName('logic0', 'native-memory-get-responseType', {}, undefined, (res: unknown) => {// @ts-ignore this.responseTypes = res; - let nullIndex = this.responseTypes.findIndex((item) => { + let nullIndex = this.responseTypes.findIndex((item) => {// @ts-ignore return item.key === 0; }); if (nullIndex !== -1) { @@ -377,7 +377,7 @@ export class TabpaneNMCalltree extends BaseElement { secondFilterList, 'Allocation Lifespan', 'Allocation Type', - this.responseTypes.map((item: any) => { + this.responseTypes.map((item: unknown) => {// @ts-ignore return item.value; }) ); @@ -412,23 +412,23 @@ export class TabpaneNMCalltree extends BaseElement { }); this.nmCallTreeFilter = this.shadowRoot?.querySelector('#nm-call-tree-filter'); this.filesystemTbr = this.shadowRoot?.querySelector('#tb-filesystem-list'); - let filterFunc = (nmCallTreeFuncData: any): void => { - let nmCallTreeFuncArgs: any[] = []; + let filterFunc = (nmCallTreeFuncData: unknown): void => { + let nmCallTreeFuncArgs: unknown[] = [];// @ts-ignore if (nmCallTreeFuncData.type === 'check') { - nmCallTreeFuncArgs = this.filterFuncByCheckType(nmCallTreeFuncData, nmCallTreeFuncArgs); + nmCallTreeFuncArgs = this.filterFuncByCheckType(nmCallTreeFuncData, nmCallTreeFuncArgs);// @ts-ignore } else if (nmCallTreeFuncData.type === 'select') { - nmCallTreeFuncArgs = this.filterFuncBySelectType(nmCallTreeFuncData, nmCallTreeFuncArgs); + nmCallTreeFuncArgs = this.filterFuncBySelectType(nmCallTreeFuncData, nmCallTreeFuncArgs);// @ts-ignore } else if (nmCallTreeFuncData.type === 'button') { nmCallTreeFuncArgs = this.filterFuncByButtonType(nmCallTreeFuncData, nmCallTreeFuncArgs); } - this.getDataByWorker(nmCallTreeFuncArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(nmCallTreeFuncArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; if (this.isChartShow) { this.nmCallTreeFrameChart?.calculateChartData(); } this.nmCallTreeTbl!.move1px(); - if (this.currentSelectedData) { + if (this.currentSelectedData) {// @ts-ignore this.currentSelectedData.isSelected = false; this.nmCallTreeTbl?.clearAllSelection(this.currentSelectedData); this.filesystemTbr!.recycleDataSource = []; @@ -455,8 +455,8 @@ export class TabpaneNMCalltree extends BaseElement { } } - private getCallTreeConByNMCallTreeFilter(nmCallTreeConstraintsData: any): void { - let nmCallTreeConstraintsArgs: any[] = [ + private getCallTreeConByNMCallTreeFilter(nmCallTreeConstraintsData: unknown): void { + let nmCallTreeConstraintsArgs: unknown[] = [ { funcName: 'resotreAllNode', funcArgs: [[this.numRuleName]], @@ -465,10 +465,11 @@ export class TabpaneNMCalltree extends BaseElement { funcName: 'clearSplitMapData', funcArgs: [this.numRuleName], }, - ]; + ];// @ts-ignore if (nmCallTreeConstraintsData.checked) { nmCallTreeConstraintsArgs.push({ funcName: 'hideNumMaxAndMin', + // @ts-ignore funcArgs: [parseInt(nmCallTreeConstraintsData.min), nmCallTreeConstraintsData.max], }); } @@ -476,8 +477,8 @@ export class TabpaneNMCalltree extends BaseElement { funcName: 'resetAllNode', funcArgs: [], }); - this.getDataByWorker(nmCallTreeConstraintsArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(nmCallTreeConstraintsArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; if (this.isChartShow) { this.nmCallTreeFrameChart?.calculateChartData(); @@ -485,14 +486,16 @@ export class TabpaneNMCalltree extends BaseElement { }); } - private getCallTreeByNMCallTreeFilter(callTreeData: any): void { + private getCallTreeByNMCallTreeFilter(callTreeData: unknown): void {// @ts-ignore if ([InvertOpyionIndex, HideSystemSoOptionIndex, HideThreadOptionIndex].includes(callTreeData.value)) { this.refreshAllNode({ ...this.nmCallTreeFilter!.getFilterTreeData(), + // @ts-ignore callTree: callTreeData.checks, }); } else { - let resultArgs: any[] = []; + let resultArgs: unknown[] = []; + // @ts-ignore if (callTreeData.checks[1]) { resultArgs.push({ funcName: 'hideSystemLibrary', @@ -516,8 +519,8 @@ export class TabpaneNMCalltree extends BaseElement { funcArgs: [this.systmeRuleName], }); } - this.getDataByWorker(resultArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(resultArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; if (this.isChartShow) { this.nmCallTreeFrameChart?.calculateChartData(); @@ -526,36 +529,38 @@ export class TabpaneNMCalltree extends BaseElement { } } - private filterFuncByButtonType(nmCallTreeFuncData: any, nmCallTreeFuncArgs: any[]): any[] { - if (nmCallTreeFuncData.item === 'symbol') { + private filterFuncByButtonType(nmCallTreeFuncData: unknown, nmCallTreeFuncArgs: unknown[]): unknown[] {// @ts-ignore + if (nmCallTreeFuncData.item === 'symbol') {// @ts-ignore if (this.currentSelectedData && !this.currentSelectedData.canCharge) { return nmCallTreeFuncArgs; } - if (this.currentSelectedData !== undefined) { + if (this.currentSelectedData !== undefined) {// @ts-ignore this.nmCallTreeFilter!.addDataMining({ name: this.currentSelectedData.symbol }, nmCallTreeFuncData.item); nmCallTreeFuncArgs.push({ funcName: 'splitTree', + // @ts-ignore funcArgs: [this.currentSelectedData.symbol, false, true], }); } else { return nmCallTreeFuncArgs; - } - } else if (nmCallTreeFuncData.item === 'library') { + }// @ts-ignore + } else if (nmCallTreeFuncData.item === 'library') {// @ts-ignore if (this.currentSelectedData && !this.currentSelectedData.canCharge) { return nmCallTreeFuncArgs; - } - if (this.currentSelectedData !== undefined && this.currentSelectedData.libName !== '') { + }// @ts-ignore + if (this.currentSelectedData !== undefined && this.currentSelectedData.libName !== '') {// @ts-ignore this.nmCallTreeFilter!.addDataMining({ name: this.currentSelectedData.libName }, nmCallTreeFuncData.item); nmCallTreeFuncArgs.push({ funcName: 'splitTree', + // @ts-ignore funcArgs: [this.currentSelectedData.libName, false, false], }); } else { return nmCallTreeFuncArgs; - } - } else if (nmCallTreeFuncData.item === 'restore') { - if (nmCallTreeFuncData.remove !== undefined && nmCallTreeFuncData.remove.length > 0) { - let list = nmCallTreeFuncData.remove.map((item: any): any => { + }// @ts-ignore + } else if (nmCallTreeFuncData.item === 'restore') {// @ts-ignore + if (nmCallTreeFuncData.remove !== undefined && nmCallTreeFuncData.remove.length > 0) {// @ts-ignore + let list = nmCallTreeFuncData.remove.map((item: unknown): unknown => {// @ts-ignore return item.name; }); nmCallTreeFuncArgs.push({ funcName: 'resotreAllNode', funcArgs: [list] }); @@ -568,39 +573,41 @@ export class TabpaneNMCalltree extends BaseElement { return nmCallTreeFuncArgs; } - private filterFuncBySelectType(nmCallTreeFuncData: any, nmCallTreeFuncArgs: any[]): any[] { + private filterFuncBySelectType(nmCallTreeFuncData: unknown, nmCallTreeFuncArgs: unknown[]): unknown[] { nmCallTreeFuncArgs.push({ funcName: 'resotreAllNode', + // @ts-ignore funcArgs: [[nmCallTreeFuncData.item.name]], }); nmCallTreeFuncArgs.push({ funcName: 'clearSplitMapData', + // @ts-ignore funcArgs: [nmCallTreeFuncData.item.name], }); nmCallTreeFuncArgs.push({ funcName: 'splitTree', - funcArgs: [ - nmCallTreeFuncData.item.name, - nmCallTreeFuncData.item.select === '0', + funcArgs: [// @ts-ignore + nmCallTreeFuncData.item.name,// @ts-ignore + nmCallTreeFuncData.item.select === '0',// @ts-ignore nmCallTreeFuncData.item.type === 'symbol', ], }); return nmCallTreeFuncArgs; } - private filterFuncByCheckType(nmCallTreeFuncData: any, nmCallTreeFuncArgs: any[]): any[] { + private filterFuncByCheckType(nmCallTreeFuncData: unknown, nmCallTreeFuncArgs: unknown[]): unknown[] {// @ts-ignore if (nmCallTreeFuncData.item.checked) { nmCallTreeFuncArgs.push({ funcName: 'splitTree', - funcArgs: [ - nmCallTreeFuncData.item.name, - nmCallTreeFuncData.item.select === '0', + funcArgs: [// @ts-ignore + nmCallTreeFuncData.item.name,// @ts-ignore + nmCallTreeFuncData.item.select === '0',// @ts-ignore nmCallTreeFuncData.item.type === 'symbol', ], }); } else { nmCallTreeFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[nmCallTreeFuncData.item.name]], }); nmCallTreeFuncArgs.push({ @@ -608,7 +615,7 @@ export class TabpaneNMCalltree extends BaseElement { funcArgs: [], }); nmCallTreeFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [nmCallTreeFuncData.item.name], }); } @@ -625,7 +632,7 @@ export class TabpaneNMCalltree extends BaseElement { this.filterNativeType = nmCallTreeData.secondSelect || '0'; this.filterResponseSelect = nmCallTreeData.thirdSelect || '0'; let thirdIndex = parseInt(nmCallTreeData.thirdSelect || '0'); - if (this.responseTypes.length > thirdIndex) { + if (this.responseTypes.length > thirdIndex) {// @ts-ignore this.filterResponseType = this.responseTypes[thirdIndex].key || -1; } this.searchValue = this.nmCallTreeFilter!.filterValue; @@ -649,10 +656,10 @@ export class TabpaneNMCalltree extends BaseElement { nmArgs.push({ funcName: 'resetAllNode', funcArgs: [] }); this.lastIsExpression = false; } - this.getDataByWorker(nmArgs, (result: any[]): void => { + this.getDataByWorker(nmArgs, (result: unknown[]): void => { this.nmCallTreeTbl!.isSearch = true; this.nmCallTreeTbl!.setStatus(result, true); - this.setLTableData(result); + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; this.switchFlameChart(nmCallTreeData); }); @@ -721,7 +728,7 @@ export class TabpaneNMCalltree extends BaseElement { this.parentElement!.clientHeight - 45 - 21 - headLineHeight }px`; } - this.filesystemTbr?.reMeauseHeight(); + this.filesystemTbr?.reMeauseHeight();// @ts-ignore this.nmCallTreeLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); @@ -737,24 +744,24 @@ export class TabpaneNMCalltree extends BaseElement { this.nmCallTreeTbl!.removeEventListener('column-click', this.nmCallTreeTblColumnClickHandler); } - filesystemTbrRowClickHandler = (event: any): void => { + filesystemTbrRowClickHandler = (event: unknown): void => {// @ts-ignore let data = event.detail.data as FileMerageBean; - this.nmCallTreeTbl?.clearAllSelection(data); - (data as any).isSelected = true; - this.nmCallTreeTbl!.scrollToData(data); - if ((event.detail as any).callBack) { - (event.detail as any).callBack(true); + this.nmCallTreeTbl?.clearAllSelection(data);// @ts-ignore + (data as unknown).isSelected = true; + this.nmCallTreeTbl!.scrollToData(data);// @ts-ignore + if ((event.detail as unknown).callBack) {// @ts-ignore + (event.detail as unknown).callBack(true); } }; - nmCallTreeTblColumnClickHandler = (event: any): void => { - this.sortKey = event.detail.key; + nmCallTreeTblColumnClickHandler = (event: unknown): void => {// @ts-ignore + this.sortKey = event.detail.key;// @ts-ignore this.sortType = event.detail.sort; - this.setLTableData(this.nmCallTreeSource, true); + this.setLTableData(this.nmCallTreeSource, true);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; }; - nmCallTreeTblRowClickHandler = (event: any): void => { + nmCallTreeTblRowClickHandler = (event: unknown): void => { // @ts-ignore let nmCallTreeData = event.detail.data as FileMerageBean; this.setRightTableData(nmCallTreeData); @@ -763,27 +770,27 @@ export class TabpaneNMCalltree extends BaseElement { this.filesystemTbr?.clearAllSelection(nmCallTreeData); this.filesystemTbr?.setCurrentSelection(nmCallTreeData); // @ts-ignore - if ((event.detail as any).callBack) { + if ((event.detail as unknown).callBack) { // @ts-ignore - (event.detail as any).callBack(true); + (event.detail as unknown).callBack(true); } document.dispatchEvent( - new CustomEvent('number_calibration', { + new CustomEvent('number_calibration', {// @ts-ignore detail: { time: event.detail.tsArray, counts: event.detail.countArray }, }) ); }; - private switchFlameChart(flameChartData?: any): void { + private switchFlameChart(flameChartData?: unknown): void { let nmCallTreePageTab = this.shadowRoot?.querySelector('#show_table'); - let nmCallTreePageChart = this.shadowRoot?.querySelector('#show_chart'); + let nmCallTreePageChart = this.shadowRoot?.querySelector('#show_chart');// @ts-ignore if (!flameChartData || flameChartData.icon === 'block') { nmCallTreePageChart?.setAttribute('class', 'show'); nmCallTreePageTab?.setAttribute('class', ''); this.isChartShow = true; this.nmCallTreeFilter!.disabledMining = true; this.showBottomMenu(this.needShowMenu); - this.nmCallTreeFrameChart?.calculateChartData(); + this.nmCallTreeFrameChart?.calculateChartData();// @ts-ignore } else if (flameChartData.icon === 'tree') { nmCallTreePageChart?.setAttribute('class', ''); nmCallTreePageTab?.setAttribute('class', 'show'); @@ -795,11 +802,11 @@ export class TabpaneNMCalltree extends BaseElement { } } - private refreshAllNode(filterData: any, isAnalysisReset?: boolean): void { - let nmCallTreeArgs: any[] = []; - let isTopDown: boolean = !filterData.callTree[0]; - let isHideSystemLibrary = filterData.callTree[1]; - this.isHideThread = filterData.callTree[3]; + private refreshAllNode(filterData: unknown, isAnalysisReset?: boolean): void { + let nmCallTreeArgs: unknown[] = [];// @ts-ignore + let isTopDown: boolean = !filterData.callTree[0];// @ts-ignore + let isHideSystemLibrary = filterData.callTree[1];// @ts-ignore + this.isHideThread = filterData.callTree[3];// @ts-ignore let list = filterData.dataMining.concat(filterData.dataLibrary); let groupArgs = this.setGroupArgsByRefreshAllNode(); if ((this.lastIsExpression && !this.expressionStruct) || isAnalysisReset) { @@ -822,17 +829,17 @@ export class TabpaneNMCalltree extends BaseElement { funcName: 'hideSystemLibrary', funcArgs: [], }); - } + }// @ts-ignore if (filterData.callTreeConstraints.checked) { nmCallTreeArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(filterData.callTreeConstraints.inputs[0]), filterData.callTreeConstraints.inputs[1]], }); } nmCallTreeArgs.push({ funcName: 'splitAllProcess', funcArgs: [list] }); nmCallTreeArgs.push({ funcName: 'resetAllNode', funcArgs: [] }); - this.getDataByWorker(nmCallTreeArgs, (result: any[]) => { - this.setLTableData(result); + this.getDataByWorker(nmCallTreeArgs, (result: unknown[]) => { + this.setLTableData(result);// @ts-ignore this.nmCallTreeFrameChart!.data = this.nmCallTreeSource; if (this.isChartShow) { this.nmCallTreeFrameChart?.calculateChartData(); @@ -840,8 +847,8 @@ export class TabpaneNMCalltree extends BaseElement { }); } - private setGroupArgsByRefreshAllNode(): Map { - let groupArgs = new Map(); + private setGroupArgsByRefreshAllNode(): Map { + let groupArgs = new Map(); groupArgs.set('filterAllocType', this.filterAllocationType); groupArgs.set('filterEventType', this.filterNativeType); if (this.expressionStruct) { @@ -853,7 +860,7 @@ export class TabpaneNMCalltree extends BaseElement { } groupArgs.set('leftNs', this.currentSelection?.leftNs || 0); groupArgs.set('rightNs', this.currentSelection?.rightNs || 0); - let selections: Array = []; + let selections: Array = []; if (this.subTypeArr.length > 0) { this.subTypeArr.map((memory): void => { selections.push({ @@ -872,14 +879,14 @@ export class TabpaneNMCalltree extends BaseElement { return groupArgs; } - setLTableData(resultData: any[], sort?: boolean): void { + setLTableData(resultData: unknown[], sort?: boolean): void { if (sort) { this.nmCallTreeSource = this.sortTree(resultData); } else { if (resultData && resultData[0]) { this.nmCallTreeSource = this.currentSelection!.nativeMemory.length > 0 && !this.isHideThread - ? this.sortTree(resultData) + ? this.sortTree(resultData)// @ts-ignore : this.sortTree(resultData[0].children || []); } else { this.nmCallTreeSource = []; @@ -888,55 +895,55 @@ export class TabpaneNMCalltree extends BaseElement { this.nmCallTreeTbl!.recycleDataSource = this.nmCallTreeSource; } - sortTree(arr: Array): Array { + sortTree(arr: Array): Array { let nmCallTreeSortArr = arr.sort((callTreeLeftData, callTreeRightData): number => { if (this.sortKey === 'heapSizeStr' || this.sortKey === 'heapPercent') { - if (this.sortType === 0) { + if (this.sortType === 0) {// @ts-ignore return callTreeRightData.size - callTreeLeftData.size; - } else if (this.sortType === 1) { + } else if (this.sortType === 1) {// @ts-ignore return callTreeLeftData.size - callTreeRightData.size; - } else { + } else {// @ts-ignore return callTreeRightData.size - callTreeLeftData.size; } } else { - if (this.sortType === 0) { + if (this.sortType === 0) {// @ts-ignore return callTreeRightData.count - callTreeLeftData.count; - } else if (this.sortType === 1) { + } else if (this.sortType === 1) {// @ts-ignore return callTreeLeftData.count - callTreeRightData.count; - } else { + } else {// @ts-ignore return callTreeRightData.count - callTreeLeftData.count; } } }); - nmCallTreeSortArr.map((call): void => { + nmCallTreeSortArr.map((call): void => {// @ts-ignore call.children = this.sortTree(call.children); }); return nmCallTreeSortArr; } - getDataByWorker(args: any[], handler: Function): void { + getDataByWorker(args: unknown[], handler: Function): void { this.loadingList.push(1); - this.nmCallTreeProgressEL!.loading = true; + this.nmCallTreeProgressEL!.loading = true;// @ts-ignore this.nmCallTreeLoadingPage.style.visibility = 'visible'; procedurePool.submitWithName( 'logic0', 'native-memory-calltree-action', args, undefined, - (callTreeActionResults: any): void => { + (callTreeActionResults: unknown): void => { handler(callTreeActionResults); this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { - this.nmCallTreeProgressEL!.loading = false; + this.nmCallTreeProgressEL!.loading = false;// @ts-ignore this.nmCallTreeLoadingPage.style.visibility = 'hidden'; } } ); } - getDataByWorkerQuery(args: any, handler: Function): void { + getDataByWorkerQuery(args: unknown, handler: Function): void { this.loadingList.push(1); - this.nmCallTreeProgressEL!.loading = true; + this.nmCallTreeProgressEL!.loading = true;// @ts-ignore this.nmCallTreeLoadingPage.style.visibility = 'visible'; procedurePool.submitWithName( 'logic0', @@ -945,11 +952,11 @@ export class TabpaneNMCalltree extends BaseElement { : 'native-memory-queryStatisticCallchainsSamples', args, undefined, - (callChainsResults: any): void => { + (callChainsResults: unknown): void => { handler(callChainsResults); this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { - this.nmCallTreeProgressEL!.loading = false; + this.nmCallTreeProgressEL!.loading = false;// @ts-ignore this.nmCallTreeLoadingPage.style.visibility = 'hidden'; } } diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts index a9ae04499..36bc09564 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts @@ -36,7 +36,7 @@ import { queryAllHookData, queryNativeHookSnapshotTypes } from '../../../../data export class TabPaneNMSampleList extends BaseElement { static tblData: LitTable | null | undefined; static sampleTbl: LitTable | null | undefined; - static filter: any; + static filter: unknown; static filterSelect: string = '0'; static samplerInfoSource: Array = []; static types: Array = []; @@ -44,14 +44,14 @@ export class TabPaneNMSampleList extends BaseElement { static tableMarkData: Array = []; static selectionParam: SelectionParam | undefined = undefined; static sampleTypes: Array = []; - static sampleTypesList: any[] = []; + static sampleTypesList: unknown[] = []; private currentSelection: SelectionParam | undefined; - set data(sampleParam: SelectionParam | any) { + set data(sampleParam: SelectionParam | unknown) { if (sampleParam === this.currentSelection) { return; - } - this.currentSelection = sampleParam; + }// @ts-ignore + this.currentSelection = sampleParam;// @ts-ignore TabPaneNMSampleList.serSelection(sampleParam); this.filterAllList(); } @@ -83,20 +83,20 @@ export class TabPaneNMSampleList extends BaseElement { }); } - static addSampleData(data: any, ipid: number): void { + static addSampleData(data: unknown, ipid: number): void {// @ts-ignore if (TabPaneNMSampleList.tableMarkData.indexOf(data) !== -1) { return; - } + }// @ts-ignore TabPaneNMSampleList.tableMarkData.push(data); let rootSample = new NativeHookSamplerInfo(); - rootSample.snapshot = `Snapshot${this.numberToWord(this.samplerInfoSource.length + 1)}`; + rootSample.snapshot = `Snapshot${this.numberToWord(this.samplerInfoSource.length + 1)}`;// @ts-ignore rootSample.startTs = data.startTs; rootSample.timestamp = - SpNativeMemoryChart.REAL_TIME_DIF === 0 - ? getTimeString(data.startTs) - : formatRealDateMs(data.startTs + SpNativeMemoryChart.REAL_TIME_DIF); - rootSample.eventId = data.eventId; - rootSample.threadId = data.threadId; + SpNativeMemoryChart.REAL_TIME_DIF === 0// @ts-ignore + ? getTimeString(data.startTs)// @ts-ignore + : formatRealDateMs(data.startTs + SpNativeMemoryChart.REAL_TIME_DIF);// @ts-ignore + rootSample.eventId = data.eventId;// @ts-ignore + rootSample.threadId = data.threadId;// @ts-ignore rootSample.threadName = data.threadName; this.queryAllHookInfo(data, rootSample, ipid); } @@ -124,25 +124,25 @@ export class TabPaneNMSampleList extends BaseElement { ? getTimeString(merageSample.startTs) : formatRealDateMs(merageSample.startTs + SpNativeMemoryChart.REAL_TIME_DIF); childSample.threadId = merageSample.threadId; - childSample.threadName = merageSample.threadName; - (childSample as any).existing = ''; + childSample.threadName = merageSample.threadName;// @ts-ignore + (childSample as unknown).existing = ''; rootSample.children.push(childSample); } rootSample.total += merageSample.growth; } - static queryAllHookInfo(data: any, rootSample: NativeHookSamplerInfo, ipid: number): void { + static queryAllHookInfo(data: unknown, rootSample: NativeHookSamplerInfo, ipid: number): void { let copyTypes = this.sampleTypes.map((type) => { let copyType = new NativeHookSampleQueryInfo(); copyType.eventType = type.eventType; copyType.subType = type.subType; return copyType; - }); + });// @ts-ignore queryAllHookData(data.startTs, ipid).then((nmSamplerHookResult) => { if (nmSamplerHookResult.length > 0) { - let nameGroup: any = {}; - copyTypes.forEach((item) => { - nameGroup[item.eventType] = nameGroup[item.eventType] || []; + let nameGroup: unknown = {}; + copyTypes.forEach((item) => {// @ts-ignore + nameGroup[item.eventType] = nameGroup[item.eventType] || [];// @ts-ignore nameGroup[item.eventType].push(item); }); let leftTime = @@ -151,15 +151,15 @@ export class TabPaneNMSampleList extends BaseElement { : TabPaneNMSampleList.tableMarkData[TabPaneNMSampleList.tableMarkData.length - 2].startTs; nmSamplerHookResult.forEach((item) => { item.threadId = rootSample.threadId; - item.threadName = rootSample.threadName; + item.threadName = rootSample.threadName;// @ts-ignore if (nameGroup[item.eventType] !== undefined) { - if (item.subType === null) { + if (item.subType === null) {// @ts-ignore this.merageSampleData(leftTime, data.startTs, nameGroup[item.eventType][0], item); - } else { - let filter = nameGroup[item.eventType].filter((type: any) => { + } else {// @ts-ignore + let filter = nameGroup[item.eventType].filter((type: unknown) => {// @ts-ignore return type.subType === item.subType; }); - if (filter.length > 0) { + if (filter.length > 0) {// @ts-ignore this.merageSampleData(leftTime, data.startTs, filter[0], item); } } @@ -176,45 +176,46 @@ export class TabPaneNMSampleList extends BaseElement { private static updateSampleTypesList(copyTypes: NativeHookSampleQueryInfo[]): void { if (this.sampleTypesList.length > 0) { - let sampleTypesListElement = this.sampleTypesList[this.sampleTypesList.length - 1]; - sampleTypesListElement.forEach((item: any, index: number) => { + let sampleTypesListElement = this.sampleTypesList[this.sampleTypesList.length - 1];// @ts-ignore + sampleTypesListElement.forEach((item: unknown, index: number) => { copyTypes[index].current = copyTypes[index].growth; - if (index < copyTypes.length) { - copyTypes[index].growth -= item.current; + if (index < copyTypes.length) {// @ts-ignore + copyTypes[index].growth -= item.current;// @ts-ignore copyTypes[index].total -= item.total; } }); } else { - copyTypes.forEach((item: any) => { + copyTypes.forEach((item: unknown) => {// @ts-ignore item.current = item.growth; }); } this.sampleTypesList.push(copyTypes); } - static createTree(nameGroup: any, rootSample: NativeHookSamplerInfo): void { + static createTree(nameGroup: unknown, rootSample: NativeHookSamplerInfo): void {// @ts-ignore Object.keys(nameGroup).forEach((key) => { let parentSample = new NativeHookSamplerInfo(); - parentSample.snapshot = key; - if (nameGroup[key].length > 0) { - nameGroup[key].forEach((child: any) => { - let childSample = new NativeHookSamplerInfo(); - childSample.snapshot = child.subType || child.eventType; - childSample.heapSize = child.growth; - childSample.growth = Utils.getByteWithUnit(child.growth); - childSample.total = child.total; - childSample.totalGrowth = Utils.getByteWithUnit(child.total); - childSample.existing = child.existing; - childSample.currentSize = child.current; + parentSample.snapshot = key;// @ts-ignore + if (nameGroup[key].length > 0) {// @ts-ignore + nameGroup[key].forEach((child: unknown) => { + let childSample = new NativeHookSamplerInfo();// @ts-ignore + childSample.snapshot = child.subType || child.eventType;// @ts-ignore + childSample.heapSize = child.growth;// @ts-ignore + childSample.growth = Utils.getByteWithUnit(child.growth);// @ts-ignore + childSample.total = child.total;// @ts-ignore + childSample.totalGrowth = Utils.getByteWithUnit(child.total);// @ts-ignore + childSample.existing = child.existing;// @ts-ignore + childSample.currentSize = child.current;// @ts-ignore childSample.current = Utils.getByteWithUnit(child.current); childSample.threadName = rootSample.threadName; childSample.threadId = rootSample.threadId; parentSample.merageObj(childSample); if (childSample.snapshot !== parentSample.snapshot) { //根据名称是否一致来判断是否需要添加子节点 + // @ts-ignore childSample.children.push(...child.children); parentSample.children.push(childSample); - } else { + } else {// @ts-ignore parentSample.children.push(...child.children); } }); @@ -227,17 +228,17 @@ export class TabPaneNMSampleList extends BaseElement { static prepChild(currentSample: NativeHookSamplerInfo, rootSample: NativeHookSamplerInfo): void { currentSample.heapSize -= rootSample.heapSize; currentSample.growth = Utils.getByteWithUnit(currentSample.heapSize); - let currentMap: any = {}; - currentSample.children.forEach((currentChild) => { + let currentMap: unknown = {}; + currentSample.children.forEach((currentChild) => {// @ts-ignore currentMap[currentChild.snapshot] = currentChild; }); - rootSample.children.forEach((rootChild) => { + rootSample.children.forEach((rootChild) => {// @ts-ignore if (currentMap[rootChild.snapshot] === undefined) { let perpSample = new NativeHookSamplerInfo(); - perpSample.snapshot = rootChild.snapshot; + perpSample.snapshot = rootChild.snapshot;// @ts-ignore currentMap[rootChild.snapshot] = perpSample; currentSample.children.push(perpSample); - } + }// @ts-ignore this.prepChild(currentMap[rootChild.snapshot], rootChild); }); } @@ -249,7 +250,7 @@ export class TabPaneNMSampleList extends BaseElement { this.sampleTbl!.recycleDataSource = []; TabPaneNMSampleList.sampleTbl!.recycleDataSource = []; this.sampleTypesList = []; - this.tableMarkData = []; + this.tableMarkData = [];// @ts-ignore TabPaneNMSampleList.filter!.firstSelect = '0'; } @@ -264,17 +265,17 @@ export class TabPaneNMSampleList extends BaseElement { return word.toUpperCase(); } - startWorker(args: Map, handler: Function): void { - procedurePool.submitWithName('logic0', 'native-memory-action', args, undefined, (res: any) => { + startWorker(args: Map, handler: Function): void { + procedurePool.submitWithName('logic0', 'native-memory-action', args, undefined, (res: unknown) => { handler(res); }); } setRightTableData(hookSamplerInfo: NativeHookSamplerInfo): void { - let nmSamplerArgs = new Map(); + let nmSamplerArgs = new Map(); nmSamplerArgs.set('eventId', hookSamplerInfo.eventId); nmSamplerArgs.set('actionType', 'memory-stack'); - this.startWorker(nmSamplerArgs, (results: any[]) => { + this.startWorker(nmSamplerArgs, (results: unknown[]) => { let source = []; if (results.length > 0) { let hookCallInfo = new NativeHookCallInfo(); @@ -292,7 +293,7 @@ export class TabPaneNMSampleList extends BaseElement { initElements(): void { TabPaneNMSampleList.sampleTbl = this.shadowRoot?.querySelector('#tb-native-sample'); - TabPaneNMSampleList.sampleTbl!.addEventListener('row-click', (evt: any) => { + TabPaneNMSampleList.sampleTbl!.addEventListener('row-click', (evt: unknown) => { // @ts-ignore this.setRightTableData(evt.detail.data); }); @@ -304,7 +305,7 @@ export class TabPaneNMSampleList extends BaseElement { TabPaneNMSampleList.filterSelect = data.firstSelect; this.filterAllList(); } - }); + });// @ts-ignore TabPaneNMSampleList.filter!.firstSelect = TabPaneNMSampleList.filterSelect; TabPaneNMSampleList.sampleTbl!.exportTextHandleMap.set('totalGrowth', (value) => { return `${value['total']}`; diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts index e390738a2..4f0da5805 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts @@ -90,10 +90,10 @@ class SizeObj { @element('tabpane-nm-statistic-analysis') export class TabPaneNMStatisticAnalysis extends BaseElement { - private currentSelection: SelectionParam | any; + private currentSelection: SelectionParam | unknown; private nmPieChart: LitChartPie | null | undefined; private nmTableBox: HTMLDivElement | undefined | null; - private processData!: Array; + private processData!: Array; private eventTypeData!: Array; private threadData!: Array; private soData!: Array; @@ -109,7 +109,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { private progressEL: LitProgressBar | null | undefined; private type: string = ''; private isStatistic = false; - private typeMap!: Map>; + private typeMap!: Map>; private currentLevel = -1; private currentLevelApplySize = 0; private currentLevelReleaseSize = 0; @@ -117,7 +117,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { private currentLevelApplyCount = 0; private currentLevelReleaseCount = 0; private currentLevelExistCount = 0; - private currentLevelData!: Array; + private currentLevelData!: Array; private typeStatisticsData!: {}; private threadStatisticsData!: {}; private libStatisticsData!: {}; @@ -274,7 +274,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.hideThreadCheckBox = popover!!.querySelector('div > #hideThread'); this.hideThreadCheckBox?.addEventListener('change', () => { this.reset(this.tableType!, false); - this.showAssignLevel(this.tableType!, this.functionUsageTbl!, 0, this.eventTypeData); + this.showAssignLevel(this.tableType!, this.functionUsageTbl!, 0, this.eventTypeData);// @ts-ignore this.getNMTypeSize(this.currentSelection, this.processData); }); this.initNmTableArray(); @@ -284,14 +284,14 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { let title = `${this.titleEl!.textContent}/${evt.detail.data.symbolName}`; this.clickRight(evt, title); }); - let exportHandlerMap = new Map string>(); - exportHandlerMap.set('existSizeFormat', (value) => { + let exportHandlerMap = new Map string>(); + exportHandlerMap.set('existSizeFormat', (value) => {// @ts-ignore return `${value.existSize}`; }); - exportHandlerMap.set('applySizeFormat', (value) => { + exportHandlerMap.set('applySizeFormat', (value) => {// @ts-ignore return `${value.applySize}`; }); - exportHandlerMap.set('releaseSizeFormat', (value) => { + exportHandlerMap.set('releaseSizeFormat', (value) => {// @ts-ignore return `${value.releaseSize}`; }); this.tableType!.exportTextHandleMap = exportHandlerMap; @@ -300,12 +300,12 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.functionUsageTbl!.exportTextHandleMap = exportHandlerMap; } - private clickRight(evt: any, title: string): void { + private clickRight(evt: unknown, title: string): void {// @ts-ignore if (evt.detail.button === 2) { let treeTab = this.parentElement?.parentElement?.querySelector( '#box-native-calltree > tabpane-nm-calltree' ); - treeTab!.analysisTabWidth = this.clientWidth; + treeTab!.analysisTabWidth = this.clientWidth;// @ts-ignore const data = evt.detail.data as AnalysisObj; treeTab!.filterData = new FilterByAnalysis( data.typeId, @@ -322,7 +322,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { treeTab?.initUI(); treeTab?.filterByAnalysis(); } else { - treeTab!.initFromAnalysis = true; + treeTab!.initFromAnalysis = true;// @ts-ignore treeTab!.data = this.currentSelection; InitAnalysis.getInstance().isInitAnalysis = false; } @@ -341,16 +341,16 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { types: typeFilter, isStatistic: this.isStatistic, }, - (results: any) => { + (results: unknown) => { this.processData = JSON.parse(JSON.stringify(results)); this.getNMTypeSize(val, this.processData); } ); } - private getDataByWorkerQuery(args: any, handler: Function): void { + private getDataByWorkerQuery(args: unknown, handler: Function): void { this.progressEL!.loading = true; - procedurePool.submitWithName('logic0', 'native-memory-queryAnalysis', args, undefined, (results: any) => { + procedurePool.submitWithName('logic0', 'native-memory-queryAnalysis', args, undefined, (results: unknown) => { handler(results); this.progressEL!.loading = false; }); @@ -389,7 +389,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { showNMTable: LitTable, hideNMTable: LitTable, currentLevel: number, - currentLevelData: Array + currentLevelData: Array ): void { showNMTable!.style.display = 'grid'; hideNMTable!.style.display = 'none'; @@ -494,9 +494,9 @@ export class TabPaneNMStatisticAnalysis extends BaseElement {
# Transient:${threadTipValue.obj.releaseCount} (${threadTipValue.obj.releaseCountPercent}%)
`; }, - angleClick: (it: any): void => { + angleClick: (it: unknown): void => { // @ts-ignore - if (it.tid !== 'other') { + if (it.tid !== 'other') {// @ts-ignore this.nativeThreadLevelClickEvent(it); } }, @@ -525,25 +525,38 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.threadUsageTbl?.reMeauseHeight(); } - private getLibraryTipValue(libraryTipValue: any): string { + private getLibraryTipValue(libraryTipValue: unknown): string { return `
-
Library:${libraryTipValue.obj.libName}
-
Existing:${libraryTipValue.obj.existSizeFormat} - (${libraryTipValue.obj.existSizePercent}%)
-
# Existing:${libraryTipValue.obj.existCount} - (${libraryTipValue.obj.existCountPercent}%)
-
Total Bytes:${libraryTipValue.obj.applySizeFormat} - (${libraryTipValue.obj.applySizePercent}%)
-
# Total:${libraryTipValue.obj.applyCount} - (${libraryTipValue.obj.applyCountPercent}%)
-
Transient:${libraryTipValue.obj.releaseSizeFormat} - (${libraryTipValue.obj.releaseSizePercent}%)
-
# Transient:${libraryTipValue.obj.releaseCount} - (${libraryTipValue.obj.releaseCountPercent}%)
+
Library:${// @ts-ignore + libraryTipValue.obj.libName}
+
Existing:${// @ts-ignore + libraryTipValue.obj.existSizeFormat} + (${// @ts-ignore + libraryTipValue.obj.existSizePercent}%)
+
# Existing:${// @ts-ignore + libraryTipValue.obj.existCount} + (${// @ts-ignore + libraryTipValue.obj.existCountPercent}%)
+
Total Bytes:${// @ts-ignore + libraryTipValue.obj.applySizeFormat} + (${// @ts-ignore + libraryTipValue.obj.applySizePercent}%)
+
# Total:${// @ts-ignore + libraryTipValue.obj.applyCount} + (${// @ts-ignore + libraryTipValue.obj.applyCountPercent}%)
+
Transient:${// @ts-ignore + libraryTipValue.obj.releaseSizeFormat} + (${// @ts-ignore + libraryTipValue.obj.releaseSizePercent}%)
+
# Transient:${// @ts-ignore + libraryTipValue.obj.releaseCount} + (${// @ts-ignore + libraryTipValue.obj.releaseCountPercent}%)
`; } - private libraryPieChart(item?: any): void { + private libraryPieChart(item?: unknown): void { this.nmPieChart!.config = { appendPadding: 0, data: this.getPieChartData(this.soData), @@ -640,7 +653,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.functionUsageTbl?.reMeauseHeight(); } - private nativeProcessLevelClickEvent(it: any): void { + private nativeProcessLevelClickEvent(it: unknown): void { if (this.hideThreadCheckBox?.checked || this.isStatistic) { this.reset(this.soUsageTbl!, true); this.showAssignLevel(this.soUsageTbl!, this.tableType!, 1, this.eventTypeData); @@ -649,7 +662,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.reset(this.threadUsageTbl!, true); this.showAssignLevel(this.threadUsageTbl!, this.tableType!, 1, this.eventTypeData); this.getNMThreadSize(it); - } + }// @ts-ignore const typeName = it.typeName === TYPE_MAP_STRING ? TYPE_OTHER_MMAP : it.typeName; this.titleEl!.textContent = typeName; // @ts-ignore @@ -673,7 +686,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.nmPieChart?.hideTip(); } - private nativeSoLevelClickEvent(it: any): void { + private nativeSoLevelClickEvent(it: unknown): void { this.reset(this.functionUsageTbl!, true); this.showAssignLevel(this.functionUsageTbl!, this.soUsageTbl!, 3, this.eventTypeData); this.getNMFunctionSize(it); @@ -682,8 +695,8 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { let title = typeName || ''; if (!this.hideThreadCheckBox?.checked && this.threadName.length > 0) { title += ` / ${this.threadName}`; - } - if (it.libName.length > 0) { + }// @ts-ignore + if (it.libName.length > 0) {// @ts-ignore title += ` / ${it.libName}`; } this.titleEl!.textContent = title; @@ -721,8 +734,8 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } } - private getNMTypeSize(val: SelectionParam, result: any): void { - this.resetCurrentLevelData(); + private getNMTypeSize(val: SelectionParam, result: unknown): void { + this.resetCurrentLevelData();// @ts-ignore this.typeMap = this.typeSizeGroup(this.processData); this.currentLevelExistSize = this.currentLevelApplySize - this.currentLevelReleaseSize; this.currentLevelExistCount = this.currentLevelApplyCount - this.currentLevelReleaseCount; @@ -736,20 +749,20 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } if (this.typeMap.has(TYPE_MAP)) { let subTypeMap = new Map>(); - for (let item of this.typeMap.get(TYPE_MAP)!) { - if (item.subType) { - if (subTypeMap.has(item.subType)) { + for (let item of this.typeMap.get(TYPE_MAP)!) {// @ts-ignore + if (item.subType) {// @ts-ignore + if (subTypeMap.has(item.subType)) {// @ts-ignore subTypeMap.get(item.subType)?.push(item); } else { - let dataArray: Array = []; - dataArray.push(item); + let dataArray: Array = [];// @ts-ignore + dataArray.push(item);// @ts-ignore subTypeMap.set(item.subType, dataArray); } } else { - if (subTypeMap.has(TYPE_MAP_STRING)) { + if (subTypeMap.has(TYPE_MAP_STRING)) {// @ts-ignore subTypeMap.get(TYPE_MAP_STRING)?.push(item); } else { - let dataArray: Array = []; + let dataArray: Array = [];// @ts-ignore dataArray.push(item); subTypeMap.set(TYPE_MAP_STRING, dataArray); } @@ -770,34 +783,34 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.typePieChart(); } - private getNMThreadSize(item: any): void { + private getNMThreadSize(item: unknown): void { this.progressEL!.loading = true; - let threadMap = new Map>(); - let types = this.getTypes(item); + let threadMap = new Map>();// @ts-ignore + let types = this.getTypes(item);// @ts-ignore let typeName = item.typeName; this.resetCurrentLevelData(item); for (let itemData of this.processData) { // @ts-ignore if (this.shouldSkipItem(typeName, types, itemData)) { continue; - } - if (threadMap.has(itemData.tid)) { + }// @ts-ignore + if (threadMap.has(itemData.tid)) {// @ts-ignore threadMap.get(itemData.tid)?.push(itemData); } else { - let itemArray: Array = []; - itemArray.push(itemData); + let itemArray: Array = [];// @ts-ignore + itemArray.push(itemData);// @ts-ignore threadMap.set(itemData.tid, itemArray); } } this.threadData = []; - threadMap.forEach((dbData: Array, tid: number) => { + threadMap.forEach((dbData: Array, tid: number) => { const sizeObj = this.calSizeObj(dbData); let analysis = new AnalysisObj(sizeObj.applySize, sizeObj.applyCount, sizeObj.releaseSize, sizeObj.releaseCount); - this.calPercent(analysis); - analysis.typeId = item.typeId; + this.calPercent(analysis);// @ts-ignore + analysis.typeId = item.typeId;// @ts-ignore analysis.typeName = item.typeName; - analysis.tid = tid; - if (dbData[0].threadName && dbData[0].threadName.length > 0) { + analysis.tid = tid;// @ts-ignore + if (dbData[0].threadName && dbData[0].threadName.length > 0) {// @ts-ignore analysis.tName = `${dbData[0].threadName}(${tid})`; } else { analysis.tName = `Thread ${tid}`; @@ -813,19 +826,19 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.threadPieChart(); } - private shouldSkipItem(typeName: string, types: Array, itemData: any): boolean { + private shouldSkipItem(typeName: string, types: Array, itemData: unknown): boolean { if (typeName === TYPE_ALLOC_STRING) { // @ts-ignore return !types.includes(itemData.type); } else if (typeName === TYPE_MAP_STRING) { - if (this.isStatistic) { + if (this.isStatistic) {// @ts-ignore if (itemData.subType) { // @ts-ignore return !types.includes(itemData.subType) || !types.includes(itemData.type); } else { return true; } - } else { + } else {// @ts-ignore if (!itemData.subType) { // @ts-ignore return !types.includes(itemData.type); @@ -833,7 +846,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return true; } } - } else { + } else {// @ts-ignore if (itemData.subType) { // @ts-ignore return !types.includes(itemData.subType) || !types.includes(itemData.type); @@ -843,13 +856,13 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } } - private getNMLibSize(item: any): void { - this.progressEL!.loading = true; - let typeId = item.typeId; - let typeName = item.typeName; + private getNMLibSize(item: unknown): void { + this.progressEL!.loading = true;// @ts-ignore + let typeId = item.typeId;// @ts-ignore + let typeName = item.typeName;// @ts-ignore let tid = item.tid; let libMap = new Map>(); - this.resetCurrentLevelData(item); + this.resetCurrentLevelData(item);// @ts-ignore let types = this.getTypes(item); this.soData = []; if (!this.processData) { @@ -858,15 +871,15 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { for (let itemData of this.processData) { if (this.shouldSkipItem(typeName, types, itemData)) { continue; - } + }// @ts-ignore if (tid !== undefined && tid !== itemData.tid) { continue; - } + }// @ts-ignore let libId = itemData.libId; - if (libMap.has(libId)) { + if (libMap.has(libId)) {// @ts-ignore libMap.get(libId)?.push(itemData); } else { - let dataArray: Array = []; + let dataArray: Array = [];// @ts-ignore dataArray.push(itemData); libMap.set(libId, dataArray); } @@ -894,15 +907,16 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.libraryPieChart(item); } - private getNMFunctionSize(item: any): void { + private getNMFunctionSize(item: unknown): void { this.progressEL!.loading = true; this.shadowRoot!.querySelector('.nm-subheading')!.textContent = 'Statistic By Function Existing'; - let typeId = item.typeId; - let typeName = item.typeName; - let tid = item.tid; - let libId = item.libId; + // @ts-ignore + let typeId = item.typeId;// @ts-ignore + let typeName = item.typeName;// @ts-ignore + let tid = item.tid;// @ts-ignore + let libId = item.libId;// @ts-ignore let symbolMap = new Map>(); - this.resetCurrentLevelData(item); + this.resetCurrentLevelData(item);// @ts-ignore let types = this.getTypes(item); if (!this.processData) { return; @@ -910,15 +924,15 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { for (let data of this.processData) { if (this.skipItemByType(typeName, types, data, libId)) { continue; - } + }// @ts-ignore if (tid !== undefined && tid !== data.tid) { continue; - } - if (symbolMap.has(data.symbolId)) { + }// @ts-ignore + if (symbolMap.has(data.symbolId)) {// @ts-ignore symbolMap.get(data.symbolId)?.push(data); } else { - let dataArray: Array = []; - dataArray.push(data); + let dataArray: Array = [];// @ts-ignore + dataArray.push(data);// @ts-ignore symbolMap.set(data.symbolId, dataArray); } } @@ -933,7 +947,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { analysis.typeName = typeName; analysis.tid = tid; analysis.tName = 'Thread ' + tid; - analysis.libId = libId; + analysis.libId = libId;// @ts-ignore analysis.libName = item.libName; analysis.symbolId = symbolId; analysis.symbolName = symbolName; @@ -944,14 +958,14 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { this.functionPieChart(); } - private skipItemByType(typeName: string, types: Array, data: any, libId: number): boolean { + private skipItemByType(typeName: string, types: Array, data: unknown, libId: number): boolean { if (typeName === TYPE_ALLOC_STRING) { // @ts-ignore if (!types.includes(data.type) || data.libId !== libId) { return true; } } else if (typeName === TYPE_MAP_STRING) { - if (this.isStatistic) { + if (this.isStatistic) {// @ts-ignore if (data.subType) { // @ts-ignore if (!types.includes(data.subType) || !types.includes(data.type) || data.libId !== libId) { @@ -960,7 +974,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } else { return true; } - } else { + } else {// @ts-ignore if (!data.subType) { // @ts-ignore if (!types.includes(data.type) || data.libId !== libId) { @@ -970,7 +984,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return true; } } - } else { + } else {// @ts-ignore if (data.subType) { // @ts-ignore if (!types.includes(data.subType) || !types.includes(data.type) || data.libId !== libId) { @@ -998,10 +1012,10 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } } - private getPieChartData(res: any[]): unknown[] { + private getPieChartData(res: unknown[]): unknown[] { if (res.length > PIE_CHART_LIMIT) { let pieChartArr: string[] = []; - let other: any = { + let other: unknown = { tableName: 'other', tName: 'other', libName: 'other', @@ -1023,33 +1037,33 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { releaseCountPercent: 0, }; for (let i = 0; i < res.length; i++) { - if (i < PIE_CHART_LIMIT - 1) { + if (i < PIE_CHART_LIMIT - 1) {// @ts-ignore pieChartArr.push(res[i]); - } else { - other.existCount += res[i].existCount; - other.existSize += res[i].existSize; - other.applySize += res[i].applySize; - other.applyCount += res[i].applyCount; - other.releaseSize += res[i].releaseSize; - other.releaseCount += res[i].releaseCount; - other.existSizeFormat = Utils.getBinaryByteWithUnit(other.existSize); - other.applySizeFormat = Utils.getBinaryByteWithUnit(other.applySize); - other.releaseSizeFormat = Utils.getBinaryByteWithUnit(other.releaseSize); - other.existSizePercent = ((other.existSize / this.currentLevelExistSize) * 100).toFixed(2); - other.existCountPercent = ((other.existCount / this.currentLevelExistCount) * 100).toFixed(2); - other.applySizePercent = ((other.applySize / this.currentLevelApplySize) * 100).toFixed(2); - other.applyCountPercent = ((other.applyCount / this.currentLevelApplyCount) * 100).toFixed(2); - other.releaseSizePercent = ((other.releaseSize / this.currentLevelReleaseSize) * 100).toFixed(2); + } else {// @ts-ignore + other.existCount += res[i].existCount;// @ts-ignore + other.existSize += res[i].existSize;// @ts-ignore + other.applySize += res[i].applySize;// @ts-ignore + other.applyCount += res[i].applyCount;// @ts-ignore + other.releaseSize += res[i].releaseSize;// @ts-ignore + other.releaseCount += res[i].releaseCount;// @ts-ignore + other.existSizeFormat = Utils.getBinaryByteWithUnit(other.existSize);// @ts-ignore + other.applySizeFormat = Utils.getBinaryByteWithUnit(other.applySize);// @ts-ignore + other.releaseSizeFormat = Utils.getBinaryByteWithUnit(other.releaseSize);// @ts-ignore + other.existSizePercent = ((other.existSize / this.currentLevelExistSize) * 100).toFixed(2);// @ts-ignore + other.existCountPercent = ((other.existCount / this.currentLevelExistCount) * 100).toFixed(2);// @ts-ignore + other.applySizePercent = ((other.applySize / this.currentLevelApplySize) * 100).toFixed(2);// @ts-ignore + other.applyCountPercent = ((other.applyCount / this.currentLevelApplyCount) * 100).toFixed(2);// @ts-ignore + other.releaseSizePercent = ((other.releaseSize / this.currentLevelReleaseSize) * 100).toFixed(2);// @ts-ignore other.releaseCountPercent = ((other.releaseCount / this.currentLevelReleaseCount) * 100).toFixed(2); } - } + }// @ts-ignore pieChartArr.push(other); return pieChartArr; } return res; } - private setTypeMap(typeMap: Map, tyeId: number, typeName: string): AnalysisObj | null { + private setTypeMap(typeMap: Map, tyeId: number, typeName: string): AnalysisObj | null { let applySize = 0; let releaseSize = 0; let applyCount = 0; @@ -1059,6 +1073,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return null; } + // @ts-ignore for (let applySample of typeMap.get(tyeId)!) { if ( tyeId === TYPE_ALLOC || @@ -1094,13 +1109,13 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { item.existCountPercent = ((item.existCount / this.currentLevelExistCount) * 100).toFixed(2); } - private resetCurrentLevelData(parent?: any): void { - if (parent) { - this.currentLevelApplySize = parent.applySize; - this.currentLevelApplyCount = parent.applyCount; - this.currentLevelExistSize = parent.existSize; - this.currentLevelExistCount = parent.existCount; - this.currentLevelReleaseSize = parent.releaseSize; + private resetCurrentLevelData(parent?: unknown): void { + if (parent) {// @ts-ignore + this.currentLevelApplySize = parent.applySize;// @ts-ignore + this.currentLevelApplyCount = parent.applyCount;// @ts-ignore + this.currentLevelExistSize = parent.existSize;// @ts-ignore + this.currentLevelExistCount = parent.existCount;// @ts-ignore + this.currentLevelReleaseSize = parent.releaseSize;// @ts-ignore this.currentLevelReleaseCount = parent.releaseCount; } else { this.currentLevelApplySize = 0; @@ -1120,15 +1135,15 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { let that = this; - function setSize(item: any): void { - that.currentLevelApplySize += item.size; + function setSize(item: unknown): void {// @ts-ignore + that.currentLevelApplySize += item.size;// @ts-ignore that.currentLevelApplyCount += item.count; - if (that.isStatistic) { - that.currentLevelReleaseSize += item.releaseSize; + if (that.isStatistic) {// @ts-ignore + that.currentLevelReleaseSize += item.releaseSize;// @ts-ignore that.currentLevelReleaseCount += item.releaseCount; - } else { - if (item.isRelease) { - that.currentLevelReleaseSize += item.size; + } else {// @ts-ignore + if (item.isRelease) {// @ts-ignore + that.currentLevelReleaseSize += item.size;// @ts-ignore that.currentLevelReleaseCount += item.count; } } @@ -1162,20 +1177,20 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return typeMap; } - private calSizeObj(dbData: Array): SizeObj { + private calSizeObj(dbData: Array): SizeObj { let sizeObj = new SizeObj(); for (let item of dbData) { - if (this.isStatistic) { - sizeObj.applyCount += item.count; - sizeObj.applySize += item.size; - sizeObj.releaseCount += item.releaseCount; + if (this.isStatistic) {// @ts-ignore + sizeObj.applyCount += item.count;// @ts-ignore + sizeObj.applySize += item.size;// @ts-ignore + sizeObj.releaseCount += item.releaseCount;// @ts-ignore sizeObj.releaseSize += item.releaseSize; } else { // @ts-ignore - sizeObj.applyCount += item.count; - sizeObj.applySize += item.size; - if (item.isRelease) { - sizeObj.releaseCount += item.count; + sizeObj.applyCount += item.count;// @ts-ignore + sizeObj.applySize += item.size;// @ts-ignore + if (item.isRelease) {// @ts-ignore + sizeObj.releaseCount += item.count;// @ts-ignore sizeObj.releaseSize += item.size; } } @@ -1241,7 +1256,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return nmCurrentTable; } - private getSortedColumnZeroArr(data: any[]): any[] { + private getSortedColumnZeroArr(data: unknown[]): unknown[] { let sortColumnZeroArr = [...data]; switch (this.currentLevel) { case 0: @@ -1260,7 +1275,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { return sortColumnZeroArr; } - private updateSortColumnArr(sortColumnArr: any[]): any[] { + private updateSortColumnArr(sortColumnArr: unknown[]): unknown[] { switch (this.currentLevel) { case 0: sortColumnArr.unshift(this.typeStatisticsData); @@ -1301,50 +1316,50 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { } } - private sortDataByExistSize(sortType: number, sortColumnArr: Array): any[] { + private sortDataByExistSize(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.existSize - statisticAnalysisRightData.existSize + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.existSize - statisticAnalysisRightData.existSize// @ts-ignore : statisticAnalysisRightData.existSize - statisticAnalysisLeftData.existSize; }); } - private sortDataByExistCount(sortType: number, sortColumnArr: Array): any[] { + private sortDataByExistCount(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.existCount - statisticAnalysisRightData.existCount + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.existCount - statisticAnalysisRightData.existCount// @ts-ignore : statisticAnalysisRightData.existCount - statisticAnalysisLeftData.existCount; }); } - private sortDataByReleaseSize(sortType: number, sortColumnArr: Array): any[] { + private sortDataByReleaseSize(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.releaseSize - statisticAnalysisRightData.releaseSize + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.releaseSize - statisticAnalysisRightData.releaseSize// @ts-ignore : statisticAnalysisRightData.releaseSize - statisticAnalysisLeftData.releaseSize; }); } - private sortDataByReleaseCount(sortType: number, sortColumnArr: Array): any[] { + private sortDataByReleaseCount(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.releaseCount - statisticAnalysisRightData.releaseCount + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.releaseCount - statisticAnalysisRightData.releaseCount// @ts-ignore : statisticAnalysisRightData.releaseCount - statisticAnalysisLeftData.releaseCount; }); } - private sortDataByApplySize(sortType: number, sortColumnArr: Array): any[] { + private sortDataByApplySize(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.applySize - statisticAnalysisRightData.applySize + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.applySize - statisticAnalysisRightData.applySize// @ts-ignore : statisticAnalysisRightData.applySize - statisticAnalysisLeftData.applySize; }); } - private sortDataByApplyCount(sortType: number, sortColumnArr: Array): any[] { + private sortDataByApplyCount(sortType: number, sortColumnArr: Array): unknown[] { return sortColumnArr.sort((statisticAnalysisLeftData, statisticAnalysisRightData) => { - return sortType === 1 - ? statisticAnalysisLeftData.applyCount - statisticAnalysisRightData.applyCount + return sortType === 1// @ts-ignore + ? statisticAnalysisLeftData.applyCount - statisticAnalysisRightData.applyCount// @ts-ignore : statisticAnalysisRightData.applyCount - statisticAnalysisLeftData.applyCount; }); } @@ -1360,6 +1375,7 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { let sortColumnArr = [...this.currentLevelData]; switch (this.nmSortColumn) { case 'tableName': + // @ts-ignore nmCurrentTable!.recycleDataSource = sortColumnArr.sort(this.caseTableName); break; case 'existSizeFormat': diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts index 6dcc62eaf..10b8730d8 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts @@ -198,12 +198,16 @@ export class TabPaneNMStatstics extends BaseElement { } } - private processHookData(hook: any, data: NativeHookStatisticsTableData): void { + private processHookData(hook: unknown, data: NativeHookStatisticsTableData): void { + // @ts-ignore data.totalBytes += hook.allocByte; + // @ts-ignore data.totalCount += hook.allocCount; + // @ts-ignore data.freeByte += hook.freeByte; - data.freeCount += hook.freeCount; - if (hook.max > data.max) { + // @ts-ignore + data.freeCount += hook.freeCount;// @ts-ignore + if (hook.max > data.max) {// @ts-ignore data.max = hook.max; data.maxStr = Utils.getByteWithUnit(data.max); } @@ -252,14 +256,16 @@ export class TabPaneNMStatstics extends BaseElement { } else { let arr = [...this.nativeStatisticsSource]; let compareFunction = ( - nativeStatisticsLeftData: any, - nativeStatisticsRightData: any, + nativeStatisticsLeftData: unknown, + nativeStatisticsRightData: unknown, column: string, sortType: number ): number => { if (sortType === 1) { + // @ts-ignore return nativeStatisticsLeftData[column] - nativeStatisticsRightData[column]; } else { + // @ts-ignore return nativeStatisticsRightData[column] - nativeStatisticsLeftData[column]; } }; diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts index 764265e1b..04ee994de 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts @@ -284,7 +284,7 @@ export class TabPaneNMemory extends BaseElement { this.getDataByNativeMemoryWorker(this.currentSelection); }); this.setItemTextHandleMapByMemoryTbl(); - this.memoryTbl!.exportTextHandleMap.set('heapSize', (value) => { + this.memoryTbl!.exportTextHandleMap.set('heapSize', (value) => {// @ts-ignore return `${value['heapSize']}`; }); this.shadowRoot?.querySelector('#filter')!.getFilterData((data: FilterData) => { @@ -307,19 +307,19 @@ export class TabPaneNMemory extends BaseElement { private setItemTextHandleMapByMemoryTbl(): void { this.memoryTbl!.itemTextHandleMap.set('startTs', (startTs) => { - return SpNativeMemoryChart.REAL_TIME_DIF === 0 - ? getTimeString(startTs) + return SpNativeMemoryChart.REAL_TIME_DIF === 0// @ts-ignore + ? getTimeString(startTs)// @ts-ignore : formatRealDateMs(startTs + SpNativeMemoryChart.REAL_TIME_DIF); }); - this.memoryTbl!.itemTextHandleMap.set('endTs', (endTs) => { - return endTs > this.currentSelection!.leftNs && + this.memoryTbl!.itemTextHandleMap.set('endTs', (endTs) => {// @ts-ignore + return endTs > this.currentSelection!.leftNs &&// @ts-ignore endTs <= this.currentSelection!.rightNs && endTs !== 0 && endTs !== null ? 'Freed' : 'Existing'; }); - this.memoryTbl!.itemTextHandleMap.set('heapSize', (heapSize) => { + this.memoryTbl!.itemTextHandleMap.set('heapSize', (heapSize) => {// @ts-ignore return getByteWithUnit(heapSize); }); } diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts b/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts index 1163d8a08..ca3b73ef5 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts @@ -26,17 +26,20 @@ export class TabPaneCounter extends BaseElement { private counterSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(counterParam: SelectionParam | any) { + set data(counterParam: SelectionParam | unknown) { if (this.currentSelectionParam === counterParam) { return; } + // @ts-ignore this.currentSelectionParam = counterParam; //@ts-ignore this.counterTbl?.shadowRoot?.querySelector('.table')?.style?.height = `${this.parentElement!.clientHeight - 45}px`; this.counterRange!.textContent = `Selected range: ${parseFloat( + // @ts-ignore ((counterParam.rightNs - counterParam.leftNs) / 1000000.0).toFixed(5) )} ms`; this.counterTbl!.loading = true; + // @ts-ignore getTabCounters(counterParam.processTrackIds, counterParam.virtualTrackIds, counterParam.rightNs).then((result) => { this.counterTbl!.loading = false; if (result !== null && result.length > 0) { @@ -46,12 +49,14 @@ export class TabPaneCounter extends BaseElement { for (let key of collect.keys()) { let counters = collect.get(key); let list: Array = []; + // @ts-ignore let index = counters!.findIndex((item) => item.startTime >= counterParam.leftNs); if (index !== -1) { list = counters!.splice(index > 0 ? index - 1 : index); } else { list.push(counters![counters!.length - 1]); } + // @ts-ignore let sd = this.createSelectCounterData(list, counterParam.leftNs, counterParam.rightNs); sumCount += Number.parseInt(sd.count); dataSource.push(sd); @@ -168,7 +173,7 @@ export class TabPaneCounter extends BaseElement { return counterData; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (counterLeftData: SelectionData, counterRightData: SelectionData) { @@ -195,9 +200,12 @@ export class TabPaneCounter extends BaseElement { }; } + // @ts-ignore if (detail.key === 'name') { + // @ts-ignore this.counterSource.sort(compare(detail.key, detail.sort, 'string')); } else { + // @ts-ignore this.counterSource.sort(compare(detail.key, detail.sort, 'number')); } this.counterTbl!.recycleDataSource = this.counterSource; diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneThreadStates.ts b/ide/src/trace/component/trace/sheet/process/TabPaneThreadStates.ts index ba37922d6..d66c7f8d0 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneThreadStates.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneThreadStates.ts @@ -31,10 +31,11 @@ export class TabPaneThreadStates extends BaseElement { private threadStatesTblSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(threadStatesParam: SelectionParam | any) { + set data(threadStatesParam: SelectionParam | unknown) { if (this.currentSelectionParam === threadStatesParam) { return; } + // @ts-ignore this.currentSelectionParam = threadStatesParam; //@ts-ignore this.threadStatesTbl?.shadowRoot?.querySelector('.table')?.style?.height = `${ @@ -42,6 +43,7 @@ export class TabPaneThreadStates extends BaseElement { }px`; // // @ts-ignore this.range!.textContent = `Selected range: ${( + // @ts-ignore (threadStatesParam.rightNs - threadStatesParam.leftNs) / 1000000.0 ).toFixed(5)} ms`; @@ -49,13 +51,18 @@ export class TabPaneThreadStates extends BaseElement { this.initThreadStates(threadStatesParam); } - async initThreadStates(threadStatesParam: SelectionParam | any): Promise { + async initThreadStates(threadStatesParam: SelectionParam | unknown): Promise { + // @ts-ignore let leftStartNs = threadStatesParam.leftNs + threadStatesParam.recordStartNs; + // @ts-ignore let rightEndNs = threadStatesParam.rightNs + threadStatesParam.recordStartNs; let threadStatesDetail = await getTabThreadStatesDetail( + // @ts-ignore threadStatesParam.threadIds, + // @ts-ignore threadStatesParam.leftNs, + // @ts-ignore threadStatesParam.rightNs ); @@ -76,47 +83,69 @@ export class TabPaneThreadStates extends BaseElement { this.addSumLine(threadStatesParam, targetListTemp); } - updateThreadStates(threadStatDetail: Array, leftNs: number, rightNs: number): Array { - let targetListTemp: any[] = []; + updateThreadStates(threadStatDetail: Array, leftNs: number, rightNs: number): Array { + let targetListTemp: unknown[] = []; if (threadStatDetail.length > 0) { - let durExceptionDataMap: Map = new Map(); - let source: Map = new Map(); + let durExceptionDataMap: Map = new Map(); + let source: Map = new Map(); let target = threadStatDetail.reduce((map, current) => { + // @ts-ignore let mapKey = `${current.pid}-${current.tid}`; + // @ts-ignore let key = `${current.state}-${mapKey}`; if (durExceptionDataMap.has(mapKey)) { // 如果某线程中间有dur 为 -1的数据,则重新计算dur值,并给统计的值加上重新计算的dur let pre = durExceptionDataMap.get(mapKey); + // @ts-ignore pre.dur = current.ts - pre.ts; + // @ts-ignore if (pre.ts < leftNs && pre.dur > 0) { + // @ts-ignore pre.dur = pre.dur - (leftNs - pre.ts); } + // @ts-ignore if (pre.ts + pre.dur > rightNs && pre.dur > 0) { + // @ts-ignore pre.dur = pre.dur - (pre.ts + pre.dur - rightNs); } + // @ts-ignore map.get(`${pre.state}-${mapKey}`).wallDuration += pre.dur; durExceptionDataMap.delete(mapKey); } + // @ts-ignore if (current.dur === null || current.dur === undefined || current.dur === -1) { //如果出现dur 为-1的数据,dur先以0计算,在后续循环中碰到相同线程数据,则补上dur的值 + // @ts-ignore current.dur = 0; durExceptionDataMap.set(mapKey, current); } else { + // @ts-ignore if (current.ts < leftNs && current.dur > 0) { + // @ts-ignore current.dur = current.dur - (leftNs - current.ts); } + // @ts-ignore if (current.ts + current.dur > rightNs && current.dur > 0) { + // @ts-ignore current.dur = current.dur - (current.ts + current.dur - rightNs); } } + // @ts-ignore if (map.has(key)) { + // @ts-ignore map.get(key).wallDuration += current.dur; + // @ts-ignore map.get(key).occurrences += 1; } else { + // @ts-ignore map.set(key, { + // @ts-ignore pid: current.pid, + // @ts-ignore tid: current.tid, + // @ts-ignore state: current.state, + // @ts-ignore wallDuration: current.dur || 0, avgDuration: 0, occurrences: 1, @@ -126,27 +155,36 @@ export class TabPaneThreadStates extends BaseElement { }, source); targetListTemp = this.updateThreadStatesExtend(durExceptionDataMap, target, leftNs, rightNs, targetListTemp); } + // @ts-ignore return targetListTemp; } private updateThreadStatesExtend( - durExceptionDataMap: Map, - target: any, + durExceptionDataMap: Map, + target: unknown, leftNs: number, rightNs: number, - targetListTemp: any[] - ): any[] { + targetListTemp: unknown[] + ): unknown[] { // 通过上面循环之后,durExceptionDataMap 中的值即为 该线程 在框选时间内最后一条数据且dur 为-1,需要根据框选的时间把dur计算出来加上, let arr = Array.from(durExceptionDataMap.values()); for (let item of arr) { + // @ts-ignore let key = `${item.state}-${item.pid}-${item.tid}`; + // @ts-ignore if (target.has(key)) { + // @ts-ignore target.get(key).wallDuration += rightNs - Math.max(item.ts, leftNs); } else { + // @ts-ignore target.set(key, { + // @ts-ignore pid: item.pid, + // @ts-ignore tid: item.tid, + // @ts-ignore state: item.state, + // @ts-ignore wallDuration: rightNs - Math.max(item.ts, leftNs), avgDuration: 0, occurrences: 1, @@ -154,11 +192,12 @@ export class TabPaneThreadStates extends BaseElement { } } durExceptionDataMap.clear(); + // @ts-ignore targetListTemp = Array.from(target.values()); return targetListTemp; } - addSumLine(threadStatesParam: SelectionParam | any, targetListTemp: Array): void { + addSumLine(threadStatesParam: SelectionParam | unknown, targetListTemp: Array): void { log(targetListTemp); if (targetListTemp !== null && targetListTemp.length > 0) { @@ -168,31 +207,48 @@ export class TabPaneThreadStates extends BaseElement { let targetList = []; for (let e of targetListTemp) { + // @ts-ignore if (threadStatesParam.processIds.includes(e.pid)) { + // @ts-ignore let process = Utils.PROCESS_MAP.get(e.pid); + // @ts-ignore let thread = Utils.THREAD_MAP.get(e.tid); + // @ts-ignore e.process = process || '[NULL]'; + // @ts-ignore e.thread = thread || '[NULL]'; + // @ts-ignore e.stateJX = e.state; + // @ts-ignore e.state = Utils.getEndState(e.stateJX); + // @ts-ignore e.avgDuration = parseFloat((e.wallDuration / e.occurrences / 1000000.0).toFixed(5)); + // @ts-ignore e.wallDuration = parseFloat((e.wallDuration / 1000000.0).toFixed(5)); + // @ts-ignore sumWall += e.wallDuration; + // @ts-ignore sumOcc += e.occurrences; targetList.push(e); } } if (targetList.length > 0) { - let count: any = {}; + let count: unknown = {}; + // @ts-ignore count.process = ' '; + // @ts-ignore count.state = ' '; + // @ts-ignore count.wallDuration = parseFloat(sumWall.toFixed(5)); + // @ts-ignore count.occurrences = sumOcc; targetList.splice(0, 0, count); } + // @ts-ignore this.threadStatesTblSource = targetList; this.threadStatesTbl!.recycleDataSource = targetList; + // @ts-ignore this.stackBar!.data = targetList; } else { this.threadStatesTblSource = []; @@ -206,7 +262,8 @@ export class TabPaneThreadStates extends BaseElement { this.threadStatesTbl = this.shadowRoot?.querySelector('#tb-thread-states'); this.range = this.shadowRoot?.querySelector('#thread-states-time-range'); this.stackBar = this.shadowRoot?.querySelector('#thread-states-stack-bar'); - this.threadStatesTbl!.addEventListener('column-click', (evt: any) => { + this.threadStatesTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -264,19 +321,24 @@ export class TabPaneThreadStates extends BaseElement { `; } - sortByColumn(treadStatesDetail: any): void { - function compare(property: any, treadStatesSort: any, type: any) { - return function (threadStatesLeftData: SelectionData | any, threadStatesRightData: SelectionData | any) { + sortByColumn(treadStatesDetail: unknown): void { + function compare(property: unknown, treadStatesSort: unknown, type: unknown) { + return function (threadStatesLeftData: SelectionData | unknown, threadStatesRightData: SelectionData | unknown) { + // @ts-ignore if (threadStatesLeftData.process === ' ' || threadStatesRightData.process === ' ') { return 0; } if (type === 'number') { return treadStatesSort === 2 + // @ts-ignore ? parseFloat(threadStatesRightData[property]) - parseFloat(threadStatesLeftData[property]) + // @ts-ignore : parseFloat(threadStatesLeftData[property]) - parseFloat(threadStatesRightData[property]); } else { + // @ts-ignore if (threadStatesRightData[property] > threadStatesLeftData[property]) { return treadStatesSort === 2 ? 1 : -1; + // @ts-ignore } else if (threadStatesRightData[property] === threadStatesLeftData[property]) { return 0; } else { @@ -286,9 +348,12 @@ export class TabPaneThreadStates extends BaseElement { }; } + // @ts-ignore if (treadStatesDetail.key === 'name' || treadStatesDetail.key === 'thread' || treadStatesDetail.key === 'state') { + // @ts-ignore this.threadStatesTblSource.sort(compare(treadStatesDetail.key, treadStatesDetail.sort, 'string')); } else { + // @ts-ignore this.threadStatesTblSource.sort(compare(treadStatesDetail.key, treadStatesDetail.sort, 'number')); } this.threadStatesTbl!.recycleDataSource = this.threadStatesTblSource; diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneThreadUsage.ts b/ide/src/trace/component/trace/sheet/process/TabPaneThreadUsage.ts index 0e6714c3f..96295bb07 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneThreadUsage.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneThreadUsage.ts @@ -49,10 +49,11 @@ export class TabPaneThreadUsage extends BaseElement { `; - set data(threadUsageParam: SelectionParam | any) { + set data(threadUsageParam: SelectionParam | unknown) { if (this.currentSelectionParam === threadUsageParam) { return; } + // @ts-ignore this.currentSelectionParam = threadUsageParam; if (this.cpuCount !== CpuStruct.cpuCount) { this.cpuCount = CpuStruct.cpuCount; @@ -63,18 +64,22 @@ export class TabPaneThreadUsage extends BaseElement { this.parentElement!.clientHeight - 45 }px`; // 框选区域内running的时间 + // @ts-ignore getTabRunningPersent(threadUsageParam.threadIds, threadUsageParam.leftNs, threadUsageParam.rightNs).then( (result) => { // 数组套对象 // 开始的时间leftStartNs + // @ts-ignore let leftStartNs = threadUsageParam.leftNs + threadUsageParam.recordStartNs; // 结束的时间rightEndNs + // @ts-ignore let rightEndNs = threadUsageParam.rightNs + threadUsageParam.recordStartNs; let sum = rightEndNs - leftStartNs; this.range!.textContent = `Selected range: ${(sum / 1000000.0).toFixed(5)} ms`; } ); this.threadUsageTbl!.loading = true; + // @ts-ignore getTabThreadStatesCpu(threadUsageParam.threadIds, threadUsageParam.leftNs, threadUsageParam.rightNs).then( (result) => { this.threadUsageTbl!.loading = false; @@ -83,49 +88,71 @@ export class TabPaneThreadUsage extends BaseElement { ); } - private threadStatesCpuDataHandler(result: any[], threadUsageParam: SelectionParam | any): void { + private threadStatesCpuDataHandler(result: unknown[], threadUsageParam: SelectionParam | unknown): void { if (result !== null && result.length > 0) { log(`getTabThreadStates result size : ${result.length}`); + // @ts-ignore let filterArr = result.filter((it) => threadUsageParam.processIds.includes(it.pid)); let totalDurtion = 0; filterArr.forEach((item) => { + // @ts-ignore totalDurtion = totalDurtion + item.wallDuration; }); - let map: Map = new Map(); + let map: Map = new Map(); for (let resultEl of filterArr) { + // @ts-ignore if (threadUsageParam.processIds.includes(resultEl.pid)) { + // @ts-ignore if (map.has(resultEl.tid)) { + // @ts-ignore map.get(resultEl.tid)[`cpu${resultEl.cpu}`] = resultEl.wallDuration || 0; + // @ts-ignore map.get(resultEl.tid)[`cpu${resultEl.cpu}TimeStr`] = getThreadUsageProbablyTime(resultEl.wallDuration || 0); + // @ts-ignore map.get(resultEl.tid).wallDuration = map.get(resultEl.tid).wallDuration + (resultEl.wallDuration || 0); + // @ts-ignore map.get(resultEl.tid).wallDurationTimeStr = getThreadUsageProbablyTime(map.get(resultEl.tid).wallDuration); } else { + // @ts-ignore let process = Utils.PROCESS_MAP.get(resultEl.pid); + // @ts-ignore let thread = Utils.THREAD_MAP.get(resultEl.tid); - let threadStatesStruct: any = { + let threadStatesStruct: unknown = { + // @ts-ignore tid: resultEl.tid, + // @ts-ignore pid: resultEl.pid, thread: thread || 'null', process: process || 'null', + // @ts-ignore wallDuration: resultEl.wallDuration || 0, + // @ts-ignore wallDurationTimeStr: getThreadUsageProbablyTime(resultEl.wallDuration || 0), }; for (let i = 0; i < this.cpuCount; i++) { + // @ts-ignore threadStatesStruct[`cpu${i}`] = 0; + // @ts-ignore threadStatesStruct[`cpu${i}TimeStr`] = '0'; + // @ts-ignore threadStatesStruct[`cpu${i}Ratio`] = '0'; } + // @ts-ignore threadStatesStruct[`cpu${resultEl.cpu}`] = resultEl.wallDuration || 0; + // @ts-ignore threadStatesStruct[`cpu${resultEl.cpu}TimeStr`] = getThreadUsageProbablyTime(resultEl.wallDuration || 0); + // @ts-ignore map.set(resultEl.tid, threadStatesStruct); } } } map.forEach((val) => { for (let i = 0; i < this.cpuCount; i++) { + // @ts-ignore val[`cpu${i}Ratio`] = ((100.0 * val[`cpu${i}`]) / val.wallDuration).toFixed(2); } }); + // @ts-ignore this.threadUsageSource = Array.from(map.values()); this.threadUsageTbl!.recycleDataSource = this.threadUsageSource; } else { @@ -153,7 +180,8 @@ export class TabPaneThreadUsage extends BaseElement { initElements(): void { this.threadUsageTbl = this.shadowRoot?.querySelector('#tb-thread-states'); this.range = this.shadowRoot?.querySelector('#thread-usage-time-range'); - this.threadUsageTbl!.addEventListener('column-click', (evt: any) => { + this.threadUsageTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -188,19 +216,24 @@ export class TabPaneThreadUsage extends BaseElement { `; } - sortByColumn(treadUsageDetail: any): void { - function compare(property: any, treadUsageSort: any, type: any) { - return function (threadUsageLeftData: SelectionData | any, threadUsageRightData: SelectionData | any) { + sortByColumn(treadUsageDetail: unknown): void { + function compare(property: unknown, treadUsageSort: unknown, type: unknown) { + return function (threadUsageLeftData: SelectionData | unknown, threadUsageRightData: SelectionData | unknown) { + // @ts-ignore if (threadUsageLeftData.process === ' ' || threadUsageRightData.process === ' ') { return 0; } if (type === 'number') { return treadUsageSort === 2 + // @ts-ignore ? parseFloat(threadUsageRightData[property]) - parseFloat(threadUsageLeftData[property]) + // @ts-ignore : parseFloat(threadUsageLeftData[property]) - parseFloat(threadUsageRightData[property]); } else { + // @ts-ignore if (threadUsageRightData[property] > threadUsageLeftData[property]) { return treadUsageSort === 2 ? 1 : -1; + // @ts-ignore } else if (threadUsageRightData[property] == threadUsageLeftData[property]) { return 0; } else { @@ -211,13 +244,18 @@ export class TabPaneThreadUsage extends BaseElement { } if ( + // @ts-ignore treadUsageDetail.key === 'process' || + // @ts-ignore treadUsageDetail.key === 'thread' || + // @ts-ignore (treadUsageDetail.key as string).includes('Ratio') ) { + // @ts-ignore this.threadUsageSource.sort(compare(treadUsageDetail.key, treadUsageDetail.sort, 'string')); } else { this.threadUsageSource.sort( + // @ts-ignore compare((treadUsageDetail.key as string).replace('TimeStr', ''), treadUsageDetail.sort, 'number') ); } @@ -225,20 +263,24 @@ export class TabPaneThreadUsage extends BaseElement { } } -export function judgement(result: Array, leftStart: any, rightEnd: any): number { +export function judgement(result: Array, leftStart: unknown, rightEnd: unknown): number { let sum = 0; if (result !== null && result.length > 0) { log(`getTabRunningTime result size : ${result.length}`); let rightEndNs = rightEnd; let leftStartNs = leftStart; // 尾部running的结束时间 + // @ts-ignore let RunningEnds = result[result.length - 1].dur - (rightEndNs - result[result.length - 1].ts) + rightEndNs; // 如果截取了开头和结尾的长度 + // @ts-ignore let beigin = result[0].dur - (leftStartNs - result[0].ts); + // @ts-ignore let end = rightEndNs - result[result.length - 1].ts; // 用来存储数据的新数组 let arr = []; // 如果开头和结尾都截取了 + // @ts-ignore if (leftStartNs > result[0].ts && rightEndNs < RunningEnds) { // 首尾的running长度 let beginAndEnd = beigin + end; @@ -246,26 +288,35 @@ export function judgement(result: Array, leftStart: any, rightEnd: any): nu // 截取的除了开头和结尾的数据 arr = result.slice(1, result.length - 1); let res = arr.reduce((total, item) => { + // @ts-ignore return total + item.dur; }, 0); + // @ts-ignore sum = beginAndEnd + res; + // @ts-ignore } else if (leftStartNs > result[0].ts) { // 如果只是截取了开头 arr = result.slice(1); let res = arr.reduce((total, item) => { + // @ts-ignore return total + item.dur; }, 0); + // @ts-ignore sum = beigin + res; + // @ts-ignore } else if (rightEndNs < RunningEnds) { // 如果只是截取了结尾 arr = result.slice(0, result.length - 1); let res = arr.reduce((total, item) => { + // @ts-ignore return total + item.dur; }, 0); + // @ts-ignore sum = end + res; } else { // 如果都没截取 for (let i of result) { + // @ts-ignore sum += i.dur; } } diff --git a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts index e266a4d6b..c0497d115 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts @@ -29,12 +29,13 @@ export class TabPaneSdkCounter extends BaseElement { private tblSdkCounter: LitTable | null | undefined; private sdkRange: HTMLLabelElement | null | undefined; private keyList: Array | undefined; - private statDataArray: any = []; - private columnMap: any = {}; - private sqlMap: Map = new Map(); + private statDataArray: unknown = []; + private columnMap: unknown = {}; + private sqlMap: Map = new Map(); - set data(valSdkCounter: SelectionParam | any) { + set data(valSdkCounter: SelectionParam | unknown) { this.sdkRange!.textContent = + // @ts-ignore 'Selected range: ' + ((valSdkCounter.rightNs - valSdkCounter.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.queryDataByDB(valSdkCounter); } @@ -53,12 +54,15 @@ export class TabPaneSdkCounter extends BaseElement { resizeObserver(this.parentElement!, this.tblSdkCounter!); } - getStatDataArray(counterItem: any): void { + getStatDataArray(counterItem: unknown): void { this.keyList = []; this.tblSdkCounter!.innerHTML = ''; this.statDataArray = []; + // @ts-ignore if (counterItem.length !== null && counterItem.length > 0) { + // @ts-ignore for (let counterItemIndex = 0; counterItemIndex < counterItem.length; counterItemIndex++) { + // @ts-ignore const dataResult = counterItem[counterItemIndex]; let keys = Object.keys(dataResult); // @ts-ignore @@ -70,14 +74,20 @@ export class TabPaneSdkCounter extends BaseElement { this.keyList.push(counterKey); } let counterValue = values[counterKeyIndex]; + // @ts-ignore if (this.columnMap[counterKey] === 'TimeStamp') { counterValue = Utils.getTimeString(Number(counterValue)); + // @ts-ignore } else if (this.columnMap[counterKey] === 'ClockTime') { counterValue = Utils.getTimeStampHMS(Number(counterValue)); + // @ts-ignore } else if (this.columnMap[counterKey] === 'RangTime') { + // @ts-ignore counterValue = Utils.getDurString(Number(counterValue)); + // @ts-ignore } else if (this.columnMap[counterKey] === 'PercentType') { counterValue = counterValue + '%'; + // @ts-ignore } else if (this.columnMap[counterKey] === 'CurrencyType') { // @ts-ignore counterValue = counterValue.toString().replace(/\B(?=(\d{3})+$)/g, ','); @@ -92,35 +102,44 @@ export class TabPaneSdkCounter extends BaseElement { counterJsonText += '}'; } } + // @ts-ignore this.statDataArray.push(JSON.parse(counterJsonText)); } + // @ts-ignore this.tblSdkCounter!.recycleDataSource = this.statDataArray; } else { this.tblSdkCounter!.recycleDataSource = []; } } - queryDataByDB(sdkVal: SelectionParam | any): void { + queryDataByDB(sdkVal: SelectionParam | unknown): void { queryStartTime().then((res) => { let startTime = res[0].start_ts; this.parseJson(SpSystemTrace.SDK_CONFIG_MAP); let counters: Array = []; let componentId: number = -1; + // @ts-ignore for (let index = 0; index < sdkVal.sdkCounterIds.length; index++) { + // @ts-ignore let values = sdkVal.sdkCounterIds[index].split('-'); let value = values[0]; componentId = Number(values[1]); counters.push(value); } let sqlObj = this.sqlMap.get(componentId); + // @ts-ignore let sql = sqlObj.TabCounterLeftData; + // @ts-ignore getTabSdkCounterLeftData(sql, sdkVal.leftNs + startTime, counters, componentId).then((res) => { let leftTime = res[res.length - 1].max_value - startTime; + // @ts-ignore let sql = sqlObj.TabCounterData; + // @ts-ignore getTabSdkCounterData(sql, startTime, leftTime, sdkVal.rightNs, counters, componentId).then((counterItem) => { this.getStatDataArray(counterItem); this.initDataElement(); setTimeout(() => { + // @ts-ignore this.tblSdkCounter!.recycleDataSource = this.statDataArray; new ResizeObserver(() => { if (this.parentElement?.clientHeight !== 0) { @@ -137,8 +156,9 @@ export class TabPaneSdkCounter extends BaseElement { parseJson(configMap: Map): string { let keys = configMap.keys(); for (let key of keys) { - let counterConfigObject: any = configMap.get(key); + let counterConfigObject: unknown = configMap.get(key); if (counterConfigObject !== undefined) { + // @ts-ignore let configStr = counterConfigObject.jsonConfig; let configJson = JSON.parse(configStr); let counterTableConfig = configJson.tableConfig; @@ -150,6 +170,7 @@ export class TabPaneSdkCounter extends BaseElement { if (type === 'counter') { let selectSql = 'select '; for (let counterColumnsIndex = 0; counterColumnsIndex < showType.columns.length; counterColumnsIndex++) { + // @ts-ignore this.columnMap[showType.columns[counterColumnsIndex].column] = showType.columns[counterColumnsIndex].displayName; if (showType.columns[counterColumnsIndex].showType.indexOf(3) > -1) { @@ -215,7 +236,7 @@ export class TabPaneSdkCounter extends BaseElement { `; } - sortByColumn(counterDetail: any): void { + sortByColumn(counterDetail: unknown): void { // @ts-ignore function compare(property, countreSort, type) { return function (aSdkCounter: SelectionData, bSdkCounter: SelectionData): number { @@ -243,11 +264,15 @@ export class TabPaneSdkCounter extends BaseElement { }; } + // @ts-ignore if (counterDetail.key.indexOf('name') !== -1) { + // @ts-ignore this.statDataArray.sort(compare(counterDetail.key, counterDetail.sort, 'string')); } else { + // @ts-ignore this.statDataArray.sort(compare(counterDetail.key, counterDetail.sort, 'number')); } + // @ts-ignore this.tblSdkCounter!.recycleDataSource = this.statDataArray; } } diff --git a/ide/src/trace/component/trace/sheet/sdk/TabUtil.ts b/ide/src/trace/component/trace/sheet/sdk/TabUtil.ts index d5b7ab337..6f1e8d63e 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabUtil.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabUtil.ts @@ -14,7 +14,8 @@ */ export class TabUtil { - static getTableType(showType: any): string { + static getTableType(showType: unknown): string { + // @ts-ignore let columns = showType.columns; for (let i = 0; i < columns.length; i++) { let column = columns[i]; diff --git a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsRecord.ts b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsRecord.ts index 053dff9bc..a067177d5 100644 --- a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsRecord.ts +++ b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsRecord.ts @@ -27,7 +27,7 @@ import { querySmapsRecordTabData } from '../../../../database/sql/Smaps.sql'; @element('tabpane-smaps-record') export class TabPaneSmapsRecord extends BaseElement { private smapsRecordTable: LitTable | undefined | null; - private smapsRecordDataSource: Array = []; + private smapsRecordDataSource: Array = []; private _GLESHostCache: Array = []; private pixelmapId = -1; private typeId = SmapsType.TYPE_NATIVE_HEAP; @@ -35,7 +35,7 @@ export class TabPaneSmapsRecord extends BaseElement { set GLESHostCache(value: Array) { this._GLESHostCache = value; } - set data(smapsValue: SelectionParam | any) { + set data(smapsValue: SelectionParam | unknown) { this.smapsRecordDataSource = []; if (smapsValue) { if (this.pixelmapId == -1) { @@ -46,6 +46,7 @@ export class TabPaneSmapsRecord extends BaseElement { } } } + // @ts-ignore this.setSmapsRecordTableData(smapsValue.leftNs); } } @@ -91,7 +92,8 @@ export class TabPaneSmapsRecord extends BaseElement { this.smapsRecordDataSource.push({ name: 'ProcessCache', size: getByteWithUnit(ProcessCacheSize) }); this.smapsRecordDataSource.unshift( { name: 'TimeStamp', size: ns2s(startNs) }, - { name: 'TimeStamp(Absolute)', size: (startNs + (window as any).recordStartNS) / 1000000000 }, + // @ts-ignore + { name: 'TimeStamp(Absolute)', size: (startNs + (window as unknown).recordStartNS) / 1000000000 }, { name: 'Total', size: getByteWithUnit(totalSize) } ); } diff --git a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsSample.ts b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsSample.ts index d79db14b0..fe622d0ce 100644 --- a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsSample.ts +++ b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsSample.ts @@ -60,7 +60,8 @@ export class TabPaneSmapsSample extends BaseElement { } }).observe(this.parentElement!); } - queryDataByDB(srVal: SelectionParam | any): void { + queryDataByDB(srVal: SelectionParam | unknown): void { + // @ts-ignore getTabSmapsData(srVal.leftNs, srVal.rightNs, (MemoryConfig.getInstance().interval * 1000_000) / 5).then( (result) => { log('getTabSmapsData size :' + result.length); @@ -87,8 +88,10 @@ export class TabPaneSmapsSample extends BaseElement { }); } } - filteredData(result: any): void { + filteredData(result: unknown): void { + // @ts-ignore if (result.length !== null && result.length > 0) { + // @ts-ignore for (const smaps of result) { smaps.typeName = TYPE_STRING[smaps.type]; smaps.address = smaps.startAddr + ' - ' + smaps.endAddr; @@ -111,7 +114,9 @@ export class TabPaneSmapsSample extends BaseElement { smaps.resideStr = resideS + '%'; } } + // @ts-ignore this.sourceSmapsSample = result; + // @ts-ignore this.querySmapsSampleResult = result; this.tblSmapsSample!.recycleDataSource = this.sourceSmapsSample; } else { @@ -164,7 +169,7 @@ export class TabPaneSmapsSample extends BaseElement { `; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (aSmapsSample: Smaps, bSmapsSample: Smaps) { @@ -190,10 +195,14 @@ export class TabPaneSmapsSample extends BaseElement { } }; } + // @ts-ignore if (detail.key === 'rssStr' || detail.key === 'sizeStr' || detail.key === 'resideStr') { + // @ts-ignore let key = detail.key.substring(0, detail.key.indexOf('Str')); + // @ts-ignore this.sourceSmapsSample.sort(compare(key, detail.sort, 'number')); } else { + // @ts-ignore this.sourceSmapsSample.sort(compare(detail.key, detail.sort, 'string')); } this.tblSmapsSample!.recycleDataSource = this.sourceSmapsSample; diff --git a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsStatistics.ts b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsStatistics.ts index d89b1e0cc..b62089b4e 100644 --- a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsStatistics.ts +++ b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsStatistics.ts @@ -269,17 +269,22 @@ export class TabPaneSmapsStatistics extends BaseElement { this.handleSmapsTreeObj(this.allTree!, sumSize); } - public filteredData(result: Array, table: LitTable, sumSize?: number): void { + public filteredData(result: Array, table: LitTable, sumSize?: number): void { this.allTree = new SmapsTreeObj('All', '', '*All*'); let allTreeObjs = this.initTreeObj(); if (result.length !== null && result.length > 0) { for (let id = 0; id < result.length; id++) { let smaps = result[id]; + // @ts-ignore smaps.typeName = TYPE_STRING[smaps.type]; + // @ts-ignore if (allTreeObjs.has(smaps.type)) { + // @ts-ignore let newVar = allTreeObjs.get(smaps.type); + // @ts-ignore this.handleTree(smaps, id, smaps.typeName, newVar!, sumSize); } + // @ts-ignore this.handleAllDataTree(smaps, id, 'All', this.allTree, sumSize!); if (id === result.length - 1) { this.handleAllSMapsTreeObj(sumSize!, allTreeObjs); diff --git a/ide/src/trace/component/trace/sheet/task/TabPaneTaskFrames.ts b/ide/src/trace/component/trace/sheet/task/TabPaneTaskFrames.ts index 564cdc318..c82196c78 100644 --- a/ide/src/trace/component/trace/sheet/task/TabPaneTaskFrames.ts +++ b/ide/src/trace/component/trace/sheet/task/TabPaneTaskFrames.ts @@ -311,8 +311,10 @@ export class TabPaneTaskFrames extends BaseElement { framesParam: SelectionParam, isClick: boolean ): Promise { - let selectStartTime = selectFuncStruct!.startTs! + (window as any).recordStartNS; - let selectEndTime = selectFuncStruct!.startTs! + selectFuncStruct!.dur! + (window as any).recordStartNS; + // @ts-ignore + let selectStartTime = selectFuncStruct!.startTs! + (window as unknown).recordStartNS; + // @ts-ignore + let selectEndTime = selectFuncStruct!.startTs! + selectFuncStruct!.dur! + (window as unknown).recordStartNS; if (!isClick) { selectStartTime = framesParam.recordStartNs + framesParam.leftNs; selectEndTime = framesParam.recordStartNs + framesParam.rightNs; @@ -389,7 +391,8 @@ export class TabPaneTaskFrames extends BaseElement { let returnTask = SpSystemTrace.DATA_TASK_POOL_CALLSTACK.get(value.returnTaskRow!); let tempTask: TaskTabStruct = new TaskTabStruct(); let executeStartTime = executeTask!.ts!; - let executeTime = executeTask!.dur! === -1 ? (window as any).recordEndNS - executeTask!.ts : executeTask!.dur; + // @ts-ignore + let executeTime = executeTask!.dur! === -1 ? (window as unknown).recordEndNS - executeTask!.ts : executeTask!.dur; let allocationStartTime = allocationTask!.ts!; let returnEndTime = 0; if (returnTask) { diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts index d63af5319..04bcbd4e3 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts @@ -75,7 +75,8 @@ export class TabPaneDmaSelectVmTracker extends BaseElement { item.expTaskComm = SpSystemTrace.DATA_DICT.get(item.expTaskComm as number) || '-'; item.timeStamp = ns2s(item.startNs); item.sizes = Utils.getBinaryByteWithUnit(item.size); - this.damClickTable!.getItemTextColor = (item: Dma): any => { + // @ts-ignore + this.damClickTable!.getItemTextColor = (item: Dma): unknown => { if (item.flag === 1) { return '#d4b550'; } else if (item.flag === 2) { @@ -131,24 +132,35 @@ export class TabPaneDmaSelectVmTracker extends BaseElement { `; } - private compareValues(a: any, b: any, sort: number): number { + private compareValues(a: unknown, b: unknown, sort: number): number { if (sort === 1) { + // @ts-ignore return a > b ? 1 : a < b ? -1 : 0; } else { + // @ts-ignore return a < b ? 1 : a > b ? -1 : 0; } } sortDmaByColumn(column: string, sort: number): void { - const comparisonFunctions: { [key: string]: (a: any, b: any) => number } = { + const comparisonFunctions: { [key: string]: (a: unknown, b: unknown) => number } = { + // @ts-ignore startNs: (a, b) => this.compareValues(a.startNs, b.startNs, sort), + // @ts-ignore expTaskComm: (a, b) => this.compareValues(`${a.expTaskComm}`, `${b.expTaskComm}`, sort), + // @ts-ignore fd: (a, b) => this.compareValues(a.fd, b.fd, sort), + // @ts-ignore size: (a, b) => this.compareValues(a.size, b.size, sort), + // @ts-ignore ino: (a, b) => this.compareValues(a.ino, b.ino, sort), + // @ts-ignore expPid: (a, b) => this.compareValues(a.expPid, b.expPid, sort), + // @ts-ignore flag: (a, b) => this.compareValues(a.flag, b.flag, sort), + // @ts-ignore bufName: (a, b) => this.compareValues(`${a.bufName}`, `${b.bufName}`, sort), + // @ts-ignore expName: (a, b) => this.compareValues(`${a.expName}`, `${b.expName}`, sort), }; diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaVmTracker.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaVmTracker.ts index 6644a5331..ad7754458 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaVmTracker.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaVmTracker.ts @@ -29,9 +29,11 @@ export class TabPaneDmaVmTracker extends BaseElement { private tableThead: HTMLDivElement | undefined | null; private dmaTimeRange: HTMLDivElement | undefined | null; - set data(dmaValue: SelectionParam | any) { + set data(dmaValue: SelectionParam | unknown) { + // @ts-ignore if (dmaValue.dmaVmTrackerData.length > 0) { this.dmaTimeRange!.textContent = + // @ts-ignore 'Selected range: ' + ((dmaValue.rightNs - dmaValue.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.dmaTbl!.loading = true; this.queryDataByDB(dmaValue); @@ -67,9 +69,11 @@ export class TabPaneDmaVmTracker extends BaseElement { } } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { getTabDmaVmTrackerData( + // @ts-ignore val.leftNs, + // @ts-ignore val.rightNs, MemoryConfig.getInstance().iPid, (MemoryConfig.getInstance().interval * 1000000) / 5 diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuMemoryVmTracker.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuMemoryVmTracker.ts index 8e5e96796..5eea8e97b 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuMemoryVmTracker.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuMemoryVmTracker.ts @@ -31,9 +31,11 @@ export class TabPaneGpuMemoryVmTracker extends BaseElement { private gpuMemoryTimeRange: HTMLDivElement | undefined | null; private total: GpuMemory = new GpuMemory(); - set data(gpuMemoryValue: SelectionParam | any) { + set data(gpuMemoryValue: SelectionParam | unknown) { + // @ts-ignore if (gpuMemoryValue.gpuMemoryTrackerData.length > 0) { this.gpuMemoryTimeRange!.textContent = + // @ts-ignore 'Selected range: ' + ((gpuMemoryValue.rightNs - gpuMemoryValue.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.gpuMemoryTableTbl!.loading = true; this.queryDataByDB(gpuMemoryValue); @@ -56,9 +58,11 @@ export class TabPaneGpuMemoryVmTracker extends BaseElement { resizeObserver(this.parentElement!, this.gpuMemoryTableTbl!); } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { getTabGpuMemoryData( + // @ts-ignore val.leftNs, + // @ts-ignore val.rightNs, MemoryConfig.getInstance().iPid, MemoryConfig.getInstance().snapshotDur diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuResourceVmTracker.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuResourceVmTracker.ts index 163954dc4..638ae072d 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuResourceVmTracker.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneGpuResourceVmTracker.ts @@ -23,7 +23,7 @@ import { queryGpuResourceTabData } from '../../../../database/sql/Gpu.sql'; @element('tabpane-gpu-resource') export class TabPaneGpuResourceVmTracker extends BaseElement { private gpuResourceTable: LitTable | undefined | null; - private gpuResourceDataSource: Array = []; + private gpuResourceDataSource: Array = []; set data(startNs: number) { this.gpuResourceDataSource = []; @@ -46,7 +46,8 @@ export class TabPaneGpuResourceVmTracker extends BaseElement { } this.gpuResourceDataSource.unshift( { name: 'TimeStamp', size: ns2s(startNs) }, - { name: 'TimeStamp(Absolute)', size: (startNs + (window as any).recordStartNS) / 1000000000 }, + // @ts-ignore + { name: 'TimeStamp(Absolute)', size: (startNs + (window as unknown).recordStartNS) / 1000000000 }, { name: 'Total', size: getByteWithUnit(totalSize) } ); } diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts index 27704e5e4..c88f702e6 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts @@ -34,23 +34,27 @@ export class TabPanePurgPinComparisonVM extends BaseElement { this.filterEl = this.shadowRoot!.querySelector('#filter'); this.selectEl = this.filterEl?.shadowRoot?.querySelector('lit-select'); } - public totalData(data: SelectionParam | any, dataList: any): void { + public totalData(data: SelectionParam | unknown, dataList: unknown): void { //@ts-ignore this.purgeablePinTables?.shadowRoot?.querySelector('.table')?.style?.height = `${ this.parentElement!.clientHeight - 45 }px`; this.purgeablePinSource = []; - let fileArr: any[] = []; + let fileArr: unknown[] = []; + // @ts-ignore for (let fileData of dataList) { + // @ts-ignore if (fileData.startNs !== data.startNs) { fileArr.push(fileData); } } fileArr = fileArr.sort(); + // @ts-ignore this.initSelect(data.startNs, fileArr); + // @ts-ignore this.updateComparisonData(data.startNs, fileArr[0].startNs); } - private initSelect(fileStartNs: number, purgePinComVmList: Array): void { + private initSelect(fileStartNs: number, purgePinComVmList: Array): void { let that = this; let input = this.selectEl!.shadowRoot?.querySelector('input') as HTMLInputElement; this.selectEl!.innerHTML = ''; @@ -58,19 +62,26 @@ export class TabPanePurgPinComparisonVM extends BaseElement { option.innerHTML = 'File Name'; option.setAttribute('disabled', 'disabled'); this.selectEl?.appendChild(option); + // @ts-ignore if (purgePinComVmList[0].name) { + // @ts-ignore option.setAttribute('value', purgePinComVmList[0].name); } + // @ts-ignore this.selectEl!.defaultValue = purgePinComVmList[0].name; + // @ts-ignore this.selectEl!.placeholder = purgePinComVmList[0].name; this.selectEl!.dataSource = purgePinComVmList; this.selectEl!.querySelectorAll('lit-select-option').forEach((a) => { - a.addEventListener('onSelected', (e: any) => { + a.addEventListener('onSelected', (e: unknown) => { for (let f of purgePinComVmList) { + // @ts-ignore if (input.value === f.name) { + // @ts-ignore that.updateComparisonData(fileStartNs, f.startNs); } } + // @ts-ignore e.stopPropagation(); }); }); @@ -85,7 +96,7 @@ export class TabPanePurgPinComparisonVM extends BaseElement { this.purgeablePinTables!.recycleDataSource = []; } } - private async queryPinVMData(baseTime: number, targetTime: number): Promise { + private async queryPinVMData(baseTime: number, targetTime: number): Promise { let delta = { purgPinDelta: '0Bytes', shmPurgPinDelta: '0Bytes', diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts index 4bcad116a..a0b58ef57 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts @@ -36,24 +36,28 @@ export class TabPanePurgTotalComparisonVM extends BaseElement { this.selectEl = this.filterEl?.shadowRoot?.querySelector('lit-select'); } - public totalData(data: SelectionParam | any, dataList: any): void { + public totalData(data: SelectionParam | unknown, dataList: unknown): void { //@ts-ignore this.purgeableTotalTables?.shadowRoot?.querySelector('.table')?.style?.height = `${ this.parentElement!.clientHeight - 45 }px`; this.purgeableTotalSource = []; - let fileArr: any[] = []; + let fileArr: unknown[] = []; + // @ts-ignore for (let file of dataList) { + // @ts-ignore if (file.startNs !== data.startNs) { fileArr.push(file); } } fileArr = fileArr.sort(); + // @ts-ignore this.initSelect(data.startNs, fileArr); + // @ts-ignore this.updateComparisonsData(data.startNs, fileArr[0].startNs); } - private initSelect(fileStartNs: number, purgeTotalComList: Array): void { + private initSelect(fileStartNs: number, purgeTotalComList: Array): void { let that = this; let input = this.selectEl!.shadowRoot?.querySelector('input') as HTMLInputElement; this.selectEl!.innerHTML = ''; @@ -61,19 +65,26 @@ export class TabPanePurgTotalComparisonVM extends BaseElement { option.innerHTML = 'File Name'; option.setAttribute('disabled', 'disabled'); this.selectEl?.appendChild(option); + // @ts-ignore if (purgeTotalComList[0].name) { + // @ts-ignore option.setAttribute('value', purgeTotalComList[0].name); } + // @ts-ignore this.selectEl!.defaultValue = purgeTotalComList[0].name; + // @ts-ignore this.selectEl!.placeholder = purgeTotalComList[0].name; this.selectEl!.dataSource = purgeTotalComList; this.selectEl!.querySelectorAll('lit-select-option').forEach((a) => { - a.addEventListener('onSelected', (e: any) => { + a.addEventListener('onSelected', (e: unknown) => { for (let f of purgeTotalComList) { + // @ts-ignore if (input.value === f.name) { + // @ts-ignore that.updateComparisonsData(fileStartNs, f.startNs); } } + // @ts-ignore e.stopPropagation(); }); }); @@ -90,7 +101,7 @@ export class TabPanePurgTotalComparisonVM extends BaseElement { } } - private async queryTotalVMData(baseTime: number, targetTime: number): Promise { + private async queryTotalVMData(baseTime: number, targetTime: number): Promise { let deltas = { purgSumDelta: '0Bytes', shmPurgDelta: '0Bytes', diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts index 64a8af42a..a52c6f505 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts @@ -25,17 +25,19 @@ import { TabPaneVmTrackerShmHtml } from './TabPaneVmTrackerShm.html'; export class TabPaneVmTrackerShm extends BaseElement { private TableEl: LitTable | undefined | null; private shmData: Array = []; - private sortArray: Array = []; + private sortArray: Array = []; private memoryConfig: MemoryConfig = MemoryConfig.getInstance(); private tabTitle: HTMLDivElement | undefined | null; private range: HTMLLabelElement | null | undefined; - set data(valVmTrackerShm: SelectionParam | any) { + set data(valVmTrackerShm: SelectionParam | unknown) { + // @ts-ignore if (valVmTrackerShm.vmtrackershm.length > 0) { this.init(); this.clear(); this.range!.textContent = 'Selected range: ' + + // @ts-ignore parseFloat(((valVmTrackerShm.rightNs - valVmTrackerShm.leftNs) / 1000000.0).toFixed(5)) + ' ms'; this.queryDataByDB(valVmTrackerShm); @@ -52,9 +54,11 @@ export class TabPaneVmTrackerShm extends BaseElement { }); } - queryDataByDB(srVal: SelectionParam | any): void { + queryDataByDB(srVal: SelectionParam | unknown): void { queryVmTrackerShmSizeData( + // @ts-ignore srVal.leftNs, + // @ts-ignore srVal.rightNs, this.memoryConfig.iPid, (MemoryConfig.getInstance().interval * 1000_000) / 5 @@ -100,28 +104,31 @@ export class TabPaneVmTrackerShm extends BaseElement { switch (column) { case 'time': this.TableEl!.snapshotDataSource = this.sortArray.sort((leftStartNS, rightStartNS) => { - return sort === 1 - ? leftStartNS.startNS - rightStartNS.startNS - : rightStartNS.startNS - leftStartNS.startNS; + // @ts-ignore + return sort === 1 ? leftStartNS.startNS - rightStartNS.startNS : rightStartNS.startNS - leftStartNS.startNS; }); break; case 'flag': this.TableEl!.snapshotDataSource = this.sortArray.sort((leftFlag, rightFlag) => { + // @ts-ignore return sort === 1 ? leftFlag.flag - rightFlag.flag : rightFlag.flag - leftFlag.flag; }); break; case 'minSizeStr': this.TableEl!.snapshotDataSource = this.sortArray.sort((leftMin, rightMin) => { + // @ts-ignore return sort === 1 ? leftMin.min - rightMin.min : rightMin.min - leftMin.min; }); break; case 'avgSizeStr': this.TableEl!.snapshotDataSource = this.sortArray.sort((leftAvg, rightAvg) => { + // @ts-ignore return sort === 1 ? leftAvg.avg - rightAvg.avg : rightAvg.avg - leftAvg.avg; }); break; case 'maxSizeStr': this.TableEl!.snapshotDataSource = this.sortArray.sort((leftMax, rightMax) => { + // @ts-ignore return sort === 1 ? leftMax.max - rightMax.max : rightMax.max - leftMax.max; }); break; diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmComparison.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmComparison.ts index 6cd5754b1..468574b07 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmComparison.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmComparison.ts @@ -30,9 +30,9 @@ export class TabPaneVmTrackerShmComparison extends BaseElement { private comparisonTableEl: LitTable | undefined | null; private baseFileTs: number | undefined | null; private targetFileTs: number | undefined | null; - private comparisonData!: any[]; - private baseFileData: Array = []; - private targetFileData: Array = []; + private comparisonData!: unknown[]; + private baseFileData: Array = []; + private targetFileData: Array = []; private memoryConfig: MemoryConfig = MemoryConfig.getInstance(); private selectEl: LitSelect | undefined | null; private filterEl: TabPaneJsMemoryFilter | undefined | null; @@ -78,18 +78,21 @@ export class TabPaneVmTrackerShmComparison extends BaseElement { let sizeData = this.calSizeObj(this.baseFileData, this.targetFileData); this.comparisonData = []; this.comparisonData.push(sizeData); + // @ts-ignore this.comparisonSource = this.comparisonData; this.comparisonTableEl!.snapshotDataSource = this.comparisonData; } - calSizeObj(baseFileData: Array, targetFileData: Array): ShmObj { + calSizeObj(baseFileData: Array, targetFileData: Array): ShmObj { let sizeObj = new ShmObj(); let baseSumSize = 0; let targetSumSize = 0; for (let file of baseFileData) { + // @ts-ignore baseSumSize += file.size; } for (let file of targetFileData) { + // @ts-ignore targetSumSize += file.size; } sizeObj.sizeDelta = baseSumSize - targetSumSize; diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts index a39dd696d..7300c245f 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts @@ -25,7 +25,7 @@ import { TabPaneVmTrackerShmSelectionHtml } from './TabPaneVmTrackerShmSelection @element('tabpane-vmtracker-shm-selection') export class TabPaneVmTrackerShmSelection extends BaseElement { private TableEl: LitTable | undefined | null; - private shmData: Array = []; + private shmData: Array = []; private memoryConfig: MemoryConfig = MemoryConfig.getInstance(); private tabTitle: HTMLDivElement | undefined | null; @@ -51,7 +51,8 @@ export class TabPaneVmTrackerShmSelection extends BaseElement { filter.name = SpSystemTrace.DATA_DICT.get(filter.name)?.split('/'); filter.ts = ns2s(filter.startNS); filter.sizeStr = Utils.getBinaryByteWithUnit(filter.size); - this.TableEl!.getItemTextColor = (filter): any => { + // @ts-ignore + this.TableEl!.getItemTextColor = (filter): unknown => { if (filter.flag === 1) { return '#d4b550'; } else if (filter.flag === 2) { @@ -84,25 +85,37 @@ export class TabPaneVmTrackerShmSelection extends BaseElement { } } - private compareValues(a: any, b: any, sort: number): number { + private compareValues(a: unknown, b: unknown, sort: number): number { if (sort === 1) { + // @ts-ignore return a > b ? 1 : a < b ? -1 : 0; } else { + // @ts-ignore return a < b ? 1 : a > b ? -1 : 0; } } sortByColumn(column: string, sort: number): void { - const comparisonFunctions: { [key: string]: (a: any, b: any) => number } = { + const comparisonFunctions: { [key: string]: (a: unknown, b: unknown) => number } = { + // @ts-ignore ts: (a, b) => this.compareValues(a.startNS, b.startNS, sort), + // @ts-ignore fd: (a, b) => this.compareValues(a.fd, b.fd, sort), + // @ts-ignore sizeStr: (a, b) => this.compareValues(a.size, b.size, sort), + // @ts-ignore adj: (a, b) => this.compareValues(a.adj, b.adj, sort), + // @ts-ignore name: (a, b) => this.compareValues(a.name, b.name, sort), + // @ts-ignore id: (a, b) => this.compareValues(a.id, b.id, sort), + // @ts-ignore time: (a, b) => this.compareValues(a.time, b.time, sort), + // @ts-ignore count: (a, b) => this.compareValues(a.count, b.count, sort), + // @ts-ignore purged: (a, b) => this.compareValues(a.purged, b.purged, sort), + // @ts-ignore flag: (a, b) => this.compareValues(a.flag, b.flag, sort), }; -- Gitee From d24940469c87015668c1fa14a132e9fb2a2e4162 Mon Sep 17 00:00:00 2001 From: wangyujie Date: Thu, 18 Apr 2024 16:33:22 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=A7=A3=E9=99=A4=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyujie --- .../base-ui/chart/pagenation/PageNation.ts | 143 +++++----- .../base-ui/chart/pagenation/PaginationBox.ts | 2 +- ide/src/base-ui/chart/pie/LitChartPie.ts | 42 +-- .../base-ui/chart/pie/LitChartPieConfig.ts | 8 +- ide/src/base-ui/drawer/LitDrawer.ts | 18 +- ide/src/base-ui/menu/LitMainMenu.ts | 64 ++--- ide/src/base-ui/popover/LitPopoverV.ts | 30 +- ide/src/base-ui/select/LitAllocationSelect.ts | 30 +- ide/src/base-ui/select/LitSelect.ts | 250 ++++++++--------- ide/src/trace/SpApplication.ts | 2 +- ide/src/trace/component/SpRecordTrace.ts | 2 +- .../trace/component/chart/SpChartManager.ts | 34 +-- ide/src/trace/component/chart/SpClockChart.ts | 32 +-- ide/src/trace/component/chart/SpCpuChart.ts | 26 +- ide/src/trace/component/chart/SpFreqChart.ts | 1 + .../trace/component/chart/SpProcessChart.ts | 1 + .../schedulingAnalysis/TabCpuAnalysis.ts | 6 +- .../TabCpuDetailsFrequency.ts | 18 +- .../schedulingAnalysis/TabCpuDetailsIdle.ts | 18 +- .../schedulingAnalysis/TabCpuDetailsIrq.ts | 21 +- .../TabCpuDetailsThreads.ts | 18 +- .../Top20FrequencyThread.ts | 12 +- .../Top20ProcessSwitchCount.ts | 9 +- .../Top20ProcessThreadCount.ts | 9 +- .../sheet/ark-ts/TabPaneJsCpuStatistics.ts | 7 +- .../sheet/file-system/TabPaneCallTree.ts | 222 +++++++-------- .../file-system/TabPaneFileSystemCalltree.ts | 258 +++++++++--------- .../TabPaneFileSystemDescHistory.ts | 50 ++-- .../TabPaneFileSystemDescTimeSlice.ts | 28 +- .../file-system/TabPaneFileSystemEvents.ts | 40 +-- .../TabPaneFilesystemStatistics.ts | 150 +++++----- .../TabPaneFilesystemStatisticsAnalysis.ts | 246 +++++++++-------- .../file-system/TabPaneIOTierStatistics.ts | 177 +++++++----- .../TabPaneIOTierStatisticsAnalysis.ts | 224 ++++++++------- .../file-system/TabPaneIoCompletionTimes.ts | 46 ++-- .../sheet/file-system/TabPaneVMEvents.ts | 54 ++-- .../TabPaneVirtualMemoryStatisticsAnalysis.ts | 252 ++++++++--------- .../component/trace/sheet/fps/TabPaneFps.ts | 8 +- .../trace/sheet/freq/TabPaneCpuFreqLimits.ts | 32 ++- .../component/trace/sheet/freq/TabPaneFreq.ts | 9 +- .../trace/sheet/freq/TabPaneFreqLimit.ts | 10 +- .../trace/sheet/gpu/TabPaneGpuClickSelect.ts | 26 +- .../gpu/TabPaneGpuClickSelectComparison.ts | 7 +- .../component/trace/sheet/gpu/TabPaneGpuGL.ts | 15 +- .../sheet/gpu/TabPaneGpuTotalBoxSelect.ts | 14 +- .../sheet/gpu/TabPaneGpuWindowBoxSelect.ts | 14 +- .../component/trace/sheet/gpu/TabPaneGraph.ts | 6 +- .../trace/sheet/hilog/TabPaneHiLogs.ts | 3 +- .../trace/sheet/hiperf/TabPanePerfAnalysis.ts | 184 ++++++++++--- .../TabPaneNMStatisticAnalysis.ts | 81 ++++-- .../sheet/smaps/TabPaneSmapsComparison.ts | 30 +- 51 files changed, 1649 insertions(+), 1340 deletions(-) diff --git a/ide/src/base-ui/chart/pagenation/PageNation.ts b/ide/src/base-ui/chart/pagenation/PageNation.ts index 5f64d54b1..a915f7912 100644 --- a/ide/src/base-ui/chart/pagenation/PageNation.ts +++ b/ide/src/base-ui/chart/pagenation/PageNation.ts @@ -14,19 +14,19 @@ */ export class PageNation { - element: any; - pageInfo: any; - first: any; - prev: any; - next: any; - last: any; - inputBox: any; - btn: any; - list: any; + element: unknown; + pageInfo: unknown; + first: unknown; + prev: unknown; + next: unknown; + last: unknown; + inputBox: unknown; + btn: unknown; + list: unknown; origin: HTMLElement | undefined; static BtnBackColor = '#6C9BFA'; static BtnColor = '#fff'; - constructor(selector: any, options = {}) { + constructor(selector: unknown, options = {}) {// @ts-ignore selector!.innerHTML = ''; //最大容器 this.element = selector; @@ -54,30 +54,37 @@ export class PageNation { this.bindPageEvent(); } - setPageOptions(options: any): void { + setPageOptions(options: unknown): void { // 当前页 + // @ts-ignore this.pageInfo.current = options.current || 1; // 一页显示多少条 - this.pageInfo.pageSize = options.pageSize || 15; + // @ts-ignore + this.pageInfo.pageSize = options.pageSize || 15;// @ts-ignore if (options.totalpage) { //用户传递了多少页 + // @ts-ignore this.pageInfo.totalpage = options.totalpage; } else { //没有传递多少页 + // @ts-ignore if (options.total) { // 如果传递了总条数 + // @ts-ignore this.pageInfo.totalpage = Math.ceil(options.total / this.pageInfo.pageSize); } else { // 如果没有传递总条数 + // @ts-ignore this.pageInfo.totalpage = 9; } - } + }// @ts-ignore this.pageInfo.first = options.first || '<<'; + // @ts-ignore this.pageInfo.change = options.change || function (): void {}; } - setElementStyles(ele: any, styles: any): void { - for (let key in styles) { + setElementStyles(ele: unknown, styles: unknown): void {// @ts-ignore + for (let key in styles) {// @ts-ignore ele.style[key] = styles[key]; } } @@ -93,7 +100,7 @@ export class PageNation { createElement(jumpDiv: HTMLElement): void { // Create input field - this.inputBox = document.createElement('input'); + this.inputBox = document.createElement('input');// @ts-ignore this.inputBox.value = this.pageInfo.current; this.setElementStyles(this.inputBox, { width: '35px', @@ -103,7 +110,7 @@ export class PageNation { padding: '0', border: '0', 'border-radius': '5px', - }); + });// @ts-ignore jumpDiv.appendChild(this.inputBox); let span = document.createElement('span'); span.style.width = '1px'; @@ -112,8 +119,8 @@ export class PageNation { span.style.backgroundColor = '#999999'; jumpDiv.appendChild(span); // Create button - this.btn = document.createElement('button'); - this.btn.innerText = ''; + this.btn = document.createElement('button');// @ts-ignore + this.btn.innerText = '';// @ts-ignore this.btn.name = 'goto'; this.setElementStyles(this.btn, { height: '32px', @@ -122,10 +129,10 @@ export class PageNation { backgroundColor: '#FFF', border: '0', 'border-radius': '5px', - }); - this.btn.style.background = 'url("img/arrowright.png") no-repeat 98% center var(--dark-background3,#FFFFFF)'; - this.btn.style.backgroundPosition = 'center'; - jumpDiv.appendChild(this.btn); + });// @ts-ignore + this.btn.style.background = 'url("img/arrowright.png") no-repeat 98% center var(--dark-background3,#FFFFFF)';// @ts-ignore + this.btn.style.backgroundPosition = 'center';// @ts-ignore + jumpDiv.appendChild(this.btn);// @ts-ignore this.element.appendChild(jumpDiv); } @@ -140,33 +147,33 @@ export class PageNation { cursor: 'pointer', margin: '0 5px', }); - this.first = this.origin.cloneNode(true); - this.first.innerText = this.pageInfo.first; - this.first.name = 'first'; + this.first = this.origin.cloneNode(true);// @ts-ignore + this.first.innerText = this.pageInfo.first;// @ts-ignore + this.first.name = 'first';// @ts-ignore this.element.appendChild(this.first); - this.prev = this.origin.cloneNode(true); - this.prev.innerText = '<'; - this.prev.name = 'prev'; - this.prev.style.padding = '5px 10px'; + this.prev = this.origin.cloneNode(true);// @ts-ignore + this.prev.innerText = '<';// @ts-ignore + this.prev.name = 'prev';// @ts-ignore + this.prev.style.padding = '5px 10px';// @ts-ignore this.element.appendChild(this.prev); // 创建ul this.list = document.createElement('ul'); this.setElementStyles(this.list, { display: 'flex', padding: '0', - }); + });// @ts-ignore this.element.appendChild(this.list); - this.next = this.origin.cloneNode(true); - this.next.innerText = '>'; - this.next.name = 'next'; - this.next.style.padding = '5px 10px'; - this.next.style.margin = '0px 5px'; + this.next = this.origin.cloneNode(true);// @ts-ignore + this.next.innerText = '>';// @ts-ignore + this.next.name = 'next';// @ts-ignore + this.next.style.padding = '5px 10px';// @ts-ignore + this.next.style.margin = '0px 5px';// @ts-ignore this.element.appendChild(this.next); - this.last = this.origin.cloneNode(true); - this.last.innerText = '>>'; - this.last.name = 'last'; - this.last.style.padding = '5px'; - this.last.style.margin = '0px 5px'; + this.last = this.origin.cloneNode(true);// @ts-ignore + this.last.innerText = '>>';// @ts-ignore + this.last.name = 'last';// @ts-ignore + this.last.style.padding = '5px';// @ts-ignore + this.last.style.margin = '0px 5px';// @ts-ignore this.element.appendChild(this.last); let jumpDiv = document.createElement('div'); jumpDiv.style.display = 'flex'; @@ -180,7 +187,7 @@ export class PageNation { } // 判断首页 上一页 下一页 尾页 是否可以点击 - bindPageHtml(): void { + bindPageHtml(): void {// @ts-ignore const { current, totalpage } = this.pageInfo; const disable = { color: '#999999', cursor: 'not-allowed' }; const enable = { @@ -202,15 +209,16 @@ export class PageNation { } else { this.setElementStyles(this.next, enable); this.setElementStyles(this.last, enable); - } + }// @ts-ignore this.inputBox.value = current; //渲染的时候判断ul列表的显示情况 - this.bindPageList(); + this.bindPageList();// @ts-ignore this.pageInfo.change(this.pageInfo.current); } - bindPageList(): void { + bindPageList(): void {// @ts-ignore this.list.innerHTML = ''; // clear ul its contents + // @ts-ignore const { pageSize, current, totalpage } = this.pageInfo; //Clean the ul before each load const origin = document.createElement('li'); origin.dataset.name = 'item'; @@ -237,13 +245,13 @@ export class PageNation { this.buildLi(origin, index, current); } let span = document.createElement('span'); - span.innerText = '...'; + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let i = current - 3; i < current + 2; i++) { this.buildLi(origin, i, current); } span = document.createElement('span'); - span.innerText = '...'; + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let i = totalpage - 2; i < totalpage; i++) { this.buildLi(origin, i, current); @@ -259,7 +267,7 @@ export class PageNation { backgroundColor: PageNation.BtnBackColor, color: PageNation.BtnColor, }); - } + }// @ts-ignore this.list.appendChild(li); } @@ -271,7 +279,7 @@ export class PageNation { this.buildLi(origin, index, current); } span = document.createElement('span'); - span.innerText = '...'; + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let index = totalpage - 2; index < totalpage; index++) { this.buildLi(origin, index, current); @@ -284,7 +292,7 @@ export class PageNation { this.buildLi(origin, i, current); } span = document.createElement('span'); - span.innerText = '...'; + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let index = totalpage - 2; index < totalpage; index++) { @@ -299,7 +307,7 @@ export class PageNation { this.buildLi(origin, index, current); } span = document.createElement('span'); - span.innerText = '...'; + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let i = totalpage - 5; i < totalpage; i++) { this.buildLi(origin, i, current); @@ -314,19 +322,19 @@ export class PageNation { return false; } - nodeAppendChild(origin: HTMLElement, current: number, span: any, totalpage: number): void { + nodeAppendChild(origin: HTMLElement, current: number, span: unknown, totalpage: number): void { for (let i = 0; i < 2; i++) { this.buildLi(origin, i, current); } - span = document.createElement('span'); - span.innerText = '...'; + span = document.createElement('span');// @ts-ignore + span.innerText = '...';// @ts-ignore this.list.appendChild(span); for (let i = totalpage - 7; i < totalpage; i++) { this.buildLi(origin, i, current); } } - bindPageEvent(): void { + bindPageEvent(): void {// @ts-ignore this.element.addEventListener( 'click', (event: { @@ -339,20 +347,21 @@ export class PageNation { this.targetName(event); if (event.target.name === 'goto') { // 拿到你文本的内容 + // @ts-ignore let page = this.inputBox.value - 0; if (isNaN(page)) { page = 1; } if (page <= 1) { page = 1; - } - if (page >= this.pageInfo.totalpage) { + }// @ts-ignore + if (page >= this.pageInfo.totalpage) {// @ts-ignore page = this.pageInfo.totalpage; - } + }// @ts-ignore this.pageInfo.current = page; this.bindPageHtml(); } - if (event.target.dataset.name === 'item') { + if (event.target.dataset.name === 'item') {// @ts-ignore this.pageInfo.current = event.target.innerText - 0; this.bindPageHtml(); } @@ -367,31 +376,31 @@ export class PageNation { innerText: number; }; }): void { - if (event.target.name === 'first') { + if (event.target.name === 'first') {// @ts-ignore if (this.pageInfo.current === 1) { return; - } + }// @ts-ignore this.pageInfo.current = 1; this.bindPageHtml(); } - if (event.target.name === 'prev') { + if (event.target.name === 'prev') {// @ts-ignore if (this.pageInfo.current === 1) { return; - } + }// @ts-ignore this.pageInfo.current--; this.bindPageHtml(); } - if (event.target.name === 'next') { + if (event.target.name === 'next') {// @ts-ignore if (this.pageInfo.current === this.pageInfo.totalpage) { return; - } + }// @ts-ignore this.pageInfo.current++; this.bindPageHtml(); } - if (event.target.name === 'last') { + if (event.target.name === 'last') {// @ts-ignore if (this.pageInfo.current === this.pageInfo.totalpage) { return; - } + }// @ts-ignore this.pageInfo.current = this.pageInfo.totalpage; this.bindPageHtml(); } diff --git a/ide/src/base-ui/chart/pagenation/PaginationBox.ts b/ide/src/base-ui/chart/pagenation/PaginationBox.ts index 8b9740950..b96ba1a42 100644 --- a/ide/src/base-ui/chart/pagenation/PaginationBox.ts +++ b/ide/src/base-ui/chart/pagenation/PaginationBox.ts @@ -17,7 +17,7 @@ import { BaseElement, element } from '../../BaseElement'; @element('pagination-box') export class PaginationBox extends BaseElement { - private paginationBoxPage: any; + private paginationBoxPage: unknown; static get observedAttributes(): string[] { return ['text', 'height', 'width']; diff --git a/ide/src/base-ui/chart/pie/LitChartPie.ts b/ide/src/base-ui/chart/pie/LitChartPie.ts index cdf863232..258a87188 100644 --- a/ide/src/base-ui/chart/pie/LitChartPie.ts +++ b/ide/src/base-ui/chart/pie/LitChartPie.ts @@ -27,10 +27,10 @@ interface Rectangle { } class Sector { - id?: any; - obj?: any; - key: any; - value: any; + id?: unknown; + obj?: unknown; + key: unknown; + value: unknown; startAngle?: number; endAngle?: number; startDegree?: number; @@ -161,7 +161,7 @@ export class LitChartPie extends BaseElement { this.render(); } - set dataSource(litChartPieArr: any[]) { + set dataSource(litChartPieArr: unknown[]) { if (this.litChartPieConfig) { this.litChartPieConfig.data = litChartPieArr; this.measure(); @@ -171,7 +171,7 @@ export class LitChartPie extends BaseElement { showHover(): void { let hasHover = false; - this.data.forEach((it) => { + this.data.forEach((it) => {// @ts-ignore it.hover = it.obj.isHover; if (it.hover) { hasHover = true; @@ -207,31 +207,31 @@ export class LitChartPie extends BaseElement { let startDegree = 0; let full = Math.PI / 180; //每度 let fullDegree = 0; //每度 - let sum = this.litChartPieConfig.data.reduce( + let sum = this.litChartPieConfig.data.reduce(// @ts-ignore (previousValue, currentValue) => currentValue[pieCfg.angleField] + previousValue, 0 ); let labelArray: string[] = []; this.litChartPieConfig.data.forEach((pieItem, index) => { let item: Sector = { - id: `id-${Utils.uuid()}`, + id: `id-${Utils.uuid()}`,// @ts-ignore color: this.litChartPieConfig!.label.color ? this.litChartPieConfig!.label.color(pieItem) : pieChartColors[index % pieChartColors.length], - obj: pieItem, - key: pieItem[pieCfg.colorField], + obj: pieItem,// @ts-ignore + key: pieItem[pieCfg.colorField],// @ts-ignore value: pieItem[pieCfg.angleField], - startAngle: startAngle, + startAngle: startAngle,// @ts-ignore endAngle: startAngle + full * ((pieItem[pieCfg.angleField] / sum) * 360), - startDegree: startDegree, + startDegree: startDegree,// @ts-ignore endDegree: startDegree + fullDegree + (pieItem[pieCfg.angleField] / sum) * 360, ease: { - initVal: 0, + initVal: 0,// @ts-ignore step: (startAngle + full * ((pieItem[pieCfg.angleField] / sum) * 360)) / startDegree, process: true, }, }; - this.data.push(item); - startAngle += full * ((pieItem[pieCfg.angleField] / sum) * 360); - startDegree += fullDegree + (pieItem[pieCfg.angleField] / sum) * 360; + this.data.push(item);// @ts-ignore + startAngle += full * ((pieItem[pieCfg.angleField] / sum) * 360);// @ts-ignore + startDegree += fullDegree + (pieItem[pieCfg.angleField] / sum) * 360;// @ts-ignore let colorFieldValue = item.obj[pieCfg.colorField]; if (this.config?.colorFieldTransferHandler) { colorFieldValue = this.config.colorFieldTransferHandler(colorFieldValue); @@ -260,7 +260,7 @@ export class LitChartPie extends BaseElement { let degree = this.computeDegree(x, y); this.data.forEach((it) => { it.hover = degree >= it.startDegree! && degree <= it.endDegree!; - this.updateHoverItemStatus(it); + this.updateHoverItemStatus(it);// @ts-ignore it.obj.isHover = it.hover; if (it.hover && this.litChartPieConfig) { this.litChartPieConfig.hoverHandler?.(it.obj); @@ -274,7 +274,7 @@ export class LitChartPie extends BaseElement { } else { this.hideTip(); this.data.forEach((it) => { - it.hover = false; + it.hover = false;// @ts-ignore it.obj.isHover = false; this.updateHoverItemStatus(it); }); @@ -311,7 +311,7 @@ export class LitChartPie extends BaseElement { if (isPointIsCircle(0, 0, x, y, this.radius!)) { let degree = this.computeDegree(x, y); this.data.forEach((it) => { - if (degree >= it.startDegree! && degree <= it.endDegree!) { + if (degree >= it.startDegree! && degree <= it.endDegree!) {// @ts-ignore this.config?.angleClick?.(it.obj); } }); @@ -321,9 +321,9 @@ export class LitChartPie extends BaseElement { this.render(); } - updateHoverItemStatus(item: any): void { + updateHoverItemStatus(item: unknown): void {// @ts-ignore let label = this.shadowRoot!.querySelector(`#${item.id}`); - if (label) { + if (label) {// @ts-ignore (label as HTMLLabelElement).style.boxShadow = item.hover ? '0 0 5px #22ffffff' : ''; } } diff --git a/ide/src/base-ui/chart/pie/LitChartPieConfig.ts b/ide/src/base-ui/chart/pie/LitChartPieConfig.ts index 9960f1bbc..a3718e9cf 100644 --- a/ide/src/base-ui/chart/pie/LitChartPieConfig.ts +++ b/ide/src/base-ui/chart/pie/LitChartPieConfig.ts @@ -15,10 +15,10 @@ export interface LitChartPieConfig { appendPadding: number; - data: any[]; + data: unknown[]; angleField: string; colorField: string; - colorFieldTransferHandler?: (value: any) => any; + colorFieldTransferHandler?: (value: unknown) => unknown; radius: number; angleClick?: (it: object) => void; label: { @@ -31,9 +31,9 @@ export interface LitChartPieConfig { textAlign: string; }; }; - hoverHandler?: (data: any) => void; + hoverHandler?: (data: unknown) => void; showChartLine?: boolean; - tip: ((a: any) => string) | undefined; + tip: ((a: unknown) => string) | undefined; interactions: { type: string; //element-active | element-selected }[]; diff --git a/ide/src/base-ui/drawer/LitDrawer.ts b/ide/src/base-ui/drawer/LitDrawer.ts index d1c16ddf7..b4fe38e8a 100644 --- a/ide/src/base-ui/drawer/LitDrawer.ts +++ b/ide/src/base-ui/drawer/LitDrawer.ts @@ -260,7 +260,7 @@ export class LitDrawer extends BaseElement { get placement(): string | null { return this.getAttribute('placement'); } - set placement(value: any) { + set placement(value: unknown) {// @ts-ignore this.setAttribute('placement', value); } get drawerTitle(): string { @@ -273,8 +273,8 @@ export class LitDrawer extends BaseElement { get visible(): boolean { return this.getAttribute('visible') !== null; } - set visible(value: any) { - if (value) { + set visible(value: unknown) { + if (value) {// @ts-ignore this.setAttribute('visible', value); } else { this.removeAttribute('visible'); @@ -316,20 +316,20 @@ export class LitDrawer extends BaseElement { initElements(): void { let bg: HTMLDivElement | null = this.shadowRoot!.querySelector('.bg'); if (this.maskCloseable) { - bg!.onclick = (e: any): void => { + bg!.onclick = (e: unknown): void => {// @ts-ignore e.stopPropagation(); - this.visible = false; + this.visible = false;// @ts-ignore this.dispatchEvent(new CustomEvent('onClose', e)); }; } - if (this.closeable) { - (this.shadowRoot!.querySelector('.close-icon') as any).onclick = (e: any): void => { - this.visible = false; + if (this.closeable) {// @ts-ignore + (this.shadowRoot!.querySelector('.close-icon') as unknown).onclick = (e: unknown): void => { + this.visible = false;// @ts-ignore this.dispatchEvent(new CustomEvent('onClose', e)); }; } } - set onClose(fn: any) { + set onClose(fn: unknown) {// @ts-ignore this.addEventListener('onClose', fn); } //当 custom element从文档DOM中删除时,被调用。 diff --git a/ide/src/base-ui/menu/LitMainMenu.ts b/ide/src/base-ui/menu/LitMainMenu.ts index cfa1c763f..ff5cc1c44 100644 --- a/ide/src/base-ui/menu/LitMainMenu.ts +++ b/ide/src/base-ui/menu/LitMainMenu.ts @@ -127,15 +127,15 @@ export class LitMainMenu extends BaseElement { } let groupName: LitMainMenuGroup = group!.shadowRoot!.querySelector('.group-name') as LitMainMenuGroup; let groupDescribe: LitMainMenuGroup = group!.shadowRoot!.querySelector('.group-describe') as LitMainMenuGroup; - menuBody?.appendChild(group); - it.children?.forEach((item: any) => { + menuBody?.appendChild(group);// @ts-ignore + it.children?.forEach((item: unknown) => {// @ts-ignore if (item.fileModel !== undefined && item.fileModel === 'db') { return; - } + }// @ts-ignore if (item.children && item.children.length > 0) { - let secondGroup: LitMainMenuGroup = new LitMainMenuGroup(); - secondGroup.setAttribute('title', item.title || ''); - if (item.describe !== '') { + let secondGroup: LitMainMenuGroup = new LitMainMenuGroup();// @ts-ignore + secondGroup.setAttribute('title', item.title || '');// @ts-ignore + if (item.describe !== '') {// @ts-ignore secondGroup.setAttribute('describe', item.describe || ''); } else { secondGroup.removeAttribute('describe'); @@ -149,27 +149,27 @@ export class LitMainMenu extends BaseElement { } setChildren( - item: any, + item: unknown, group: LitMainMenuGroup, groupName: LitMainMenuGroup, groupDescribe: LitMainMenuGroup, secondGroup: LitMainMenuGroup - ): void { - secondGroup.setAttribute('icon', item.icon || ''); + ): void {// @ts-ignore + secondGroup.setAttribute('icon', item.icon || '');// @ts-ignore if (item.second) { secondGroup.setAttribute('second', ''); } else { secondGroup.removeAttribute('second'); - } + }// @ts-ignore if (item.collapsed) { secondGroup.setAttribute('collapsed', ''); } else { secondGroup.removeAttribute('collapsed'); } - group?.appendChild(secondGroup); - item.children?.forEach((v: any) => { - let th = new LitMainMenuItem(); - th.setAttribute('icon', v.icon || ''); + group?.appendChild(secondGroup);// @ts-ignore + item.children?.forEach((v: unknown) => { + let th = new LitMainMenuItem();// @ts-ignore + th.setAttribute('icon', v.icon || '');// @ts-ignore th.setAttribute('title', v.title || ''); if (this.getAttribute('main_menu') === '1' && window.localStorage.getItem('Theme') === 'dark') { groupName.style.color = 'white'; @@ -179,32 +179,32 @@ export class LitMainMenu extends BaseElement { groupName.style.color = 'black'; groupDescribe.style.color = 'black'; th!.style.color = 'black'; - } + }// @ts-ignore if (v.fileChoose) { th.setAttribute('file', ''); - th.addEventListener('file-change', (e) => { - if (v.fileHandler && !th.disabled) { + th.addEventListener('file-change', (e) => {// @ts-ignore + if (v.fileHandler && !th.disabled) {// @ts-ignore v.fileHandler(e); } }); } else { th.removeAttribute('file'); - th.addEventListener('click', (e) => { - if (v.clickHandler && !th.disabled) { + th.addEventListener('click', (e) => {// @ts-ignore + if (v.clickHandler && !th.disabled) {// @ts-ignore v.clickHandler(v); } }); - } - if (v.disabled !== undefined) { + }// @ts-ignore + if (v.disabled !== undefined) {// @ts-ignore th.disabled = v.disabled; } secondGroup.appendChild(th); }); } - notChildren(item: any, group: LitMainMenuGroup, groupName: LitMainMenuGroup, groupDescribe: LitMainMenuGroup): void { - let th = new LitMainMenuItem(); - th.setAttribute('icon', item.icon || ''); + notChildren(item: unknown, group: LitMainMenuGroup, groupName: LitMainMenuGroup, groupDescribe: LitMainMenuGroup): void { + let th = new LitMainMenuItem();// @ts-ignore + th.setAttribute('icon', item.icon || '');// @ts-ignore th.setAttribute('title', item.title || ''); if (this.getAttribute('main_menu') === '1' && window.localStorage.getItem('Theme') === 'dark') { groupName.style.color = 'white'; @@ -214,23 +214,23 @@ export class LitMainMenu extends BaseElement { groupName.style.color = 'black'; groupDescribe.style.color = 'black'; th!.style.color = 'black'; - } + }// @ts-ignore if (item.fileChoose) { th.setAttribute('file', ''); - th.addEventListener('file-change', (e) => { - if (item.fileHandler && !th.disabled) { + th.addEventListener('file-change', (e) => {// @ts-ignore + if (item.fileHandler && !th.disabled) {// @ts-ignore item.fileHandler(e); } }); } else { th.removeAttribute('file'); - th.addEventListener('click', (e) => { - if (item.clickHandler && !th.disabled) { + th.addEventListener('click', (e) => {// @ts-ignore + if (item.clickHandler && !th.disabled) {// @ts-ignore item.clickHandler(item); } }); - } - if (item.disabled !== undefined) { + }// @ts-ignore + if (item.disabled !== undefined) {// @ts-ignore th.disabled = item.disabled; } group?.appendChild(th); @@ -276,7 +276,7 @@ export interface MenuGroup { describe: string; second: boolean; collapsed: boolean; - children: any; + children: unknown; icon: string; } diff --git a/ide/src/base-ui/popover/LitPopoverV.ts b/ide/src/base-ui/popover/LitPopoverV.ts index 35d342204..1b847cf73 100644 --- a/ide/src/base-ui/popover/LitPopoverV.ts +++ b/ide/src/base-ui/popover/LitPopoverV.ts @@ -434,29 +434,29 @@ export class LitPopover extends BaseElement { } connectedCallback(): void { - let popover: any = this.shadowRoot!.querySelector('.popover'); - let checkbox: any = this.shadowRoot!.querySelector('.trigger-click'); - this.setAttribute('tabindex', '1'); - popover.onclick = (e: any): void => { + let popover: unknown = this.shadowRoot!.querySelector('.popover'); + let checkbox: unknown = this.shadowRoot!.querySelector('.trigger-click'); + this.setAttribute('tabindex', '1');// @ts-ignore + popover.onclick = (e: unknown): void => {// @ts-ignore e.stopPropagation(); - }; - popover.addEventListener('mousemove', (e: any) => { + };// @ts-ignore + popover.addEventListener('mousemove', (e: unknown) => {// @ts-ignore e.stopPropagation(); }); - this.onclick = (e: any): void => { - e.stopPropagation(); + this.onclick = (e: unknown): void => {// @ts-ignore + e.stopPropagation();// @ts-ignore if (e.relatedTarget?.hasAttribute('not-close')) { this.focus(); - } - checkbox.checked = !checkbox.checked; + }// @ts-ignore + checkbox.checked = !checkbox.checked;// @ts-ignore this.visible = checkbox.checked; - }; + };// @ts-ignore popover.onmouseleave = (): void => { this.focus(); }; - this.onblur = (ev: any): void => { - if (ev.relatedTarget && this.haveRadio) { - if (ev.relatedTarget.hasAttribute('not-close')) { + this.onblur = (ev: unknown): void => {// @ts-ignore + if (ev.relatedTarget && this.haveRadio) {// @ts-ignore + if (ev.relatedTarget.hasAttribute('not-close')) {// @ts-ignore } else if (ev.relatedTarget.type === 'radio') { this.focus(); } else { @@ -474,7 +474,7 @@ export class LitPopover extends BaseElement { adoptedCallback(): void {} - attributeChangedCallback(name: any, oldValue: any, newValue: any): void { + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void { if (name === 'visible') { if (newValue === 'false') { // @ts-ignore diff --git a/ide/src/base-ui/select/LitAllocationSelect.ts b/ide/src/base-ui/select/LitAllocationSelect.ts index 99e75afd1..20b543ab2 100644 --- a/ide/src/base-ui/select/LitAllocationSelect.ts +++ b/ide/src/base-ui/select/LitAllocationSelect.ts @@ -110,7 +110,7 @@ const initHtmlStyle = (height: string): string => { export class LitAllocationSelect extends BaseElement { private selectAllocationInputEl: HTMLInputElement | null | undefined; private selectAllocationInputContent: HTMLDivElement | undefined; - private selectAllocationOptions: any; + private selectAllocationOptions: unknown; private processDataList: Array = []; static get observedAttributes(): string[] { @@ -138,13 +138,13 @@ export class LitAllocationSelect extends BaseElement { } set processData(value: Array) { - this.processDataList = value; + this.processDataList = value;// @ts-ignore this.selectAllocationOptions.innerHTML = ''; value.forEach((item) => { let option = document.createElement('div'); option.className = 'option'; option.innerHTML = item; - option.style.padding = '8px 10px'; + option.style.padding = '8px 10px';// @ts-ignore this.selectAllocationOptions.appendChild(option); this.selectAllocationInputEl?.focus(); }); @@ -170,12 +170,12 @@ export class LitAllocationSelect extends BaseElement { this.setAttribute('list-height', value); } - attributeChangedCallback(name: any, oldValue: any, newValue: any): void { + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void { switch (name) { - case 'value': + case 'value':// @ts-ignore this.selectAllocationInputEl!.value = newValue; break; - case 'placeholder': + case 'placeholder':// @ts-ignore this.selectAllocationInputEl!.placeholder = newValue; break; } @@ -183,17 +183,17 @@ export class LitAllocationSelect extends BaseElement { initElements(): void { this.selectAllocationInputContent = this.shadowRoot!.querySelector('.multipleSelect') as HTMLDivElement; - this.addEventListener('click', () => { - if (this.selectAllocationOptions.style.visibility === 'visible') { - this.selectAllocationOptions.style.visibility = 'hidden'; + this.addEventListener('click', () => {// @ts-ignore + if (this.selectAllocationOptions.style.visibility === 'visible') {// @ts-ignore + this.selectAllocationOptions.style.visibility = 'hidden';// @ts-ignore this.selectAllocationOptions.style.opacity = '0'; } else { this.showProcessList(); } this.selectAllocationInputContent!.dispatchEvent(new CustomEvent('inputClick', {})); }); - this.addEventListener('focusout', (e) => { - this.selectAllocationOptions.style.visibility = 'hidden'; + this.addEventListener('focusout', (e) => {// @ts-ignore + this.selectAllocationOptions.style.visibility = 'hidden';// @ts-ignore this.selectAllocationOptions.style.opacity = '0'; }); this.initData(); @@ -201,8 +201,8 @@ export class LitAllocationSelect extends BaseElement { showProcessList(): void { setTimeout(() => { - if (this.processDataList.length > 0) { - this.selectAllocationOptions.style.visibility = 'visible'; + if (this.processDataList.length > 0) {// @ts-ignore + this.selectAllocationOptions.style.visibility = 'visible';// @ts-ignore this.selectAllocationOptions.style.opacity = '1'; } }, 200); @@ -258,8 +258,8 @@ export class LitAllocationSelect extends BaseElement { }) ); }); - a.addEventListener('onSelected', (e: any) => { - this.selectAllocationInputEl!.value = e.detail.text; + a.addEventListener('onSelected', (e: unknown) => {// @ts-ignore + this.selectAllocationInputEl!.value = e.detail.text;// @ts-ignore this.value = e.detail.text; this.selectAllocationInputContent!.dispatchEvent(new CustomEvent('valuable', {})); }); diff --git a/ide/src/base-ui/select/LitSelect.ts b/ide/src/base-ui/select/LitSelect.ts index 19ce944da..f4e0e758c 100644 --- a/ide/src/base-ui/select/LitSelect.ts +++ b/ide/src/base-ui/select/LitSelect.ts @@ -19,16 +19,16 @@ import { LitSelectOption } from './LitSelectOption'; @element('lit-select') export class LitSelect extends BaseElement { - private focused: any; - private selectInputEl: any; + private focused: unknown; + private selectInputEl: unknown; private selectSearchInputEl: HTMLInputElement | null | undefined; private selectOptions: HTMLDivElement | null | undefined; private selectItem: string = ''; - private selectClearEl: any; - private selectIconEl: any; - private bodyEl: any; - private selectSearchEl: any; - private selectMultipleRootEl: any; + private selectClearEl: unknown; + private selectIconEl: unknown; + private bodyEl: unknown; + private selectSearchEl: unknown; + private selectMultipleRootEl: unknown; static get observedAttributes(): string[] { return [ @@ -161,18 +161,18 @@ export class LitSelect extends BaseElement { this.selectItem = item; } - set dataSource(selectDataSource: any) { - this.innerHTML = ''; - if (selectDataSource.length > 0) { + set dataSource(selectDataSource: unknown) { + this.innerHTML = '';// @ts-ignore + if (selectDataSource.length > 0) {// @ts-ignore this.bodyEl!.style.display = 'flex'; - this.querySelectorAll('lit-select-option').forEach((a) => this.removeChild(a)); - selectDataSource.forEach((dateSourceBean: any) => { - let selectOption = document.createElement('lit-select-option'); - if (dateSourceBean.name) { - selectOption.textContent = dateSourceBean.name; + this.querySelectorAll('lit-select-option').forEach((a) => this.removeChild(a));// @ts-ignore + selectDataSource.forEach((dateSourceBean: unknown) => { + let selectOption = document.createElement('lit-select-option');// @ts-ignore + if (dateSourceBean.name) {// @ts-ignore + selectOption.textContent = dateSourceBean.name;// @ts-ignore selectOption.setAttribute('value', dateSourceBean.name); - } else if (dateSourceBean) { - selectOption.textContent = dateSourceBean; + } else if (dateSourceBean) {// @ts-ignore + selectOption.textContent = dateSourceBean;// @ts-ignore selectOption.setAttribute('value', dateSourceBean); if ( this.selectItem !== '' && @@ -180,13 +180,13 @@ export class LitSelect extends BaseElement { this.selectItem === selectOption.textContent ) { selectOption.setAttribute('selected', ''); - } + }// @ts-ignore this.selectInputEl!.value = ''; } this.append(selectOption); }); this.initOptions(); - } else { + } else {// @ts-ignore this.bodyEl!.style.display = 'none'; } } @@ -239,30 +239,30 @@ export class LitSelect extends BaseElement { return this.hasAttribute('mode') && this.getAttribute('mode') === 'multiple'; } - newTag(value: any, text: any): HTMLDivElement { - let tag: any = document.createElement('div'); - let icon: any = document.createElement('lit-icon'); - icon.classList.add('tag-close'); + newTag(value: unknown, text: unknown): HTMLDivElement { + let tag: unknown = document.createElement('div'); + let icon: unknown = document.createElement('lit-icon');// @ts-ignore + icon.classList.add('tag-close');// @ts-ignore icon.name = 'close'; - let span = document.createElement('span'); - tag.classList.add('tag'); - span.dataset['value'] = value; - span.textContent = text; - tag.append(span); - tag.append(icon); - icon.onclick = (ev: any): void => { + let span = document.createElement('span');// @ts-ignore + tag.classList.add('tag');// @ts-ignore + span.dataset['value'] = value;// @ts-ignore + span.textContent = text;// @ts-ignore + tag.append(span);// @ts-ignore + tag.append(icon);// @ts-ignore + icon.onclick = (ev: unknown): void => {// @ts-ignore tag.parentElement.removeChild(tag); this.querySelector(`lit-select-option[value=${value}]`)!.removeAttribute('selected'); - if (this.shadowRoot!.querySelectorAll('.tag').length === 0) { - this.selectInputEl.style.width = 'auto'; + if (this.shadowRoot!.querySelectorAll('.tag').length === 0) {// @ts-ignore + this.selectInputEl.style.width = 'auto';// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; - } + }// @ts-ignore ev.stopPropagation(); - }; - tag.value = value; - tag.dataset['value'] = value; - tag.text = text; - tag.dataset['text'] = text; + };// @ts-ignore + tag.value = value;// @ts-ignore + tag.dataset['value'] = value;// @ts-ignore + tag.text = text;// @ts-ignore + tag.dataset['text'] = text;// @ts-ignore return tag; } @@ -277,23 +277,23 @@ export class LitSelect extends BaseElement { this.selectMultipleRootEl = this.shadowRoot!.querySelector('.multipleRoot'); this.selectOptions = this.shadowRoot!.querySelector('.body-opt') as HTMLDivElement; this.setEventClick(); - this.setEvent(); - this.selectInputEl.onblur = (ev: any): void => { + this.setEvent();// @ts-ignore + this.selectInputEl.onblur = (ev: unknown): void => { if (this.hasAttribute('disabled')) { return; } if (this.isMultiple()) { - if (this.hasAttribute('show-search')) { - this.selectSearchEl.style.display = 'none'; + if (this.hasAttribute('show-search')) {// @ts-ignore + this.selectSearchEl.style.display = 'none';// @ts-ignore this.selectIconEl.style.display = 'flex'; } - } else { - if (this.selectInputEl.placeholder !== this.defaultPlaceholder) { - this.selectInputEl.value = this.selectInputEl.placeholder; + } else {// @ts-ignore + if (this.selectInputEl.placeholder !== this.defaultPlaceholder) {// @ts-ignore + this.selectInputEl.value = this.selectInputEl.placeholder;// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; } - if (this.hasAttribute('show-search')) { - this.selectSearchEl.style.display = 'none'; + if (this.hasAttribute('show-search')) {// @ts-ignore + this.selectSearchEl.style.display = 'none';// @ts-ignore this.selectIconEl.style.display = 'flex'; } } @@ -302,66 +302,66 @@ export class LitSelect extends BaseElement { this.setOnkeydown(); } - setOninput(): void { - this.selectInputEl.oninput = (ev: any): void => { + setOninput(): void {// @ts-ignore + this.selectInputEl.oninput = (ev: unknown): void => { let els: Element[] = [...this.querySelectorAll('lit-select-option')]; - if (this.hasAttribute('show-search')) { - if (!ev.target.value) { - els.forEach((a: any) => (a.style.display = 'flex')); + if (this.hasAttribute('show-search')) {// @ts-ignore + if (!ev.target.value) {// @ts-ignore + els.forEach((a: unknown) => (a.style.display = 'flex')); } else { this.setSelectItem(els, ev); } - } else { + } else {// @ts-ignore this.value = ev.target.value; } }; } - setSelectItem(els: Element[], ev: any): void { - els.forEach((a: any) => { + setSelectItem(els: Element[], ev: unknown): void { + els.forEach((a: unknown) => {// @ts-ignore let value = a.getAttribute('value'); - if ( - value.toLowerCase().indexOf(ev.target.value.toLowerCase()) !== -1 || + if (// @ts-ignore + value.toLowerCase().indexOf(ev.target.value.toLowerCase()) !== -1 ||// @ts-ignore a.textContent.toLowerCase().indexOf(ev.target.value.toLowerCase()) !== -1 - ) { + ) {// @ts-ignore a.style.display = 'flex'; - } else { + } else {// @ts-ignore a.style.display = 'none'; } }); } - setEventClick(): void { - this.selectClearEl.onclick = (ev: any): void => { + setEventClick(): void {// @ts-ignore + this.selectClearEl.onclick = (ev: unknown): void => { if (this.isMultiple()) { - let delNodes: Array = []; - this.selectMultipleRootEl.childNodes.forEach((a: any) => { + let delNodes: Array = [];// @ts-ignore + this.selectMultipleRootEl.childNodes.forEach((a: unknown) => {// @ts-ignore if (a.tagName === 'DIV') { delNodes.push(a); } }); - for (let i = 0; i < delNodes.length; i++) { + for (let i = 0; i < delNodes.length; i++) {// @ts-ignore delNodes[i].remove(); } - if (this.shadowRoot!.querySelectorAll('.tag').length === 0) { - this.selectInputEl.style.width = 'auto'; + if (this.shadowRoot!.querySelectorAll('.tag').length === 0) {// @ts-ignore + this.selectInputEl.style.width = 'auto';// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; } } - this.querySelectorAll('lit-select-option').forEach((a) => a.removeAttribute('selected')); - this.selectInputEl.value = ''; - this.selectClearEl.style.display = 'none'; + this.querySelectorAll('lit-select-option').forEach((a) => a.removeAttribute('selected'));// @ts-ignore + this.selectInputEl.value = '';// @ts-ignore + this.selectClearEl.style.display = 'none';// @ts-ignore this.selectIconEl.style.display = 'flex'; - this.blur(); + this.blur();// @ts-ignore ev.stopPropagation(); this.dispatchEvent(new CustomEvent('onClear', { detail: ev })); }; this.initOptions(); - this.onclick = (ev: any): void => { + this.onclick = (ev: unknown): void => {// @ts-ignore if (ev.target.tagName === 'LIT-SELECT') { - if (this.focused === false) { + if (this.focused === false) {// @ts-ignore this.selectInputEl.focus(); - this.focused = true; + this.focused = true;// @ts-ignore this.bodyEl!.style.display = 'flex'; } else { this.focused = false; @@ -372,40 +372,40 @@ export class LitSelect extends BaseElement { setEvent(): void { this.onmouseover = this.onfocus = (ev): void => { - if (this.focused === false && this.hasAttribute('adaptive-expansion')) { - if (this.parentElement!.offsetTop < this.bodyEl!.clientHeight) { + if (this.focused === false && this.hasAttribute('adaptive-expansion')) {// @ts-ignore + if (this.parentElement!.offsetTop < this.bodyEl!.clientHeight) {// @ts-ignore this.bodyEl!.classList.add('body-bottom'); - } else { + } else {// @ts-ignore this.bodyEl!.classList.remove('body-bottom'); } } - if (this.hasAttribute('allow-clear')) { - if (this.selectInputEl.value.length > 0 || this.selectInputEl.placeholder !== this.defaultPlaceholder) { - this.selectClearEl.style.display = 'flex'; + if (this.hasAttribute('allow-clear')) {// @ts-ignore + if (this.selectInputEl.value.length > 0 || this.selectInputEl.placeholder !== this.defaultPlaceholder) {// @ts-ignore + this.selectClearEl.style.display = 'flex';// @ts-ignore this.selectIconEl.style.display = 'none'; - } else { - this.selectClearEl.style.display = 'none'; + } else {// @ts-ignore + this.selectClearEl.style.display = 'none';// @ts-ignore this.selectIconEl.style.display = 'flex'; } } }; this.onmouseout = this.onblur = (ev): void => { - if (this.hasAttribute('allow-clear')) { - this.selectClearEl.style.display = 'none'; + if (this.hasAttribute('allow-clear')) {// @ts-ignore + this.selectClearEl.style.display = 'none';// @ts-ignore this.selectIconEl.style.display = 'flex'; } this.focused = false; - }; - this.selectInputEl.onfocus = (ev: any): void => { + };// @ts-ignore + this.selectInputEl.onfocus = (ev: unknown): void => { if (this.hasAttribute('disabled')) { return; - } - if (this.selectInputEl.value.length > 0) { - this.selectInputEl.placeholder = this.selectInputEl.value; + }// @ts-ignore + if (this.selectInputEl.value.length > 0) {// @ts-ignore + this.selectInputEl.placeholder = this.selectInputEl.value;// @ts-ignore this.selectInputEl.value = ''; } - if (this.hasAttribute('show-search')) { - this.selectSearchEl.style.display = 'flex'; + if (this.hasAttribute('show-search')) {// @ts-ignore + this.selectSearchEl.style.display = 'flex';// @ts-ignore this.selectIconEl.style.display = 'none'; } this.querySelectorAll('lit-select-option').forEach((a) => { @@ -415,28 +415,28 @@ export class LitSelect extends BaseElement { }; } - setOnkeydown(): void { - this.selectInputEl.onkeydown = (ev: any): void => { + setOnkeydown(): void {// @ts-ignore + this.selectInputEl.onkeydown = (ev: unknown): void => {// @ts-ignore if (ev.key === 'Backspace') { - if (this.isMultiple()) { + if (this.isMultiple()) {// @ts-ignore let tag = this.selectMultipleRootEl.lastElementChild.previousElementSibling; if (tag) { this.querySelector(`lit-select-option[value=${tag.value}]`)?.removeAttribute('selected'); tag.remove(); - if (this.shadowRoot!.querySelectorAll('.tag').length === 0) { - this.selectInputEl.style.width = 'auto'; + if (this.shadowRoot!.querySelectorAll('.tag').length === 0) {// @ts-ignore + this.selectInputEl.style.width = 'auto';// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; } } } else { this.clear(); this.dispatchEvent(new CustomEvent('onClear', { detail: ev })); //向外派发清理事件 - } + }// @ts-ignore } else if (ev.key === 'Enter') { - if (!this.canInsert) { - let filter = [...this.querySelectorAll('lit-select-option')].filter((a: any) => a.style.display !== 'none'); - if (filter.length > 0) { - this.selectInputEl.value = filter[0].textContent; + if (!this.canInsert) {// @ts-ignore + let filter = [...this.querySelectorAll('lit-select-option')].filter((a: unknown) => a.style.display !== 'none'); + if (filter.length > 0) {// @ts-ignore + this.selectInputEl.value = filter[0].textContent;// @ts-ignore this.selectInputEl.placeholder = filter[0].textContent; this.blur(); // @ts-ignore @@ -451,8 +451,8 @@ export class LitSelect extends BaseElement { }) ); } - } - } else if (ev.key === '0' && ev.target.value.length === 1 && ev.target.value === '0') { + }// @ts-ignore + } else if (ev.key === '0' && ev.target.value.length === 1 && ev.target.value === '0') {// @ts-ignore ev.preventDefault(); } }; @@ -463,15 +463,15 @@ export class LitSelect extends BaseElement { if (this.isMultiple()) { a.setAttribute('check', ''); if (a.getAttribute('value') === this.defaultValue) { - let tag = this.newTag(a.getAttribute('value'), a.textContent); - this.selectMultipleRootEl.insertBefore(tag, this.selectInputEl); - this.selectInputEl.placeholder = ''; - this.selectInputEl.value = ''; + let tag = this.newTag(a.getAttribute('value'), a.textContent);// @ts-ignore + this.selectMultipleRootEl.insertBefore(tag, this.selectInputEl);// @ts-ignore + this.selectInputEl.placeholder = '';// @ts-ignore + this.selectInputEl.value = '';// @ts-ignore this.selectInputEl.style.width = '1px'; a.setAttribute('selected', ''); } } else { - if (a.getAttribute('value') === this.defaultValue) { + if (a.getAttribute('value') === this.defaultValue) {// @ts-ignore this.selectInputEl.value = a.textContent; a.setAttribute('selected', ''); } @@ -487,29 +487,29 @@ export class LitSelect extends BaseElement { } onSelectedEvent(a: Element): void { - a.addEventListener('onSelected', (e: any) => { + a.addEventListener('onSelected', (e: unknown) => { if (this.isMultiple()) { - if (a.hasAttribute('selected')) { + if (a.hasAttribute('selected')) {// @ts-ignore let tag = this.shadowRoot!.querySelector(`div[data-value=${e.detail.value}]`) as HTMLElement; if (tag) { tag.parentElement!.removeChild(tag); - } + }// @ts-ignore e.detail.selected = false; - } else { - let tag = this.newTag(e.detail.value, e.detail.text); - this.selectMultipleRootEl.insertBefore(tag, this.selectInputEl); - this.selectInputEl.placeholder = ''; - this.selectInputEl.value = ''; + } else {// @ts-ignore + let tag = this.newTag(e.detail.value, e.detail.text);// @ts-ignore + this.selectMultipleRootEl.insertBefore(tag, this.selectInputEl);// @ts-ignore + this.selectInputEl.placeholder = '';// @ts-ignore + this.selectInputEl.value = '';// @ts-ignore this.selectInputEl.style.width = '1px'; } - if (this.shadowRoot!.querySelectorAll('.tag').length === 0) { - this.selectInputEl.style.width = 'auto'; + if (this.shadowRoot!.querySelectorAll('.tag').length === 0) {// @ts-ignore + this.selectInputEl.style.width = 'auto';// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; - } + }// @ts-ignore this.selectInputEl.focus(); } else { [...this.querySelectorAll('lit-select-option')].forEach((a) => a.removeAttribute('selected')); - this.blur(); + this.blur();// @ts-ignore this.bodyEl!.style.display = 'none'; // @ts-ignore this.selectInputEl.value = e.detail.text; @@ -521,20 +521,20 @@ export class LitSelect extends BaseElement { this.selectItem = a.textContent!; } // @ts-ignore - this.value = e.detail.value; + this.value = e.detail.value;// @ts-ignore this.dispatchEvent(new CustomEvent('change', { detail: e.detail })); //向外层派发change事件,返回当前选中项 }); } - clear(): void { - this.selectInputEl.value = ''; + clear(): void {// @ts-ignore + this.selectInputEl.value = '';// @ts-ignore this.selectInputEl.placeholder = this.defaultPlaceholder; } reset(): void { this.querySelectorAll('lit-select-option').forEach((a) => { [...this.querySelectorAll('lit-select-option')].forEach((a) => a.removeAttribute('selected')); - if (a.getAttribute('value') === this.defaultValue) { + if (a.getAttribute('value') === this.defaultValue) {// @ts-ignore this.selectInputEl.value = a.textContent; a.setAttribute('selected', ''); } @@ -545,12 +545,12 @@ export class LitSelect extends BaseElement { adoptedCallback(): void {} - attributeChangedCallback(name: any, oldValue: any, newValue: any): void { + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void { if (name === 'value' && this.selectInputEl) { if (newValue) { [...this.querySelectorAll('lit-select-option')].forEach((a) => { if (a.getAttribute('value') === newValue) { - a.setAttribute('selected', ''); + a.setAttribute('selected', '');// @ts-ignore this.selectInputEl.value = a.textContent; } else { a.removeAttribute('selected'); diff --git a/ide/src/trace/SpApplication.ts b/ide/src/trace/SpApplication.ts index 6b6a7adeb..55d258e2f 100644 --- a/ide/src/trace/SpApplication.ts +++ b/ide/src/trace/SpApplication.ts @@ -1912,7 +1912,7 @@ export class SpApplication extends BaseElement { private validateFileCacheLost(): void { caches.has(DbPool.fileCacheKey).then((exist) => { if (!exist) { - this.mainMenu!.menus?.forEach((mg) => { + this.mainMenu!.menus?.forEach((mg) => {// @ts-ignore mg.children.forEach((mi: unknown) => { //@ts-ignore if (mi.title === 'Download File') { diff --git a/ide/src/trace/component/SpRecordTrace.ts b/ide/src/trace/component/SpRecordTrace.ts index 49237cce7..e875808c4 100644 --- a/ide/src/trace/component/SpRecordTrace.ts +++ b/ide/src/trace/component/SpRecordTrace.ts @@ -290,7 +290,7 @@ export class SpRecordTrace extends BaseElement { private freshMenuDisable(disable: boolean): void { let mainMenu = this.sp!.shadowRoot?.querySelector('#main-menu') as LitMainMenu; - mainMenu.menus?.forEach((men): void => { + mainMenu.menus?.forEach((men): void => {// @ts-ignore men.children.forEach((child: HTMLElement): void => { // @ts-ignore child.disabled = disable; diff --git a/ide/src/trace/component/chart/SpChartManager.ts b/ide/src/trace/component/chart/SpChartManager.ts index fa6f60e27..24be9b73b 100644 --- a/ide/src/trace/component/chart/SpChartManager.ts +++ b/ide/src/trace/component/chart/SpChartManager.ts @@ -251,10 +251,10 @@ export class SpChartManager { let endNS = 30_000_000_000; this.trace.timerShaftEL.totalNS = total; this.trace.timerShaftEL.getRangeRuler()!.drawMark = true; - this.trace.timerShaftEL.setRangeNS(0, total); - (window as any).recordStartNS = startNS; - (window as any).recordEndNS = endNS; - (window as any).totalNS = total; + this.trace.timerShaftEL.setRangeNS(0, total);// @ts-ignore + (window as unknown).recordStartNS = startNS;// @ts-ignore + (window as unknown).recordEndNS = endNS;// @ts-ignore + (window as unknown).totalNS = total; this.trace.timerShaftEL.loadComplete = true; } }; @@ -283,7 +283,7 @@ export class SpChartManager { 'cache-data-dict', { dataDict: SpSystemTrace.DATA_DICT }, undefined, - (res: any): void => { + (res: unknown): void => { resolve(); } ); @@ -291,10 +291,10 @@ export class SpChartManager { } } -export const folderSupplier = (): any => { - return () => new Promise>((resolve) => resolve([])); -}; -export const folderThreadHandler = (row: TraceRow, trace: SpSystemTrace) => { +export const folderSupplier = (): unknown => { + return () => new Promise>((resolve) => resolve([])); +};// @ts-ignore +export const folderThreadHandler = (row: TraceRow, trace: SpSystemTrace) => { return (useCache: boolean): void => { row.canvasSave(trace.canvasPanelCtx!); if (row.expansion) { @@ -316,23 +316,23 @@ export const folderThreadHandler = (row: TraceRow, trace: SpSystemTrace) => export function rowThreadHandler( tag: string, contextField: string, - arg: any, - row: TraceRow, + arg: unknown,// @ts-ignore + row: TraceRow, trace: SpSystemTrace ) { return (useCache: boolean) : void => { let context: CanvasRenderingContext2D = getRowContext(row, trace); - row.canvasSave(context); + row.canvasSave(context);// @ts-ignore arg.useCache = useCache; - if (contextField) { + if (contextField) {// @ts-ignore arg[contextField] = context; - } - (renders[tag] as any).renderMainThread(arg, row); + }// @ts-ignore + (renders[tag] as unknown).renderMainThread(arg, row); row.canvasRestore(context, trace); }; } - -export const getRowContext = (row: TraceRow, trace: SpSystemTrace): CanvasRenderingContext2D => { +// @ts-ignore +export const getRowContext = (row: TraceRow, trace: SpSystemTrace): CanvasRenderingContext2D => { if (row.currentContext) { return row.currentContext; } else { diff --git a/ide/src/trace/component/chart/SpClockChart.ts b/ide/src/trace/component/chart/SpClockChart.ts index 335cd54d8..412f90847 100644 --- a/ide/src/trace/component/chart/SpClockChart.ts +++ b/ide/src/trace/component/chart/SpClockChart.ts @@ -57,18 +57,18 @@ export class SpClockChart { } else if (isScreenState) { promiseData = clockDataSender('', 'screenState', traceRow); } - if (promiseData === null) { - return new Promise>((resolve) => resolve([])); - } else { - return promiseData.then((resultClock: Array) => { - for (let j = 0; j < resultClock.length; j++) { - resultClock[j].type = 'measure'; - if ((resultClock[j].value || 0) > it.maxValue!) { + if (promiseData === null) {// @ts-ignore + return new Promise>((resolve) => resolve([])); + } else {// @ts-ignore + return promiseData.then((resultClock: Array) => { + for (let j = 0; j < resultClock.length; j++) {// @ts-ignore + resultClock[j].type = 'measure';// @ts-ignore + if ((resultClock[j].value || 0) > it.maxValue!) {// @ts-ignore it.maxValue = resultClock[j].value || 0; } - if (j > 0) { + if (j > 0) {// @ts-ignore resultClock[j].delta = (resultClock[j].value || 0) - (resultClock[j - 1].value || 0); - } else { + } else {// @ts-ignore resultClock[j].delta = 0; } } @@ -113,8 +113,8 @@ export class SpClockChart { traceRow.canvasRestore(context, this.trace); }; } - - async initData(folder: TraceRow): Promise { +// @ts-ignore + async initData(folder: TraceRow): Promise { let clockStartTime = new Date().getTime(); let clockList = await queryClockData(); if (clockList.length === 0) { @@ -139,7 +139,7 @@ export class SpClockChart { traceRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; traceRow.selectChangeHandler = this.trace.selectChangeHandler; this.clockSupplierFrame(traceRow, it, isState, isScreenState); - traceRow.getCacheData = (args: any): Promise> | undefined => { + traceRow.getCacheData = (args: unknown): Promise> | undefined => { if (it.name.endsWith(' Frequency')) { return clockDataSender(it.srcname, 'clockFrequency', traceRow, args); } else if (isState) { @@ -164,8 +164,8 @@ export class SpClockChart { let durTime = new Date().getTime() - clockStartTime; info('The time to load the ClockData is: ', durTime); } - - async initFolder(): Promise> { +// @ts-ignore + async initFolder(): Promise> { let clockFolder = TraceRow.skeleton(); clockFolder.rowId = 'Clocks'; clockFolder.index = 0; @@ -175,8 +175,8 @@ export class SpClockChart { clockFolder.folder = true; clockFolder.name = 'Clocks'; clockFolder.favoriteChangeHandler = this.trace.favoriteChangeHandler; - clockFolder.selectChangeHandler = this.trace.selectChangeHandler; - clockFolder.supplier = (): Promise => new Promise>((resolve) => resolve([])); + clockFolder.selectChangeHandler = this.trace.selectChangeHandler;// @ts-ignore + clockFolder.supplier = (): Promise => new Promise>((resolve) => resolve([])); clockFolder.onThreadHandler = (useCache): void => { clockFolder.canvasSave(this.trace.canvasPanelCtx!); if (clockFolder.expansion) { diff --git a/ide/src/trace/component/chart/SpCpuChart.ts b/ide/src/trace/component/chart/SpCpuChart.ts index aeb6de6a5..59eb15721 100644 --- a/ide/src/trace/component/chart/SpCpuChart.ts +++ b/ide/src/trace/component/chart/SpCpuChart.ts @@ -80,10 +80,10 @@ export class SpCpuChart { let CpuStartTime = new Date().getTime(); let array = await queryCpuMax(); let cpuCountResult = await queryCpuCount(); - if (cpuCountResult && cpuCountResult.length > 0 && cpuCountResult[0]) { - (window as any).cpuCount = cpuCountResult[0].cpuCount; - } else { - (window as any).cpuCount = 0; + if (cpuCountResult && cpuCountResult.length > 0 && cpuCountResult[0]) {// @ts-ignore + (window as unknown).cpuCount = cpuCountResult[0].cpuCount; + } else {// @ts-ignore + (window as unknown).cpuCount = 0; } let cpuSchedSlice = await queryCpuSchedSlice(); this.initSchedSliceData(cpuSchedSlice); @@ -129,7 +129,7 @@ export class SpCpuChart { initProcessThreadStateData = async (progress: Function): Promise => { let time = new Date().getTime(); progress('StateProcessThread', 93); - procedurePool.submitWithName('logic0', 'spt-init', {}, undefined, (res: any) => {}); + procedurePool.submitWithName('logic0', 'spt-init', {}, undefined, (res: unknown) => {}); let durTime = new Date().getTime() - time; info('The time to load the first ProcessThreadState data is: ', durTime); }; @@ -140,20 +140,20 @@ export class SpCpuChart { procedurePool.submitWithName( 'logic0', 'scheduling-getCpuIdle0', - { - endTs: (window as any).recordEndNS, - total: (window as any).totalNS, + {// @ts-ignore + endTs: (window as unknown).recordEndNS,// @ts-ignore + total: (window as unknown).totalNS, }, undefined, - (res: any) => {} + (res: unknown) => {} ); let durTime = new Date().getTime() - time; info('The time to load the first CPU Idle0 data is: ', durTime); }; - initSchedSliceData(arr: any[]): void { + initSchedSliceData(arr: unknown[]): void { Utils.SCHED_SLICE_MAP.clear(); - arr.forEach((value) => { + arr.forEach((value) => {// @ts-ignore Utils.SCHED_SLICE_MAP.set(`${value.itid}-${value.ts}`, { endState: value.endState, priority: value.priority }); }); } @@ -161,7 +161,7 @@ export class SpCpuChart { initSchedulingPTData = async (progress: Function): Promise => { let time = new Date().getTime(); progress('CPU Idle', 94); - procedurePool.submitWithName('logic0', 'scheduling-getProcessAndThread', {}, undefined, (res: any) => {}); + procedurePool.submitWithName('logic0', 'scheduling-getProcessAndThread', {}, undefined, (res: unknown) => {}); let durTime = new Date().getTime() - time; info('The time to load the first CPU Idle0 data is: ', durTime); }; @@ -169,7 +169,7 @@ export class SpCpuChart { initSchedulingFreqData = async (progress: Function): Promise => { let time = new Date().getTime(); progress('CPU Scheduling Freq', 94); - procedurePool.submitWithName('logic0', 'scheduling-initFreqData', {}, undefined, (res: any) => {}); + procedurePool.submitWithName('logic0', 'scheduling-initFreqData', {}, undefined, (res: unknown) => {}); let durTime = new Date().getTime() - time; info('The time to load the first CPU Idle0 data is: ', durTime); }; diff --git a/ide/src/trace/component/chart/SpFreqChart.ts b/ide/src/trace/component/chart/SpFreqChart.ts index 453846f5d..c316e3f64 100644 --- a/ide/src/trace/component/chart/SpFreqChart.ts +++ b/ide/src/trace/component/chart/SpFreqChart.ts @@ -84,6 +84,7 @@ export class SpFreqChart { folder.style.height = '40px'; folder.rowHidden = folder.expansion; folder.setAttribute('children', ''); + // @ts-ignore folder.supplier = folderSupplier(); folder.onThreadHandler = folderThreadHandler(folder, this.trace); return folder; diff --git a/ide/src/trace/component/chart/SpProcessChart.ts b/ide/src/trace/component/chart/SpProcessChart.ts index a8c77ecd4..077fac6c8 100644 --- a/ide/src/trace/component/chart/SpProcessChart.ts +++ b/ide/src/trace/component/chart/SpProcessChart.ts @@ -103,6 +103,7 @@ export class SpProcessChart { row.folder = true; row.style.height = '40px'; row.name = 'DeliverInputEvent'; + // @ts-ignore row.supplier = folderSupplier(); row.onThreadHandler = folderThreadHandler(row, this.trace); diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts index 43a833e7c..7b983a806 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts @@ -117,8 +117,10 @@ export class TabCpuAnalysis extends BaseElement { radius: 0.8, tip: (obj): string => { return `
-
${tip}${obj.obj.value}
-
ratio:${obj.obj.ratio}%
+
${tip}${// @ts-ignore + obj.obj.value}
+
ratio:${// @ts-ignore + obj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts index a266c3282..96555705d 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts @@ -118,12 +118,18 @@ export class TabCpuDetailsFrequency extends BaseElement { }, tip: (freObj): string => { return `
-
frequency:${freObj.obj.value}
-
min:${freObj.obj.min}
-
max:${freObj.obj.max}
-
average:${freObj.obj.avg}
-
duration:${freObj.obj.sumTimeStr}
-
ratio:${freObj.obj.ratio}%
+
frequency:${// @ts-ignore + freObj.obj.value}
+
min:${// @ts-ignore + freObj.obj.min}
+
max:${// @ts-ignore + freObj.obj.max}
+
average:${// @ts-ignore + freObj.obj.avg}
+
duration:${// @ts-ignore + freObj.obj.sumTimeStr}
+
ratio:${// @ts-ignore + freObj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts index 05d11bdf6..a9c633f50 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts @@ -125,12 +125,18 @@ export class TabCpuDetailsIdle extends BaseElement { }, tip: (idleObj): string => { return `
-
idle:${idleObj.obj.value}
-
min:${idleObj.obj.min}
-
max:${idleObj.obj.max}
-
average:${idleObj.obj.avg}
-
duration:${idleObj.obj.sumTimeStr}
-
ratio:${idleObj.obj.ratio}%
+
idle:${// @ts-ignore + idleObj.obj.value}
+
min:${// @ts-ignore + idleObj.obj.min}
+
max:${// @ts-ignore + idleObj.obj.max}
+
average:${// @ts-ignore + idleObj.obj.avg}
+
duration:${// @ts-ignore + idleObj.obj.sumTimeStr}
+
ratio:${// @ts-ignore + idleObj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts index 58d994cb0..0d2fcf54f 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts @@ -113,13 +113,20 @@ export class TabCpuDetailsIrq extends BaseElement { }, tip: (irqObj): string => { return `
-
block:${irqObj.obj.block}
-
name:${irqObj.obj.value}
-
min:${irqObj.obj.min}
-
max:${irqObj.obj.max}
-
average:${irqObj.obj.avg}
-
duration:${irqObj.obj.sumTimeStr}
-
ratio:${irqObj.obj.ratio}%
+
block:${// @ts-ignore + irqObj.obj.block}
+
name:${// @ts-ignore + irqObj.obj.value}
+
min:${// @ts-ignore + irqObj.obj.min}
+
max:${// @ts-ignore + irqObj.obj.max}
+
average:${// @ts-ignore + irqObj.obj.avg}
+
duration:${// @ts-ignore + irqObj.obj.sumTimeStr}
+
ratio:${// @ts-ignore + irqObj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts index d79b6cae7..f17b20f94 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts @@ -117,12 +117,18 @@ export class TabCpuDetailsThreads extends BaseElement { }, tip: (obj): string => { return `
-
t_name:${obj.obj.tName}
-
tid:${obj.obj.tid}
-
p_name:${obj.obj.pName}
-
p_pid:${obj.obj.pid}
-
duration:${obj.obj.durStr}
-
ratio:${obj.obj.ratio}%
+
t_name:${// @ts-ignore + obj.obj.tName}
+
tid:${// @ts-ignore + obj.obj.tid}
+
p_name:${// @ts-ignore + obj.obj.pName}
+
p_pid:${// @ts-ignore + obj.obj.pid}
+
duration:${// @ts-ignore + obj.obj.durStr}
+
ratio:${// @ts-ignore + obj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts index 6e690334c..30f120b40 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts @@ -182,10 +182,14 @@ export class Top20FrequencyThread extends BaseElement { }, tip: (obj): string => { return `
-
freq:${obj.obj.freq === -1 ? 'unknown' : obj.obj.freq}
-
cpu:${obj.obj.cpu}
-
time:${obj.obj.timeStr}
-
ratio:${obj.obj.ratio}%
+
freq:${// @ts-ignore + obj.obj.freq === -1 ? 'unknown' : obj.obj.freq}
+
cpu:${// @ts-ignore + obj.obj.cpu}
+
time:${// @ts-ignore + obj.obj.timeStr}
+
ratio:${// @ts-ignore + obj.obj.ratio}%
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts b/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts index e41dbafdc..8dd17342b 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts @@ -86,9 +86,12 @@ export class Top20ProcessSwitchCount extends BaseElement { radius: 0.8, tip: (obj): string => { return `
-
pid:${obj.obj.tid}
-
p_name:${obj.obj.tName}
-
sched_switch count:${obj.obj.switchCount}
+
pid:${// @ts-ignore + obj.obj.tid}
+
p_name:${// @ts-ignore + obj.obj.tName}
+
sched_switch count:${// @ts-ignore + obj.obj.switchCount}
`; }, diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts b/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts index f7fc9acba..1625f3f90 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts @@ -97,9 +97,12 @@ export class Top20ProcessThreadCount extends BaseElement { }, tip: (obj): string => { return `
-
pid:${obj.obj.pid}
-
p_name:${obj.obj.pName}
-
thread count:${obj.obj.threadNumber}
+
pid:${// @ts-ignore + obj.obj.pid}
+
p_name:${// @ts-ignore + obj.obj.pName}
+
thread count:${// @ts-ignore + obj.obj.threadNumber}
`; }, diff --git a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts index 090054ea6..f320de799 100644 --- a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts +++ b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts @@ -106,8 +106,11 @@ export class TabPaneJsCpuStatistics extends BaseElement { }, tip: (obj): string => { return `
-
type: ${obj.obj.type}
-
total: ${ns2s(obj.obj.time)} (${obj.obj.percentage}%)
+
type: ${// @ts-ignore + obj.obj.type}
+
total: ${// @ts-ignore + ns2s(obj.obj.time)} (${// @ts-ignore + obj.obj.percentage}%)
`; }, hoverHandler: (data): void => { diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneCallTree.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneCallTree.ts index 8bb0baad3..746070dcb 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneCallTree.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneCallTree.ts @@ -42,10 +42,10 @@ export class TabPaneCallTree extends BaseElement { private callTreeProgressEL: LitProgressBar | null | undefined; private callTreeRightSource: Array = []; private callTreeFilter: TabPaneFilter | null | undefined; - private callTreeDataSource: any[] = []; + private callTreeDataSource: unknown[] = []; private callTreeSortKey: string = 'weight'; private callTreeSortType: number = 0; - private callTreeSelectedData: any = undefined; + private callTreeSelectedData: unknown = undefined; private frameChart: FrameChart | null | undefined; private isChartShow: boolean = false; private systmeRuleName: string = '/system/'; @@ -53,16 +53,16 @@ export class TabPaneCallTree extends BaseElement { private needShowMenu: boolean = true; private searchValue: string = ''; private loadingList: number[] = []; - private loadingPage: any; + private loadingPage: unknown; private currentSelection: SelectionParam | undefined; private flameChartMode: ChartMode = ChartMode.Duration; private currentCallTreeDataSource: Array = []; - private currentRowClickData: any; + private currentRowClickData: unknown; private initWidth: number = 0; private _pieTitle: string = ''; private _cWidth: number = 0; private _currentCallTreeLevel: number = 0; - private _rowClickData: any = undefined; + private _rowClickData: unknown = undefined; private callTreeLevel: CallTreeLevelStruct | undefined | null; private callTreeHeadLine: LitHeadLine | null | undefined; @@ -85,11 +85,11 @@ export class TabPaneCallTree extends BaseElement { this._currentCallTreeLevel = value; } - set rowClickData(value: any) { + set rowClickData(value: unknown) { this._rowClickData = value; } - set data(callTreeSelection: SelectionParam | any) { + set data(callTreeSelection: SelectionParam | unknown) { if (callTreeSelection !== this.currentSelection && this._rowClickData === this.currentRowClickData) { this._rowClickData = undefined; } @@ -97,7 +97,7 @@ export class TabPaneCallTree extends BaseElement { return; } this.searchValue = ''; - this.initModeAndAction(); + this.initModeAndAction();// @ts-ignore this.currentSelection = callTreeSelection; this.currentRowClickData = this._rowClickData; this.callTreeTbl!.style.visibility = 'visible'; @@ -109,8 +109,8 @@ export class TabPaneCallTree extends BaseElement { procedurePool.submitWithName('logic0', 'fileSystem-reset', [], undefined, () => {}); this.callTreeFilter!.initializeFilterTree(true, true, true); this.callTreeFilter!.filterValue = ''; - this.callTreeProgressEL!.loading = true; - this.loadingPage.style.visibility = 'visible'; + this.callTreeProgressEL!.loading = true;// @ts-ignore + this.loadingPage.style.visibility = 'visible';// @ts-ignore this.getDataByWorkAndUpDateCanvas(callTreeSelection); } @@ -128,7 +128,7 @@ export class TabPaneCallTree extends BaseElement { } } - private getCallTreeData(callTreeSelection: SelectionParam | any, initWidth: number): void { + private getCallTreeData(callTreeSelection: SelectionParam | unknown, initWidth: number): void { this.getDataByWorker( [ { @@ -136,16 +136,16 @@ export class TabPaneCallTree extends BaseElement { funcArgs: [''], }, { - funcName: 'getCurrentDataFromDb', + funcName: 'getCurrentDataFromDb',// @ts-ignore funcArgs: [{ queryFuncName: this.queryFuncName, ...callTreeSelection }], }, ], - (results: any[]): void => { + (results: unknown[]): void => { this.setLTableData(results); this.callTreeTbr!.recycleDataSource = []; this.frameChart!.mode = this.flameChartMode; - this.frameChart?.updateCanvas(true, initWidth); - this.frameChart!.data = this.callTreeDataSource; + this.frameChart?.updateCanvas(true, initWidth);// @ts-ignore + this.frameChart!.data = this.callTreeDataSource;// @ts-ignore this.currentCallTreeDataSource = this.callTreeDataSource; this.switchFlameChart(); this.callTreeFilter!.icon = 'block'; @@ -158,11 +158,11 @@ export class TabPaneCallTree extends BaseElement { */ private getCallTreeDataByPieLevel(): void { this.callTreeLevel = new CallTreeLevelStruct(); - this.callTreeLevel = { - processId: this._rowClickData.pid, - threadId: this._rowClickData.tid, - typeId: this._rowClickData.type, - libId: this._rowClickData.libId, + this.callTreeLevel = {// @ts-ignore + processId: this._rowClickData.pid,// @ts-ignore + threadId: this._rowClickData.tid,// @ts-ignore + typeId: this._rowClickData.type,// @ts-ignore + libId: this._rowClickData.libId,// @ts-ignore symbolId: this._rowClickData.symbolId, }; let args = []; @@ -170,18 +170,18 @@ export class TabPaneCallTree extends BaseElement { funcName: 'getCurrentDataFromDb', funcArgs: [this.currentSelection, this.callTreeLevel], }); - - if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentCallTreeLevel === NUM_3) { +// @ts-ignore + if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentCallTreeLevel === NUM_3) {// @ts-ignore this.callTreeLevel.libName = this._rowClickData.tableName; args.push({ funcName: 'showLibLevelData', funcArgs: [this.callTreeLevel.libId, this.callTreeLevel.libName], }); } else if ( - this._rowClickData && + this._rowClickData &&// @ts-ignore this._rowClickData.symbolId !== undefined && this._currentCallTreeLevel === NUM_4 - ) { + ) {// @ts-ignore this.callTreeLevel.symbolName = this._rowClickData.tableName; args.push({ funcName: 'showFunLevelData', @@ -189,14 +189,14 @@ export class TabPaneCallTree extends BaseElement { }); } - this.getDataByWorker(args, (results: any[]): void => { - this.callTreeProgressEL!.loading = false; + this.getDataByWorker(args, (results: unknown[]): void => { + this.callTreeProgressEL!.loading = false;// @ts-ignore this.loadingPage.style.visibility = 'hidden'; this.setLTableData(results); this.callTreeTbr!.recycleDataSource = []; this.frameChart!.mode = this.flameChartMode; - this.frameChart?.updateCanvas(true, this.initWidth); - this.frameChart!.data = this.callTreeDataSource; + this.frameChart?.updateCanvas(true, this.initWidth);// @ts-ignore + this.frameChart!.data = this.callTreeDataSource;// @ts-ignore this.currentCallTreeDataSource = this.callTreeDataSource; this.switchFlameChart(); this.callTreeFilter!.icon = 'block'; @@ -266,7 +266,7 @@ export class TabPaneCallTree extends BaseElement { setRightTableData(bean: MerageBean): void { let parents: Array = []; - let children: Array = []; + let children: Array = [];// @ts-ignore this.getParentTree(this.callTreeDataSource, bean, parents); let maxId: string = bean.id; let maxDur: number = 0; @@ -278,7 +278,7 @@ export class TabPaneCallTree extends BaseElement { maxId = bean.id; } } else { - bean.children.map((callChild: any) => { + bean.children.map((callChild: unknown) => { findMaxStack(callChild); }); } @@ -338,7 +338,7 @@ export class TabPaneCallTree extends BaseElement { this.callTreeTbr.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 45 - 21 - headLineHeight}px`; this.callTreeTbr.reMeauseHeight(); - } + }// @ts-ignore this.loadingPage.style.height = `${this.parentElement!.clientHeight - 24 }px`; } }).observe(this.parentElement!); @@ -366,14 +366,14 @@ export class TabPaneCallTree extends BaseElement { this.callTreeColumnClick(); } - private filterFunc(data: any): void { - let callTreeFuncArgs: any[] = []; + private filterFunc(data: unknown): void { + let callTreeFuncArgs: unknown[] = [];// @ts-ignore if (data.type === 'check') { - this.handleCheckType(data, callTreeFuncArgs); + this.handleCheckType(data, callTreeFuncArgs);// @ts-ignore } else if (data.type === 'select') { - this.handleSelectType(callTreeFuncArgs, data); - } else if (data.type === 'button') { - if (data.item === 'symbol') { + this.handleSelectType(callTreeFuncArgs, data);// @ts-ignore + } else if (data.type === 'button') {// @ts-ignore + if (data.item === 'symbol') {// @ts-ignore if (this.callTreeSelectedData && !this.callTreeSelectedData.canCharge) { return; } @@ -381,16 +381,16 @@ export class TabPaneCallTree extends BaseElement { this.handleSymbolCase(data, callTreeFuncArgs); } else { return; - } - } else if (data.item === 'library') { + }// @ts-ignore + } else if (data.item === 'library') {// @ts-ignore if (this.callTreeSelectedData && !this.callTreeSelectedData.canCharge) { return; - } + }// @ts-ignore if (this.callTreeSelectedData !== undefined && this.callTreeSelectedData.libName !== '') { this.handleLibraryCase(data, callTreeFuncArgs); } else { return; - } + }// @ts-ignore } else if (data.item === 'restore') { this.handleRestoreCase(data, callTreeFuncArgs); } @@ -398,18 +398,18 @@ export class TabPaneCallTree extends BaseElement { this.performDataProcessing(callTreeFuncArgs); } - private handleLibraryCase(data: any, callTreeFuncArgs: any[]): void { + private handleLibraryCase(data: unknown, callTreeFuncArgs: unknown[]): void {// @ts-ignore this.callTreeFilter!.addDataMining({ name: this.callTreeSelectedData.libName }, data.item); callTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.callTreeSelectedData.libName, false, false], }); } - private handleSymbolCase(data: any, callTreeFuncArgs: any[]): void { + private handleSymbolCase(data: unknown, callTreeFuncArgs: unknown[]): void {// @ts-ignore this.callTreeFilter!.addDataMining({ name: this.callTreeSelectedData.symbol }, data.item); callTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.callTreeSelectedData.symbol, false, true], }); } @@ -421,20 +421,20 @@ export class TabPaneCallTree extends BaseElement { // @ts-ignore this.callTreeSortType = evt.detail.sort; // @ts-ignore - this.setLTableData(this.callTreeDataSource); + this.setLTableData(this.callTreeDataSource);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; }); } - private performDataProcessing(callTreeFuncArgs: any[]): void { - this.getDataByWorker(callTreeFuncArgs, (result: any[]): void => { - this.setLTableData(result); + private performDataProcessing(callTreeFuncArgs: unknown[]): void { + this.getDataByWorker(callTreeFuncArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); } this.callTreeTbl!.move1px(); - if (this.callTreeSelectedData) { + if (this.callTreeSelectedData) {// @ts-ignore this.callTreeSelectedData.isSelected = false; this.callTreeTbl?.clearAllSelection(this.callTreeSelectedData); this.callTreeTbr!.recycleDataSource = []; @@ -443,9 +443,9 @@ export class TabPaneCallTree extends BaseElement { }); } - private handleRestoreCase(data: any, callTreeFuncArgs: any[]): void { - if (data.remove !== undefined && data.remove.length > 0) { - let list = data.remove.map((item: any) => { + private handleRestoreCase(data: unknown, callTreeFuncArgs: unknown[]): void {// @ts-ignore + if (data.remove !== undefined && data.remove.length > 0) {// @ts-ignore + let list = data.remove.map((item: unknown) => {// @ts-ignore return item.name; }); callTreeFuncArgs.push({ @@ -484,10 +484,10 @@ export class TabPaneCallTree extends BaseElement { funcArgs: [], }, ]; - this.getDataByWorker(callTreeArgs, (result: any[]): void => { + this.getDataByWorker(callTreeArgs, (result: unknown[]): void => { this.callTreeTbl!.isSearch = true; this.callTreeTbl!.setStatus(result, true); - this.setLTableData(result); + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; this.switchFlameChart(callTreeFilterData); }); @@ -500,8 +500,8 @@ export class TabPaneCallTree extends BaseElement { } private handleConstraintsData(): void { - this.callTreeFilter!.getCallTreeConstraintsData((data: any) => { - let callTreeConstraintsArgs: any[] = [ + this.callTreeFilter!.getCallTreeConstraintsData((data: unknown) => { + let callTreeConstraintsArgs: unknown[] = [ { funcName: 'resotreAllNode', funcArgs: [[this.callTreeNumRuleName]], @@ -510,10 +510,10 @@ export class TabPaneCallTree extends BaseElement { funcName: 'clearSplitMapData', funcArgs: [this.callTreeNumRuleName], }, - ]; + ];// @ts-ignore if (data.checked) { callTreeConstraintsArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(data.min), data.max], }); } @@ -521,8 +521,8 @@ export class TabPaneCallTree extends BaseElement { funcName: 'resetAllNode', funcArgs: [], }); - this.getDataByWorker(callTreeConstraintsArgs, (result: any[]) => { - this.setLTableData(result); + this.getDataByWorker(callTreeConstraintsArgs, (result: unknown[]) => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -532,14 +532,14 @@ export class TabPaneCallTree extends BaseElement { } private handleCallTreeData(): void { - this.callTreeFilter!.getCallTreeData((data: any) => { + this.callTreeFilter!.getCallTreeData((data: unknown) => {// @ts-ignore if ([InvertOptionIndex, hideThreadOptionIndex, hideEventOptionIndex].includes(data.value)) { this.refreshAllNode({ - ...this.callTreeFilter!.getFilterTreeData(), + ...this.callTreeFilter!.getFilterTreeData(),// @ts-ignore callTree: data.checks, }); } else { - let callTreeArgs: any[] = []; + let callTreeArgs: unknown[] = [];// @ts-ignore if (data.checks[1]) { callTreeArgs.push({ funcName: 'hideSystemLibrary', @@ -563,8 +563,8 @@ export class TabPaneCallTree extends BaseElement { funcArgs: [this.systmeRuleName], }); } - this.getDataByWorker(callTreeArgs, (result: any[]) => { - this.setLTableData(result); + this.getDataByWorker(callTreeArgs, (result: unknown[]) => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -574,30 +574,30 @@ export class TabPaneCallTree extends BaseElement { }); } - private handleSelectType(callTreeFuncArgs: any[], data: any): void { + private handleSelectType(callTreeFuncArgs: unknown[], data: unknown): void { callTreeFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); callTreeFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); callTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } - private handleCheckType(data: any, callTreeFuncArgs: any[]): void { + private handleCheckType(data: unknown, callTreeFuncArgs: unknown[]): void {// @ts-ignore if (data.item.checked) { callTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } else { callTreeFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); callTreeFuncArgs.push({ @@ -605,14 +605,14 @@ export class TabPaneCallTree extends BaseElement { funcArgs: [], }); callTreeFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); } } private rowClickEvent(): void { - this.callTreeTbl!.addEventListener('row-click', (evt: any) => { + this.callTreeTbl!.addEventListener('row-click', (evt: unknown) => { // @ts-ignore let data = evt.detail.data as MerageBean; document.dispatchEvent( @@ -626,36 +626,36 @@ export class TabPaneCallTree extends BaseElement { this.callTreeTbr?.clearAllSelection(data); this.callTreeTbr?.setCurrentSelection(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); this.callTreeTbr = this.shadowRoot?.querySelector('#tb-list'); - this.callTreeTbr!.addEventListener('row-click', (evt: any): void => { + this.callTreeTbr!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data as MerageBean; - this.callTreeTbl?.clearAllSelection(data); - (data as any).isSelected = true; + this.callTreeTbl?.clearAllSelection(data);// @ts-ignore + (data as unknown).isSelected = true; this.callTreeTbl!.scrollToData(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); } - switchFlameChart(data?: any): void { + switchFlameChart(data?: unknown): void { let callTreePageTab = this.shadowRoot?.querySelector('#show_table'); - let callTreePageChart = this.shadowRoot?.querySelector('#show_chart'); + let callTreePageChart = this.shadowRoot?.querySelector('#show_chart');// @ts-ignore if (!data || data.icon === 'block') { callTreePageChart?.setAttribute('class', 'show'); callTreePageTab?.setAttribute('class', ''); this.isChartShow = true; this.callTreeFilter!.disabledMining = true; showButtonMenu(this.callTreeFilter, this.needShowMenu); - this.frameChart?.calculateChartData(); + this.frameChart?.calculateChartData();// @ts-ignore } else if (data.icon === 'tree') { callTreePageChart?.setAttribute('class', ''); callTreePageTab?.setAttribute('class', 'show'); @@ -667,12 +667,12 @@ export class TabPaneCallTree extends BaseElement { } } - refreshAllNode(filterData: any): void { - let callTreeArgs: any[] = []; - let isTopDown: boolean = !filterData.callTree[0]; - let isHideSystemLibrary = filterData.callTree[1]; - let isHideEvent: boolean = filterData.callTree[2]; - let isHideThread: boolean = filterData.callTree[3]; + refreshAllNode(filterData: unknown): void { + let callTreeArgs: unknown[] = [];// @ts-ignore + let isTopDown: boolean = !filterData.callTree[0];// @ts-ignore + let isHideSystemLibrary = filterData.callTree[1];// @ts-ignore + let isHideEvent: boolean = filterData.callTree[2];// @ts-ignore + let isHideThread: boolean = filterData.callTree[3];// @ts-ignore let list = filterData.dataMining.concat(filterData.dataLibrary); callTreeArgs.push({ funcName: 'hideThread', funcArgs: [isHideThread] }); callTreeArgs.push({ funcName: 'hideEvent', funcArgs: [isHideEvent] }); @@ -680,10 +680,10 @@ export class TabPaneCallTree extends BaseElement { this.callTreeTbr!.recycleDataSource = []; if (isHideSystemLibrary) { callTreeArgs.push({ funcName: 'hideSystemLibrary', funcArgs: [true] }); - } + }// @ts-ignore if (filterData.callTreeConstraints.checked) { callTreeArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(filterData.callTreeConstraints.inputs[0]), filterData.callTreeConstraints.inputs[1]], }); } @@ -691,20 +691,20 @@ export class TabPaneCallTree extends BaseElement { callTreeArgs.push({ funcName: 'resetAllNode', funcArgs: [], - }); + });// @ts-ignore if (this._rowClickData && this._rowClickData.libId !== undefined && this._currentCallTreeLevel === 3) { callTreeArgs.push({ funcName: 'showLibLevelData', funcArgs: [this.callTreeLevel!.libId, this.callTreeLevel!.libName], - }); + });// @ts-ignore } else if (this._rowClickData && this._rowClickData.symbolId !== undefined && this._currentCallTreeLevel === 4) { callTreeArgs.push({ funcName: 'showFunLevelData', funcArgs: [this.callTreeLevel!.symbolId, this.callTreeLevel!.symbolName], }); } - this.getDataByWorker(callTreeArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(callTreeArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.callTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -712,39 +712,39 @@ export class TabPaneCallTree extends BaseElement { }); } - setLTableData(resultData: any[]): void { + setLTableData(resultData: unknown[]): void { this.callTreeDataSource = this.sortCallFnTree(resultData); this.callTreeTbl!.recycleDataSource = this.callTreeDataSource; } - sortCallFnTree(arr: Array): Array { - let sortArr = arr.sort((compareFnA: any, compareFnB: any): number => { + sortCallFnTree(arr: Array): Array { + let sortArr = arr.sort((compareFnA: unknown, compareFnB: unknown): number => { if (this.callTreeSortKey === 'self') { - if (this.callTreeSortType === 0) { + if (this.callTreeSortType === 0) {// @ts-ignore return compareFnB.dur - compareFnA.dur; - } else if (this.callTreeSortType === 1) { + } else if (this.callTreeSortType === 1) {// @ts-ignore return compareFnA.selfDur - compareFnB.selfDur; - } else { + } else {// @ts-ignore return compareFnB.selfDur - compareFnA.selfDur; } } else { - if (this.callTreeSortType === 0) { + if (this.callTreeSortType === 0) {// @ts-ignore return compareFnB.dur - compareFnA.dur; - } else if (this.callTreeSortType === 1) { + } else if (this.callTreeSortType === 1) {// @ts-ignore return compareFnA.dur - compareFnB.dur; - } else { + } else {// @ts-ignore return compareFnB.dur - compareFnA.dur; } } }); - sortArr.map((call: any): void => { + sortArr.map((call: unknown): void => {// @ts-ignore call.children = this.sortCallFnTree(call.children); }); return sortArr; } - getDataByWorker(args: any[], handler: Function): void { - this.loadingList.push(1); + getDataByWorker(args: unknown[], handler: Function): void { + this.loadingList.push(1);// @ts-ignore this.loadingPage.style.visibility = 'visible'; this.callTreeProgressEL!.loading = true; procedurePool.submitWithName( @@ -752,11 +752,11 @@ export class TabPaneCallTree extends BaseElement { this.procedureAction, { args, callType: this.queryFuncName }, undefined, - (callTreeResults: any): void => { + (callTreeResults: unknown): void => { handler(callTreeResults); this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { - this.callTreeProgressEL!.loading = false; + this.callTreeProgressEL!.loading = false;// @ts-ignore this.loadingPage.style.visibility = 'hidden'; } } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemCalltree.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemCalltree.ts index 4a22cb7ae..398ccfb43 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemCalltree.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemCalltree.ts @@ -40,11 +40,11 @@ export class TabpaneFilesystemCalltree extends BaseElement { private fsCallTreeTbr: LitTable | null | undefined; private fsCallTreeProgressEL: LitProgressBar | null | undefined; private fsCallTreeRightSource: Array = []; - private fsCallTreeFilter: any; - private fsCallTreeDataSource: any[] = []; + private fsCallTreeFilter: unknown; + private fsCallTreeDataSource: unknown[] = []; private fsCallTreeSortKey = 'weight'; private fsCallTreeSortType: number = 0; - private fsCallTreeCurrentSelectedData: any = undefined; + private fsCallTreeCurrentSelectedData: unknown = undefined; private frameChart: FrameChart | null | undefined; private isChartShow: boolean = false; private systmeRuleName: string = '/system/'; @@ -52,16 +52,16 @@ export class TabpaneFilesystemCalltree extends BaseElement { private needShowMenu: boolean = true; private searchValue: string = ''; private loadingList: number[] = []; - private loadingPage: any; + private loadingPage: unknown; private currentSelection: SelectionParam | undefined; private currentFsCallTreeDataSource: Array = []; - private currentRowClickData: any; + private currentRowClickData: unknown; private initWidth: number = 0; private _pieTitle: string = ''; private _cWidth: number = 0; private _currentFsCallTreeLevel: number = 0; - private _fsRowClickData: any = undefined; + private _fsRowClickData: unknown = undefined; private FsCallTreeLevel: CallTreeLevelStruct | undefined | null; private fileSystemHeadLine: LitHeadLine | null | undefined; @@ -84,31 +84,31 @@ export class TabpaneFilesystemCalltree extends BaseElement { this._currentFsCallTreeLevel = value; } - set fsRowClickData(value: any) { + set fsRowClickData(value: unknown) { this._fsRowClickData = value; } - set data(fsCallTreeSelection: SelectionParam | any) { + set data(fsCallTreeSelection: SelectionParam | unknown) { if (fsCallTreeSelection !== this.currentSelection && this._fsRowClickData === this.currentRowClickData) { this._fsRowClickData = undefined; } if (fsCallTreeSelection === this.currentSelection && !this.currentSelection?.isRowClick) { return; } - this.searchValue = ''; + this.searchValue = '';// @ts-ignore this.currentSelection = fsCallTreeSelection; this.currentRowClickData = this._fsRowClickData; - this.fsCallTreeTbl!.style.visibility = 'visible'; - if (this.parentElement!.clientHeight > this.fsCallTreeFilter!.clientHeight) { + this.fsCallTreeTbl!.style.visibility = 'visible';// @ts-ignore + if (this.parentElement!.clientHeight > this.fsCallTreeFilter!.clientHeight) {// @ts-ignore this.fsCallTreeFilter!.style.display = 'flex'; - } else { + } else {// @ts-ignore this.fsCallTreeFilter!.style.display = 'none'; } - procedurePool.submitWithName('logic0', 'fileSystem-reset', [], undefined, (): void => {}); - this.fsCallTreeFilter!.initializeFilterTree(true, true, true); + procedurePool.submitWithName('logic0', 'fileSystem-reset', [], undefined, (): void => {});// @ts-ignore + this.fsCallTreeFilter!.initializeFilterTree(true, true, true);// @ts-ignore this.fsCallTreeFilter!.filterValue = ''; - this.fsCallTreeProgressEL!.loading = true; - this.loadingPage.style.visibility = 'visible'; + this.fsCallTreeProgressEL!.loading = true;// @ts-ignore + this.loadingPage.style.visibility = 'visible';// @ts-ignore this.getDataByWorkAndUpDateCanvas(fsCallTreeSelection); } @@ -126,7 +126,7 @@ export class TabpaneFilesystemCalltree extends BaseElement { } } - private getFsCallTreeData(fsCallTreeSelection: SelectionParam | any, initWidth: number): void { + private getFsCallTreeData(fsCallTreeSelection: SelectionParam | unknown, initWidth: number): void { this.getDataByWorker( [ { @@ -134,18 +134,18 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcArgs: [''], }, { - funcName: 'getCurrentDataFromDb', + funcName: 'getCurrentDataFromDb',// @ts-ignore funcArgs: [{ queryFuncName: 'fileSystem', ...fsCallTreeSelection }], }, ], - (fsCallTreeResults: any[]): void => { + (fsCallTreeResults: unknown[]): void => { this.setLTableData(fsCallTreeResults); this.fsCallTreeTbr!.recycleDataSource = []; this.frameChart!.mode = ChartMode.Duration; - this.frameChart?.updateCanvas(true, initWidth); - this.frameChart!.data = this.fsCallTreeDataSource; + this.frameChart?.updateCanvas(true, initWidth);// @ts-ignore + this.frameChart!.data = this.fsCallTreeDataSource;// @ts-ignore this.currentFsCallTreeDataSource = this.fsCallTreeDataSource; - this.switchFlameChart(); + this.switchFlameChart();// @ts-ignore this.fsCallTreeFilter.icon = 'block'; } ); @@ -156,11 +156,11 @@ export class TabpaneFilesystemCalltree extends BaseElement { */ private getFsCallTreeDataByPieLevel(): void { this.FsCallTreeLevel = new CallTreeLevelStruct(); - this.FsCallTreeLevel = { - processId: this._fsRowClickData.pid, - threadId: this._fsRowClickData.tid, - typeId: this._fsRowClickData.type, - libId: this._fsRowClickData.libId, + this.FsCallTreeLevel = {// @ts-ignore + processId: this._fsRowClickData.pid,// @ts-ignore + threadId: this._fsRowClickData.tid,// @ts-ignore + typeId: this._fsRowClickData.type,// @ts-ignore + libId: this._fsRowClickData.libId,// @ts-ignore symbolId: this._fsRowClickData.symbolId, }; let args = []; @@ -168,18 +168,18 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcName: 'getCurrentDataFromDb', funcArgs: [this.currentSelection, this.FsCallTreeLevel], }); - - if (this._fsRowClickData && this._fsRowClickData.libId !== undefined && this._currentFsCallTreeLevel === 3) { +// @ts-ignore + if (this._fsRowClickData && this._fsRowClickData.libId !== undefined && this._currentFsCallTreeLevel === 3) {// @ts-ignore this.FsCallTreeLevel.libName = this._fsRowClickData.tableName; args.push({ funcName: 'showLibLevelData', funcArgs: [this.FsCallTreeLevel.libId, this.FsCallTreeLevel.libName], }); } else if ( - this._fsRowClickData && + this._fsRowClickData &&// @ts-ignore this._fsRowClickData.symbolId !== undefined && this._currentFsCallTreeLevel === 4 - ) { + ) {// @ts-ignore this.FsCallTreeLevel.symbolName = this._fsRowClickData.tableName; args.push({ funcName: 'showFunLevelData', @@ -187,20 +187,20 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - this.getDataByWorker(args, (fsCallTreeResults: any[]) => { + this.getDataByWorker(args, (fsCallTreeResults: unknown[]) => { this.setLTableData(fsCallTreeResults); this.fsCallTreeTbr!.recycleDataSource = []; this.frameChart!.mode = ChartMode.Duration; - this.frameChart?.updateCanvas(true, this.initWidth); - this.frameChart!.data = this.fsCallTreeDataSource; + this.frameChart?.updateCanvas(true, this.initWidth);// @ts-ignore + this.frameChart!.data = this.fsCallTreeDataSource;// @ts-ignore this.currentFsCallTreeDataSource = this.fsCallTreeDataSource; - this.switchFlameChart(); + this.switchFlameChart();// @ts-ignore this.fsCallTreeFilter.icon = 'block'; }); } private restore(): void { - this.searchValue = ''; + this.searchValue = '';// @ts-ignore this.fsCallTreeFilter.filterValue = ''; this.fileSystemHeadLine!.isShow = false; this._fsRowClickData = undefined; @@ -243,7 +243,7 @@ export class TabpaneFilesystemCalltree extends BaseElement { setRightTableData(merageBean: FileMerageBean): void { let parents: Array = []; - let children: Array = []; + let children: Array = [];// @ts-ignore this.getParentTree(this.fsCallTreeDataSource, merageBean, parents); let maxId: string = merageBean.id; let maxDur: number = 0; @@ -255,7 +255,7 @@ export class TabpaneFilesystemCalltree extends BaseElement { maxId = fsMerageBean.id; } } else { - fsMerageBean.children.map((callChild: any): void => { + fsMerageBean.children.map((callChild: unknown): void => { findMaxStack(callChild); }); } @@ -287,13 +287,13 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.needShowMenu = needShowMenu; }); this.fsCallTreeTbl!.rememberScrollTop = true; - this.fsCallTreeFilter = this.shadowRoot?.querySelector('#filter'); + this.fsCallTreeFilter = this.shadowRoot?.querySelector('#filter');// @ts-ignore this.fsCallTreeFilter!.disabledTransfer(true); this.tblRowClickEvent(); this.fsCallTreeTbr = this.shadowRoot?.querySelector('#tb-filesystem-list'); this.tbrRowClickEvent(); - let boundFilterFunc = this.filterFunc.bind(this); - this.fsCallTreeFilter!.getDataLibrary(boundFilterFunc); + let boundFilterFunc = this.filterFunc.bind(this);// @ts-ignore + this.fsCallTreeFilter!.getDataLibrary(boundFilterFunc);// @ts-ignore this.fsCallTreeFilter!.getDataMining(boundFilterFunc); this.handleCallTreeData(); this.handleConstraintsData(); @@ -301,14 +301,14 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.callTreeColumnClick(); } - private filterFunc(data: any): void { - let fsCallTreeFuncArgs: any[] = []; + private filterFunc(data: unknown): void { + let fsCallTreeFuncArgs: unknown[] = [];// @ts-ignore if (data.type === 'check') { - this.handleCheckType(data, fsCallTreeFuncArgs); + this.handleCheckType(data, fsCallTreeFuncArgs);// @ts-ignore } else if (data.type === 'select') { - this.handleSelectType(fsCallTreeFuncArgs, data); - } else if (data.type === 'button') { - if (data.item === 'symbol') { + this.handleSelectType(fsCallTreeFuncArgs, data);// @ts-ignore + } else if (data.type === 'button') {// @ts-ignore + if (data.item === 'symbol') {// @ts-ignore if (this.fsCallTreeCurrentSelectedData && !this.fsCallTreeCurrentSelectedData.canCharge) { return; } @@ -316,16 +316,16 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.handleSymbolCase(data, fsCallTreeFuncArgs); } else { return; - } - } else if (data.item === 'library') { + }// @ts-ignore + } else if (data.item === 'library') {// @ts-ignore if (this.fsCallTreeCurrentSelectedData && !this.fsCallTreeCurrentSelectedData.canCharge) { return; - } + }// @ts-ignore if (this.fsCallTreeCurrentSelectedData !== undefined && this.fsCallTreeCurrentSelectedData.libName !== '') { this.handleLibraryCase(data, fsCallTreeFuncArgs); } else { return; - } + }// @ts-ignore } else if (data.item === 'restore') { this.handleRestoreCase(data, fsCallTreeFuncArgs); } @@ -333,18 +333,18 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.performDataProcessing(fsCallTreeFuncArgs); } - private handleSymbolCase(data: any, fsCallTreeFuncArgs: any[]): void { + private handleSymbolCase(data: unknown, fsCallTreeFuncArgs: unknown[]): void {// @ts-ignore this.fsCallTreeFilter!.addDataMining({ name: this.fsCallTreeCurrentSelectedData.symbol }, data.item); fsCallTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.fsCallTreeCurrentSelectedData.symbol, false, true], }); } - private handleLibraryCase(data: any, fsCallTreeFuncArgs: any[]): void { + private handleLibraryCase(data: unknown, fsCallTreeFuncArgs: unknown[]): void {// @ts-ignore this.fsCallTreeFilter!.addDataMining({ name: this.fsCallTreeCurrentSelectedData.libName }, data.item); fsCallTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [this.fsCallTreeCurrentSelectedData.libName, false, false], }); } @@ -356,16 +356,16 @@ export class TabpaneFilesystemCalltree extends BaseElement { // @ts-ignore this.fsCallTreeSortType = evt.detail.sort; // @ts-ignore - this.setLTableData(this.fsCallTreeDataSource); + this.setLTableData(this.fsCallTreeDataSource);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; }); } - private handleFilterData(): void { + private handleFilterData(): void {// @ts-ignore this.fsCallTreeFilter!.getFilterData((data: FilterData): void => { if ((this.isChartShow && data.icon === 'tree') || (!this.isChartShow && data.icon === 'block')) { - this.switchFlameChart(data); - } else if (this.searchValue !== this.fsCallTreeFilter!.filterValue) { + this.switchFlameChart(data);// @ts-ignore + } else if (this.searchValue !== this.fsCallTreeFilter!.filterValue) {// @ts-ignore this.searchValue = this.fsCallTreeFilter!.filterValue; let fileArgs = [ { @@ -377,10 +377,10 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcArgs: [], }, ]; - this.getDataByWorker(fileArgs, (result: any[]): void => { + this.getDataByWorker(fileArgs, (result: unknown[]): void => { this.fsCallTreeTbl!.isSearch = true; this.fsCallTreeTbl!.setStatus(result, true); - this.setLTableData(result); + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; this.switchFlameChart(data); }); @@ -392,9 +392,9 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - private handleConstraintsData(): void { - this.fsCallTreeFilter!.getCallTreeConstraintsData((data: any): void => { - let fsCallTreeConstraintsArgs: any[] = [ + private handleConstraintsData(): void {// @ts-ignore + this.fsCallTreeFilter!.getCallTreeConstraintsData((data: unknown): void => { + let fsCallTreeConstraintsArgs: unknown[] = [ { funcName: 'resotreAllNode', funcArgs: [[this.fsCallTreeNumRuleName]], @@ -403,10 +403,10 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcName: 'clearSplitMapData', funcArgs: [this.fsCallTreeNumRuleName], }, - ]; + ];// @ts-ignore if (data.checked) { fsCallTreeConstraintsArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(data.min), data.max], }); } @@ -414,8 +414,8 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcName: 'resetAllNode', funcArgs: [], }); - this.getDataByWorker(fsCallTreeConstraintsArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(fsCallTreeConstraintsArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -424,15 +424,15 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - private handleCallTreeData(): void { - this.fsCallTreeFilter!.getCallTreeData((data: any): void => { + private handleCallTreeData(): void {// @ts-ignore + this.fsCallTreeFilter!.getCallTreeData((data: unknown): void => {// @ts-ignore if ([InvertOptionIndex, hideThreadOptionIndex, hideEventOptionIndex].includes(data.value)) { - this.refreshAllNode({ - ...this.fsCallTreeFilter!.getFilterTreeData(), + this.refreshAllNode({// @ts-ignore + ...this.fsCallTreeFilter!.getFilterTreeData(),// @ts-ignore callTree: data.checks, }); } else { - let fileSysCallTreeArgs: any[] = []; + let fileSysCallTreeArgs: unknown[] = [];// @ts-ignore if (data.checks[1]) { fileSysCallTreeArgs.push({ funcName: 'hideSystemLibrary', @@ -456,8 +456,8 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcArgs: [this.systmeRuleName], }); } - this.getDataByWorker(fileSysCallTreeArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(fileSysCallTreeArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -467,15 +467,15 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - private performDataProcessing(fsCallTreeFuncArgs: any[]): void { - this.getDataByWorker(fsCallTreeFuncArgs, (result: any[]): void => { - this.setLTableData(result); + private performDataProcessing(fsCallTreeFuncArgs: unknown[]): void { + this.getDataByWorker(fsCallTreeFuncArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); } this.fsCallTreeTbl!.move1px(); - if (this.fsCallTreeCurrentSelectedData) { + if (this.fsCallTreeCurrentSelectedData) {// @ts-ignore this.fsCallTreeCurrentSelectedData.isSelected = false; this.fsCallTreeTbl?.clearAllSelection(this.fsCallTreeCurrentSelectedData); this.fsCallTreeTbr!.recycleDataSource = []; @@ -484,9 +484,9 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - private handleRestoreCase(data: any, fsCallTreeFuncArgs: any[]): void { - if (data.remove !== undefined && data.remove.length > 0) { - let list = data.remove.map((item: any) => { + private handleRestoreCase(data: unknown, fsCallTreeFuncArgs: unknown[]): void {// @ts-ignore + if (data.remove !== undefined && data.remove.length > 0) {// @ts-ignore + let list = data.remove.map((item: unknown) => {// @ts-ignore return item.name; }); fsCallTreeFuncArgs.push({ @@ -506,30 +506,30 @@ export class TabpaneFilesystemCalltree extends BaseElement { } } - private handleSelectType(fsCallTreeFuncArgs: any[], data: any): void { + private handleSelectType(fsCallTreeFuncArgs: unknown[], data: unknown): void { fsCallTreeFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); fsCallTreeFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); fsCallTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } - private handleCheckType(data: any, fsCallTreeFuncArgs: any[]): void { + private handleCheckType(data: unknown, fsCallTreeFuncArgs: unknown[]): void {// @ts-ignore if (data.item.checked) { fsCallTreeFuncArgs.push({ - funcName: 'splitTree', + funcName: 'splitTree',// @ts-ignore funcArgs: [data.item.name, data.item.select === '0', data.item.type === 'symbol'], }); } else { fsCallTreeFuncArgs.push({ - funcName: 'resotreAllNode', + funcName: 'resotreAllNode',// @ts-ignore funcArgs: [[data.item.name]], }); fsCallTreeFuncArgs.push({ @@ -537,29 +537,29 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcArgs: [], }); fsCallTreeFuncArgs.push({ - funcName: 'clearSplitMapData', + funcName: 'clearSplitMapData',// @ts-ignore funcArgs: [data.item.name], }); } } private tbrRowClickEvent(): void { - this.fsCallTreeTbr!.addEventListener('row-click', (evt: any): void => { + this.fsCallTreeTbr!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data as FileMerageBean; - this.fsCallTreeTbl?.clearAllSelection(data); - (data as any).isSelected = true; + this.fsCallTreeTbl?.clearAllSelection(data);// @ts-ignore + (data as unknown).isSelected = true; this.fsCallTreeTbl!.scrollToData(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); } private tblRowClickEvent(): void { - this.fsCallTreeTbl!.addEventListener('row-click', (evt: any): void => { + this.fsCallTreeTbl!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data as FileMerageBean; document.dispatchEvent( @@ -573,9 +573,9 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.fsCallTreeTbr?.clearAllSelection(data); this.fsCallTreeTbr?.setCurrentSelection(data); // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); } @@ -616,7 +616,7 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.fsCallTreeTbr.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 45 - 21 - headLineHeight}px`; this.fsCallTreeTbr.reMeauseHeight(); - } + }// @ts-ignore this.loadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); @@ -625,33 +625,33 @@ export class TabpaneFilesystemCalltree extends BaseElement { }; } - switchFlameChart(data?: any): void { + switchFlameChart(data?: unknown): void { let fsCallTreePageTab = this.shadowRoot?.querySelector('#show_table'); - let fsCallTreePageChart = this.shadowRoot?.querySelector('#show_chart'); + let fsCallTreePageChart = this.shadowRoot?.querySelector('#show_chart');// @ts-ignore if (!data || data.icon === 'block') { fsCallTreePageChart?.setAttribute('class', 'show'); fsCallTreePageTab?.setAttribute('class', ''); - this.isChartShow = true; + this.isChartShow = true;// @ts-ignore this.fsCallTreeFilter!.disabledMining = true; showButtonMenu(this.fsCallTreeFilter, this.needShowMenu); - this.frameChart?.calculateChartData(); + this.frameChart?.calculateChartData();// @ts-ignore } else if (data.icon === 'tree') { fsCallTreePageChart?.setAttribute('class', ''); fsCallTreePageTab?.setAttribute('class', 'show'); showButtonMenu(this.fsCallTreeFilter, true); - this.isChartShow = false; + this.isChartShow = false;// @ts-ignore this.fsCallTreeFilter!.disabledMining = false; this.frameChart!.clearCanvas(); this.fsCallTreeTbl!.reMeauseHeight(); } } - refreshAllNode(filterData: any): void { - let fileSysCallTreeArgs: any[] = []; - let isTopDown: boolean = !filterData.callTree[0]; - let isHideSystemLibrary = filterData.callTree[1]; - let isHideEvent: boolean = filterData.callTree[2]; - let isHideThread: boolean = filterData.callTree[3]; + refreshAllNode(filterData: unknown): void { + let fileSysCallTreeArgs: unknown[] = [];// @ts-ignore + let isTopDown: boolean = !filterData.callTree[0];// @ts-ignore + let isHideSystemLibrary = filterData.callTree[1];// @ts-ignore + let isHideEvent: boolean = filterData.callTree[2];// @ts-ignore + let isHideThread: boolean = filterData.callTree[3];// @ts-ignore let list = filterData.dataMining.concat(filterData.dataLibrary); fileSysCallTreeArgs.push({ funcName: 'hideThread', funcArgs: [isHideThread] }); fileSysCallTreeArgs.push({ funcName: 'hideEvent', funcArgs: [isHideEvent] }); @@ -659,22 +659,22 @@ export class TabpaneFilesystemCalltree extends BaseElement { this.fsCallTreeTbr!.recycleDataSource = []; if (isHideSystemLibrary) { fileSysCallTreeArgs.push({ funcName: 'hideSystemLibrary', funcArgs: [] }); - } + }// @ts-ignore if (filterData.callTreeConstraints.checked) { fileSysCallTreeArgs.push({ - funcName: 'hideNumMaxAndMin', + funcName: 'hideNumMaxAndMin',// @ts-ignore funcArgs: [parseInt(filterData.callTreeConstraints.inputs[0]), filterData.callTreeConstraints.inputs[1]], }); } fileSysCallTreeArgs.push({ funcName: 'splitAllProcess', funcArgs: [list] }); - fileSysCallTreeArgs.push({ funcName: 'resetAllNode', funcArgs: [] }); + fileSysCallTreeArgs.push({ funcName: 'resetAllNode', funcArgs: [] });// @ts-ignore if (this._fsRowClickData && this._fsRowClickData.libId !== undefined && this._currentFsCallTreeLevel === 3) { fileSysCallTreeArgs.push({ funcName: 'showLibLevelData', funcArgs: [this.FsCallTreeLevel!.libId, this.FsCallTreeLevel!.libName], }); } else if ( - this._fsRowClickData && + this._fsRowClickData &&// @ts-ignore this._fsRowClickData.symbolId !== undefined && this._currentFsCallTreeLevel === 4 ) { @@ -683,8 +683,8 @@ export class TabpaneFilesystemCalltree extends BaseElement { funcArgs: [this.FsCallTreeLevel!.symbolId, this.FsCallTreeLevel!.symbolName], }); } - this.getDataByWorker(fileSysCallTreeArgs, (result: any[]): void => { - this.setLTableData(result); + this.getDataByWorker(fileSysCallTreeArgs, (result: unknown[]): void => { + this.setLTableData(result);// @ts-ignore this.frameChart!.data = this.fsCallTreeDataSource; if (this.isChartShow) { this.frameChart?.calculateChartData(); @@ -692,51 +692,51 @@ export class TabpaneFilesystemCalltree extends BaseElement { }); } - setLTableData(resultData: any[]): void { + setLTableData(resultData: unknown[]): void { this.fsCallTreeDataSource = this.sortTree(resultData); this.fsCallTreeTbl!.recycleDataSource = this.fsCallTreeDataSource; } - sortTree(arr: Array): Array { + sortTree(arr: Array): Array { let fsCallTreeSortArr = arr.sort((fsCallTreeA, fsCallTreeB) => { if (this.fsCallTreeSortKey === 'self') { - if (this.fsCallTreeSortType === 0) { + if (this.fsCallTreeSortType === 0) {// @ts-ignore return fsCallTreeB.dur - fsCallTreeA.dur; - } else if (this.fsCallTreeSortType === 1) { + } else if (this.fsCallTreeSortType === 1) {// @ts-ignore return fsCallTreeA.selfDur - fsCallTreeB.selfDur; - } else { + } else {// @ts-ignore return fsCallTreeB.selfDur - fsCallTreeA.selfDur; } } else { - if (this.fsCallTreeSortType === 0) { + if (this.fsCallTreeSortType === 0) {// @ts-ignore return fsCallTreeB.dur - fsCallTreeA.dur; - } else if (this.fsCallTreeSortType === 1) { + } else if (this.fsCallTreeSortType === 1) {// @ts-ignore return fsCallTreeA.dur - fsCallTreeB.dur; - } else { + } else {// @ts-ignore return fsCallTreeB.dur - fsCallTreeA.dur; } } }); - fsCallTreeSortArr.map((call): void => { + fsCallTreeSortArr.map((call): void => {// @ts-ignore call.children = this.sortTree(call.children); }); return fsCallTreeSortArr; } - getDataByWorker(args: any[], handler: Function): void { + getDataByWorker(args: unknown[], handler: Function): void { this.loadingList.push(1); - this.fsCallTreeProgressEL!.loading = true; + this.fsCallTreeProgressEL!.loading = true;// @ts-ignore this.loadingPage.style.visibility = 'visible'; procedurePool.submitWithName( 'logic0', 'fileSystem-action', { args, callType: 'fileSystem' }, undefined, - (fsCallTreeResults: any): void => { + (fsCallTreeResults: unknown): void => { handler(fsCallTreeResults); this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { - this.fsCallTreeProgressEL!.loading = false; + this.fsCallTreeProgressEL!.loading = false;// @ts-ignore this.loadingPage.style.visibility = 'hidden'; } } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescHistory.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescHistory.ts index c0277fa1d..98fc3b226 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescHistory.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescHistory.ts @@ -30,7 +30,7 @@ export class TabPaneFileSystemDescHistory extends BaseElement { private fsDescHistoryFilter: TabPaneFilter | null | undefined; private fsDescHistoryProgressEL: LitProgressBar | null | undefined; private fsDescHistoryLoadingList: number[] = []; - private fsDescHistoryLoadingPage: any; + private fsDescHistoryLoadingPage: unknown; private fsDescHistorySource: Array = []; private fsDescHistoryFilterSource: Array = []; private fsDescHistorySortKey: string = 'startTs'; @@ -62,7 +62,7 @@ export class TabPaneFileSystemDescHistory extends BaseElement { } if (fsDescHistorySelection) { this.fsDescHistoryLoadingList.push(1); - this.fsDescHistoryProgressEL!.loading = true; + this.fsDescHistoryProgressEL!.loading = true;// @ts-ignore this.fsDescHistoryLoadingPage.style.visibility = 'visible'; this.fsDescHistorySource = []; procedurePool.submitWithName( @@ -75,16 +75,16 @@ export class TabPaneFileSystemDescHistory extends BaseElement { tab: 'history', }, undefined, - (res: any): void => { - this.fsDescHistorySource = this.fsDescHistorySource.concat(res.data); - res.data = null; + (res: unknown): void => {// @ts-ignore + this.fsDescHistorySource = this.fsDescHistorySource.concat(res.data);// @ts-ignore + res.data = null;// @ts-ignore if (!res.isSending) { this.fsDescHistoryTbl!.recycleDataSource = this.fsDescHistorySource; this.fsDescHistoryFilterSource = this.fsDescHistorySource; this.setProcessFilter(); this.fsDescHistoryLoadingList.splice(0, 1); if (this.fsDescHistoryLoadingList.length === 0) { - this.fsDescHistoryProgressEL!.loading = false; + this.fsDescHistoryProgressEL!.loading = false;// @ts-ignore this.fsDescHistoryLoadingPage.style.visibility = 'hidden'; } } @@ -146,19 +146,19 @@ export class TabPaneFileSystemDescHistory extends BaseElement { this.fsDescHistoryTblData = this.shadowRoot?.querySelector('#tbr-file-system-desc-history'); this.fsDescHistoryTbl!.addEventListener('row-click', (e): void => { // @ts-ignore - let data = e.detail.data as FileSysEvent; - (data as any).isSelected = true; + let data = e.detail.data as FileSysEvent;// @ts-ignore + (data as unknown).isSelected = true; // @ts-ignore - if ((e.detail as any).callBack) { + if ((e.detail as unknown).callBack) { // @ts-ignore - (e.detail as any).callBack(true); + (e.detail as unknown).callBack(true); } procedurePool.submitWithName( 'logic0', 'fileSystem-queryStack', { callchainId: data.callchainId }, undefined, - (res: any): void => { + (res: unknown): void => {// @ts-ignore this.fsDescHistoryTblData!.recycleDataSource = res; } ); @@ -200,7 +200,7 @@ export class TabPaneFileSystemDescHistory extends BaseElement { this.fsDescHistoryTblData.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 10 - 31}px`; this.fsDescHistoryTblData.reMeauseHeight(); - } + }// @ts-ignore this.fsDescHistoryLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); @@ -230,25 +230,25 @@ export class TabPaneFileSystemDescHistory extends BaseElement { } } - compareStartTs(fsHistoryA: any, fsHistoryB: any, type: number): number { - if (type === 1) { + compareStartTs(fsHistoryA: unknown, fsHistoryB: unknown, type: number): number { + if (type === 1) {// @ts-ignore return fsHistoryA.startTs - fsHistoryB.startTs; - } else { + } else {// @ts-ignore return fsHistoryB.startTs - fsHistoryA.startTs; } } - compareDur(fsHistoryA: any, fsHistoryB: any, type: number): number { - if (type === 1) { + compareDur(fsHistoryA: unknown, fsHistoryB: unknown, type: number): number { + if (type === 1) {// @ts-ignore return fsHistoryA.dur - fsHistoryB.dur; - } else { + } else {// @ts-ignore return fsHistoryB.dur - fsHistoryA.dur; } } - compareProcess(fsHistoryA: any, fsHistoryB: any, type: number): number { + compareProcess(fsHistoryA: unknown, fsHistoryB: unknown, type: number): number {// @ts-ignore if (fsHistoryA.process > fsHistoryB.process) { - return type === 2 ? 1 : -1; + return type === 2 ? 1 : -1;// @ts-ignore } else if (fsHistoryA.process === fsHistoryB.process) { return 0; } else { @@ -256,9 +256,9 @@ export class TabPaneFileSystemDescHistory extends BaseElement { } } - compareTypeStr(fsHistoryA: any, fsHistoryB: any, type: number): number { + compareTypeStr(fsHistoryA: unknown, fsHistoryB: unknown, type: number): number {// @ts-ignore if (fsHistoryA.typeStr > fsHistoryB.typeStr) { - return type === 2 ? 1 : -1; + return type === 2 ? 1 : -1;// @ts-ignore } else if (fsHistoryA.typeStr === fsHistoryB.typeStr) { return 0; } else { @@ -266,10 +266,10 @@ export class TabPaneFileSystemDescHistory extends BaseElement { } } - compareFd(fsHistoryA: any, fsHistoryB: any, type: number): number { - if (type === 1) { + compareFd(fsHistoryA: unknown, fsHistoryB: unknown, type: number): number { + if (type === 1) {// @ts-ignore return fsHistoryA.fd - fsHistoryB.fd; - } else { + } else {// @ts-ignore return fsHistoryB.fd - fsHistoryA.fd; } } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescTimeSlice.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescTimeSlice.ts index 2867fa52b..2b3c16531 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescTimeSlice.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemDescTimeSlice.ts @@ -28,7 +28,7 @@ export class TabPaneFileSystemDescTimeSlice extends BaseElement { private fsDescTimeSliceTblData: LitTable | null | undefined; private fsDescTimeSliceProgressEL: LitProgressBar | null | undefined; private fsDescTimeSliceLoadingList: number[] = []; - private fsDescTimeSliceLoadingPage: any; + private fsDescTimeSliceLoadingPage: unknown; private fsDescTimeSliceSource: Array = []; private fsDescTimeSliceSortKey: string = 'startTs'; private fsDescTimeSliceSortType: number = 0; @@ -54,9 +54,9 @@ export class TabPaneFileSystemDescTimeSlice extends BaseElement { this.fsDescTimeSliceTblData!.recycleDataSource = []; if (fsDescTimeSliceSelection) { this.fsDescTimeSliceLoadingList.push(1); - this.fsDescTimeSliceProgressEL!.loading = true; - this.fsDescTimeSliceLoadingPage.style.visibility = 'visible'; - let startNs = (window as any).recordStartNS ?? 0; + this.fsDescTimeSliceProgressEL!.loading = true;// @ts-ignore + this.fsDescTimeSliceLoadingPage.style.visibility = 'visible';// @ts-ignore + let startNs = (window as unknown).recordStartNS ?? 0; this.fsDescTimeSliceSource = []; procedurePool.submitWithName( 'logic0', @@ -68,14 +68,14 @@ export class TabPaneFileSystemDescTimeSlice extends BaseElement { tab: 'time-slice', }, undefined, - (res: any): void => { - this.fsDescTimeSliceSource = this.fsDescTimeSliceSource.concat(res.data); - res.data = null; + (res: unknown): void => {// @ts-ignore + this.fsDescTimeSliceSource = this.fsDescTimeSliceSource.concat(res.data);// @ts-ignore + res.data = null;// @ts-ignore if (!res.isSending) { this.fsDescTimeSliceTbl!.recycleDataSource = this.fsDescTimeSliceSource; this.fsDescTimeSliceLoadingList.splice(0, 1); if (this.fsDescTimeSliceLoadingList.length === 0) { - this.fsDescTimeSliceProgressEL!.loading = false; + this.fsDescTimeSliceProgressEL!.loading = false;// @ts-ignore this.fsDescTimeSliceLoadingPage.style.visibility = 'hidden'; } } @@ -91,19 +91,19 @@ export class TabPaneFileSystemDescTimeSlice extends BaseElement { this.fsDescTimeSliceTblData = this.shadowRoot?.querySelector('#tbr-filesystem-desc-time-slice'); this.fsDescTimeSliceTbl!.addEventListener('row-click', (fsTimeSliceRowClickEvent): void => { // @ts-ignore - let data = fsTimeSliceRowClickEvent.detail.data as FileSysEvent; - (data as any).isSelected = true; + let data = fsTimeSliceRowClickEvent.detail.data as FileSysEvent;// @ts-ignore + (data as unknown).isSelected = true; // @ts-ignore - if ((fsTimeSliceRowClickEvent.detail as any).callBack) { + if ((fsTimeSliceRowClickEvent.detail as unknown).callBack) { // @ts-ignore - (fsTimeSliceRowClickEvent.detail as any).callBack(true); + (fsTimeSliceRowClickEvent.detail as unknown).callBack(true); } procedurePool.submitWithName( 'logic0', 'fileSystem-queryStack', { callchainId: data.callchainId }, undefined, - (res: any): void => { + (res: unknown): void => {// @ts-ignore this.fsDescTimeSliceTblData!.recycleDataSource = res; } ); @@ -134,7 +134,7 @@ export class TabPaneFileSystemDescTimeSlice extends BaseElement { this.fsDescTimeSliceTblData.shadowRoot.querySelector('.table').style.height = `${ this.parentElement!.clientHeight - 10 - 31 }px`; - this.fsDescTimeSliceTblData.reMeauseHeight(); + this.fsDescTimeSliceTblData.reMeauseHeight();// @ts-ignore this.fsDescTimeSliceLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts index b4f6a492e..53831fc52 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts @@ -31,7 +31,7 @@ export class TabPaneFileSystemEvents extends BaseElement { private fsSysEventProgressEL: LitProgressBar | null | undefined; private fsSysEventFilter: TabPaneFilter | null | undefined; private fsSysEventLoadingList: number[] = []; - private loadingPage: any; + private loadingPage: unknown; private fsSysEventSource: Array = []; private fsSysEventFilterSource: Array = []; private fsSysEventSortKey: string = 'startTs'; @@ -69,7 +69,7 @@ export class TabPaneFileSystemEvents extends BaseElement { this.fsSysEventTblData!.recycleDataSource = []; if (fsEventParam) { this.fsSysEventLoadingList.push(1); - this.fsSysEventProgressEL!.loading = true; + this.fsSysEventProgressEL!.loading = true;// @ts-ignore this.loadingPage.style.visibility = 'visible'; this.fsSysEventSource = []; procedurePool.submitWithName( @@ -82,15 +82,15 @@ export class TabPaneFileSystemEvents extends BaseElement { tab: 'events', }, undefined, - (res: any) => { - this.fsSysEventSource = this.fsSysEventSource.concat(res.data); - res.data = null; + (res: unknown) => {// @ts-ignore + this.fsSysEventSource = this.fsSysEventSource.concat(res.data);// @ts-ignore + res.data = null;// @ts-ignore if (!res.isSending) { this.setProcessFilter(); this.filterData(); this.fsSysEventLoadingList.splice(0, 1); if (this.fsSysEventLoadingList.length === 0) { - this.fsSysEventProgressEL!.loading = false; + this.fsSysEventProgressEL!.loading = false;// @ts-ignore this.loadingPage.style.visibility = 'hidden'; } } @@ -148,19 +148,19 @@ export class TabPaneFileSystemEvents extends BaseElement { this.fsSysEventTblData = this.shadowRoot?.querySelector('#tbr-filesystem-event'); this.fsSysEventTbl!.addEventListener('row-click', (fsEventRowClick): void => { // @ts-ignore - let data = fsEventRowClick.detail.data as FileSysEvent; - (data as any).isSelected = true; + let data = fsEventRowClick.detail.data as FileSysEvent;// @ts-ignore + (data as unknown).isSelected = true; // @ts-ignore - if ((fsEventRowClick.detail as any).callBack) { + if ((fsEventRowClick.detail as unknown).callBack) { // @ts-ignore - (fsEventRowClick.detail as any).callBack(true); + (fsEventRowClick.detail as unknown).callBack(true); } procedurePool.submitWithName( 'logic0', 'fileSystem-queryStack', { callchainId: data.callchainId }, undefined, - (res: any) => { + (res: unknown) => {// @ts-ignore this.fsSysEventTblData!.recycleDataSource = res; } ); @@ -187,32 +187,32 @@ export class TabPaneFileSystemEvents extends BaseElement { }); } - fromStastics(val: SelectionParam | any): void { + fromStastics(val: SelectionParam | unknown): void {// @ts-ignore if (val.fileSystemFsData === undefined) { return; - } + }// @ts-ignore if (val.fileSystemFsData.title === 'All') { this.filterEventType = '0'; - this.filterProcess = '0'; - } else if (val.fileSystemFsData.pid === undefined) { + this.filterProcess = '0';// @ts-ignore + } else if (val.fileSystemFsData.pid === undefined) {// @ts-ignore this.filterEventType = `${val.fileSystemFsData.type + 1}`; this.filterProcess = '0'; - } else { + } else {// @ts-ignore this.filterEventType = `${val.fileSystemFsData.type + 1}`; this.filterProcess = '-1'; } this.filterPath = '0'; if (this.currentSelection === val) { if (this.filterProcess === '-1') { - this.filterProcess = + this.filterProcess =// @ts-ignore `${this.processList?.indexOf(`${val.fileSystemFsData.name}[${val.fileSystemFsData.pid}]`)}`; } this.fsSysEventFilter!.firstSelect = this.filterEventType; this.fsSysEventFilter!.secondSelect = this.filterProcess; this.fsSysEventFilter!.thirdSelect = this.filterPath; this.filterData(); - } else { - this.currentSelection = val; + } else {// @ts-ignore + this.currentSelection = val;// @ts-ignore this.queryData(val); } } @@ -232,7 +232,7 @@ export class TabPaneFileSystemEvents extends BaseElement { this.fsSysEventTblData.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 10 - 33}px`; this.fsSysEventTblData.reMeauseHeight(); - } + }// @ts-ignore this.loadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatistics.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatistics.ts index 7718c0512..5e5afd021 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatistics.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatistics.ts @@ -25,19 +25,19 @@ export class TabPaneFileStatistics extends BaseElement { private fileStatisticsTbl: LitTable | null | undefined; private selectionParam: SelectionParam | null | undefined; private fileStatisticsProgressEL: LitProgressBar | null | undefined; - private fileStatisticsLoadingPage: any; + private fileStatisticsLoadingPage: unknown; private fileStatisticsLoadingList: number[] = []; - private fileStatisticsSource: Array = []; + private fileStatisticsSource: Array = []; private typeList: Array = ['OPEN', 'CLOSE', 'READ', 'WRITE']; private fileStatisticsSortKey: string = ''; private fileStatisticsSortType: number = 0; - set data(fileStatisticsSelection: SelectionParam | any) { + set data(fileStatisticsSelection: SelectionParam | unknown) { if (fileStatisticsSelection === this.selectionParam) { return; } - this.fileStatisticsProgressEL!.loading = true; - this.fileStatisticsLoadingPage.style.visibility = 'visible'; + this.fileStatisticsProgressEL!.loading = true;// @ts-ignore + this.fileStatisticsLoadingPage.style.visibility = 'visible';// @ts-ignore this.selectionParam = fileStatisticsSelection; // @ts-ignore this.fileStatisticsTbl!.shadowRoot!.querySelector('.table').style.height = @@ -68,43 +68,43 @@ export class TabPaneFileStatistics extends BaseElement { // @ts-ignore this.fileStatisticsTbl!.shadowRoot!.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 25 }px`; - this.fileStatisticsTbl!.reMeauseHeight(); + this.fileStatisticsTbl!.reMeauseHeight();// @ts-ignore this.fileStatisticsLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); } - getInitData(item: any): any { - return { - ...item, - title: `${item.name}(${item.pid})`, - logicalWrites: Utils.getBinaryByteWithUnit(item.logicalWrites), - logicalReads: Utils.getBinaryByteWithUnit(item.logicalReads), - otherFile: Utils.getBinaryByteWithUnit(item.otherFile), - allDuration: Utils.getProbablyTime(item.allDuration), - minDuration: Utils.getProbablyTime(item.minDuration), - maxDuration: Utils.getProbablyTime(item.maxDuration), - avgDuration: Utils.getProbablyTime(item.avgDuration), + getInitData(item: unknown): unknown { + return {// @ts-ignore + ...item,// @ts-ignore + title: `${item.name}(${item.pid})`,// @ts-ignore + logicalWrites: Utils.getBinaryByteWithUnit(item.logicalWrites),// @ts-ignore + logicalReads: Utils.getBinaryByteWithUnit(item.logicalReads),// @ts-ignore + otherFile: Utils.getBinaryByteWithUnit(item.otherFile),// @ts-ignore + allDuration: Utils.getProbablyTime(item.allDuration),// @ts-ignore + minDuration: Utils.getProbablyTime(item.minDuration),// @ts-ignore + maxDuration: Utils.getProbablyTime(item.maxDuration),// @ts-ignore + avgDuration: Utils.getProbablyTime(item.avgDuration),// @ts-ignore node: { ...item, children: [] }, }; } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { this.fileStatisticsLoadingList.push(1); - this.fileStatisticsProgressEL!.loading = true; + this.fileStatisticsProgressEL!.loading = true;// @ts-ignore this.fileStatisticsLoadingPage.style.visibility = 'visible'; - getTabPaneFilesystemStatistics( - val.leftNs + val.recordStartNs, - val.rightNs + val.recordStartNs, + getTabPaneFilesystemStatistics(// @ts-ignore + val.leftNs + val.recordStartNs,// @ts-ignore + val.rightNs + val.recordStartNs,// @ts-ignore val.fileSystemType ).then((result): void => { this.fileStatisticsLoadingList.splice(0, 1); if (this.fileStatisticsLoadingList.length === 0) { - this.fileStatisticsProgressEL!.loading = false; + this.fileStatisticsProgressEL!.loading = false;// @ts-ignore this.fileStatisticsLoadingPage.style.visibility = 'hidden'; } - let fileStatisticsFatherMap = new Map(); - let fileStatisticsAllNode: any = { + let fileStatisticsFatherMap = new Map(); + let fileStatisticsAllNode: unknown = { title: 'All', count: 0, logicalReads: 0, @@ -117,18 +117,18 @@ export class TabPaneFileStatistics extends BaseElement { children: [], }; this.handleResult(result, fileStatisticsFatherMap, fileStatisticsAllNode); - fileStatisticsFatherMap.forEach((item): void => { + fileStatisticsFatherMap.forEach((item): void => {// @ts-ignore item.avgDuration = item.allDuration / item.count; - let node = this.getInitData(item); - if (item.type < 4) { + let node = this.getInitData(item);// @ts-ignore + if (item.type < 4) {// @ts-ignore node.title = this.typeList[item.type]; - } else { + } else {// @ts-ignore node.title = item.type; - } + }// @ts-ignore fileStatisticsAllNode.children.push(node); - }); + });// @ts-ignore fileStatisticsAllNode.avgDuration = fileStatisticsAllNode.allDuration / fileStatisticsAllNode.count; - fileStatisticsAllNode = this.getInitData(fileStatisticsAllNode); + fileStatisticsAllNode = this.getInitData(fileStatisticsAllNode);// @ts-ignore fileStatisticsAllNode.title = 'All'; this.fileStatisticsSource = result.length > 0 ? [fileStatisticsAllNode] : []; if (this.fileStatisticsSortType !== 0 && result.length > 0) { @@ -138,7 +138,7 @@ export class TabPaneFileStatistics extends BaseElement { this.fileStatisticsTbl!.recycleDataSource = this.fileStatisticsSource; }); } - private theadClick(res: Array): void { + private theadClick(res: Array): void { let labels = this.fileStatisticsTbl?.shadowRoot?.querySelector('.th > .td')!.querySelectorAll('label'); if (labels) { for (let i = 0; i < labels.length; i++) { @@ -162,62 +162,62 @@ export class TabPaneFileStatistics extends BaseElement { } } - private handleResult(result: Array, fileStatisticsFatherMap: Map, fileStatisticsAllNode: any): void { - result.forEach((item, idx): void => { - if (fileStatisticsFatherMap.has(item.type)) { - let fileStatisticsObj = fileStatisticsFatherMap.get(item.type); - fileStatisticsObj.count += item.count; - fileStatisticsObj.logicalReads += item.logicalReads; - fileStatisticsObj.logicalWrites += item.logicalWrites; - fileStatisticsObj.otherFile += item.otherFile; - fileStatisticsObj.allDuration += item.allDuration; - fileStatisticsObj.minDuration = - fileStatisticsObj.minDuration <= item.minDuration ? fileStatisticsObj.minDuration : item.minDuration; - fileStatisticsObj.maxDuration = - fileStatisticsObj.maxDuration >= item.maxDuration ? fileStatisticsObj.maxDuration : item.maxDuration; + private handleResult(result: Array, fileStatisticsFatherMap: Map, fileStatisticsAllNode: unknown): void { + result.forEach((item, idx): void => {// @ts-ignore + if (fileStatisticsFatherMap.has(item.type)) {// @ts-ignore + let fileStatisticsObj = fileStatisticsFatherMap.get(item.type);// @ts-ignore + fileStatisticsObj.count += item.count;// @ts-ignore + fileStatisticsObj.logicalReads += item.logicalReads;// @ts-ignore + fileStatisticsObj.logicalWrites += item.logicalWrites;// @ts-ignore + fileStatisticsObj.otherFile += item.otherFile;// @ts-ignore + fileStatisticsObj.allDuration += item.allDuration;// @ts-ignore + fileStatisticsObj.minDuration =// @ts-ignore + fileStatisticsObj.minDuration <= item.minDuration ? fileStatisticsObj.minDuration : item.minDuration;// @ts-ignore + fileStatisticsObj.maxDuration =// @ts-ignore + fileStatisticsObj.maxDuration >= item.maxDuration ? fileStatisticsObj.maxDuration : item.maxDuration;// @ts-ignore fileStatisticsObj.children.push(this.getInitData(item)); - } else { - fileStatisticsFatherMap.set(item.type, { - type: item.type, - count: item.count, - logicalReads: item.logicalReads, - logicalWrites: item.logicalWrites, - otherFile: item.otherFile, - allDuration: item.allDuration, - minDuration: item.minDuration, - maxDuration: item.maxDuration, + } else {// @ts-ignore + fileStatisticsFatherMap.set(item.type, {// @ts-ignore + type: item.type,// @ts-ignore + count: item.count,// @ts-ignore + logicalReads: item.logicalReads,// @ts-ignore + logicalWrites: item.logicalWrites,// @ts-ignore + otherFile: item.otherFile,// @ts-ignore + allDuration: item.allDuration,// @ts-ignore + minDuration: item.minDuration,// @ts-ignore + maxDuration: item.maxDuration,// @ts-ignore children: [this.getInitData(item)], }); } - if (idx === 0) { + if (idx === 0) {// @ts-ignore fileStatisticsAllNode.minDuration = item.minDuration; - } else { - fileStatisticsAllNode.minDuration = + } else {// @ts-ignore + fileStatisticsAllNode.minDuration =// @ts-ignore fileStatisticsAllNode.minDuration <= item.minDuration ? fileStatisticsAllNode.minDuration : item.minDuration; - } - fileStatisticsAllNode.count += item.count; - fileStatisticsAllNode.logicalReads += item.logicalReads; - fileStatisticsAllNode.logicalWrites += item.logicalWrites; - fileStatisticsAllNode.otherFile += item.otherFile; - fileStatisticsAllNode.allDuration += item.allDuration; - fileStatisticsAllNode.maxDuration = + }// @ts-ignore + fileStatisticsAllNode.count += item.count;// @ts-ignore + fileStatisticsAllNode.logicalReads += item.logicalReads;// @ts-ignore + fileStatisticsAllNode.logicalWrites += item.logicalWrites;// @ts-ignore + fileStatisticsAllNode.otherFile += item.otherFile;// @ts-ignore + fileStatisticsAllNode.allDuration += item.allDuration;// @ts-ignore + fileStatisticsAllNode.maxDuration =// @ts-ignore fileStatisticsAllNode.maxDuration >= item.maxDuration ? fileStatisticsAllNode.maxDuration : item.maxDuration; }); } - sortTable(fileStatisticsAllNode: any, key: string): void { - fileStatisticsAllNode.children.sort((fileStatisticsA: any, fileStatisticsB: any) => { - if (this.fileStatisticsSortType === 1) { + sortTable(fileStatisticsAllNode: unknown, key: string): void {// @ts-ignore + fileStatisticsAllNode.children.sort((fileStatisticsA: unknown, fileStatisticsB: unknown) => { + if (this.fileStatisticsSortType === 1) {// @ts-ignore return fileStatisticsA.node[key] - fileStatisticsB.node[key]; - } else if (this.fileStatisticsSortType === 2) { + } else if (this.fileStatisticsSortType === 2) {// @ts-ignore return fileStatisticsB.node[key] - fileStatisticsA.node[key]; } - }); - fileStatisticsAllNode.children.forEach((item: any): void => { - item.children.sort((fileStatisticsA: any, fileStatisticsB: any) => { - if (this.fileStatisticsSortType === 1) { + });// @ts-ignore + fileStatisticsAllNode.children.forEach((item: unknown): void => {// @ts-ignore + item.children.sort((fileStatisticsA: unknown, fileStatisticsB: unknown) => { + if (this.fileStatisticsSortType === 1) {// @ts-ignore return fileStatisticsA.node[key] - fileStatisticsB.node[key]; - } else if (this.fileStatisticsSortType === 2) { + } else if (this.fileStatisticsSortType === 2) {// @ts-ignore return fileStatisticsB.node[key] - fileStatisticsA.node[key]; } }); diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatisticsAnalysis.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatisticsAnalysis.ts index 4e08f952c..fd1afddea 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatisticsAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFilesystemStatisticsAnalysis.ts @@ -32,12 +32,12 @@ import { TabPaneFilesystemStatisticsAnalysisHtml } from './TabPaneFilesystemStat export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { private fsPieChart: LitChartPie | null | undefined; private fsCurrentSelection: SelectionParam | null | undefined; - private fileStatisticsAnalysisProcessData: any; - private fileStatisticsAnalysisThreadData!: any[]; - private fileStatisticsAnalysisSoData!: any[]; - private fileStatisticsAnalysisPidData!: any[]; - private fileStatisticsAnalysisTypeData!: any[]; - private fileStatisticsAnalysisFunctionData!: any[]; + private fileStatisticsAnalysisProcessData: unknown; + private fileStatisticsAnalysisThreadData!: unknown[]; + private fileStatisticsAnalysisSoData!: unknown[]; + private fileStatisticsAnalysisPidData!: unknown[]; + private fileStatisticsAnalysisTypeData!: unknown[]; + private fileStatisticsAnalysisFunctionData!: unknown[]; private fileStatisticsAnalysisTableProcess: LitTable | null | undefined; private fileStatisticsAnalysisTableType: LitTable | null | undefined; private fileStatisticsAnalysisTableThread: LitTable | null | undefined; @@ -54,7 +54,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { private fsSortType: number = 0; private typeName: string = ''; private currentLevel = -1; - private currentLevelData!: Array; + private currentLevelData!: Array; private processStatisticsData!: {}; private typeStatisticsData!: {}; private threadStatisticsData!: {}; @@ -100,7 +100,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { funcArgs: [{ queryFuncName: 'fileSystem', ...val }], }, ], - (results: any[]): void => { + (results: unknown[]): void => { this.disableCheckBox(results); this.getFilesystemProcess(results); } @@ -152,7 +152,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { addRowClickEventListener(this.fileStatisticsAnalysisTableThread!, this.fileThreadLevelClickEvent.bind(this)); addRowClickEventListener(this.fileStatisticsAnalysisTableSo!, this.fileSoLevelClickEvent.bind(this)); } - private disableCheckBox(results: Array): void { + private disableCheckBox(results: Array): void { if (results.length === 0) { this.hideProcessCheckBox?.setAttribute('disabled', 'disabled'); this.hideThreadCheckBox?.setAttribute('disabled', 'disabled'); @@ -170,7 +170,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } else if (this.hideProcessCheckBox!.checked && !this.hideThreadCheckBox!.checked) { this.hideProcess(); } else { - this.reset(this.fileStatisticsAnalysisTableProcess!, false); + this.reset(this.fileStatisticsAnalysisTableProcess!, false);// @ts-ignore this.getFilesystemProcess(this.fileStatisticsAnalysisProcessData); } }); @@ -310,7 +310,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { this.getFilesystemType(null); } - private hideThread(it?: any): void { + private hideThread(it?: unknown): void { this.reset(this.fileStatisticsAnalysisTableType!, true); this.fsProcessName = ''; this.fileStatisticsAnalysisThreadName = ''; @@ -332,7 +332,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getFsTip(), angleClick: (fsPieClickItem): void => { // @ts-ignore @@ -363,7 +363,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { this.fileStatisticsAnalysisTableProcess?.reMeauseHeight(); } - private fileProcessLevelClickEvent(it: any): void { + private fileProcessLevelClickEvent(it: unknown): void { this.reset(this.fileStatisticsAnalysisTableType!, true); this.getFilesystemType(it); // @ts-ignore @@ -381,7 +381,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getFileTypeTip(), angleClick: (it): void => { this.fileTypeLevelClickEvent(it); @@ -410,7 +410,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } private getFileTypeTip() { - return (obj: { obj: { tableName: any; durFormat: any; percent: any } }): string => { + return (obj: { obj: { tableName: unknown; durFormat: unknown; percent: unknown } }): string => { return `
Type:${obj.obj.tableName}
Duration:${obj.obj.durFormat}
@@ -420,7 +420,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }; } - private fileTypeLevelClickEvent(it: any): void { + private fileTypeLevelClickEvent(it: unknown): void { if (this.hideThreadCheckBox!.checked) { this.reset(this.fileStatisticsAnalysisTableSo!, true); this.getFilesystemSo(it); @@ -452,7 +452,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getFileTypeTip(), angleClick: (it): void => { // @ts-ignore @@ -491,7 +491,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } private getFsTip() { - return (obj: { obj: { tableName: any; durFormat: any; percent: any } }): string => { + return (obj: { obj: { tableName: unknown; durFormat: unknown; percent: unknown } }): string => { return `
ThreadName:${obj.obj.tableName}
Duration:${obj.obj.durFormat}
@@ -501,7 +501,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }; } - private fileThreadLevelClickEvent(it: any): void { + private fileThreadLevelClickEvent(it: unknown): void { this.reset(this.fileStatisticsAnalysisTableSo!, true); this.getFilesystemSo(it); // @ts-ignore @@ -560,9 +560,12 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }, tip: (fileSysObj): string => { return `
-
Library:${fileSysObj.obj.tableName}
-
Duration:${fileSysObj.obj.durFormat}
-
Percent:${fileSysObj.obj.percent}%
+
Library:${// @ts-ignore + fileSysObj.obj.tableName}
+
Duration:${// @ts-ignore + fileSysObj.obj.durFormat}
+
Percent:${// @ts-ignore + fileSysObj.obj.percent}%
`; }, @@ -587,15 +590,15 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }; } - private fileSoLevelClickEvent(it: any): void { + private fileSoLevelClickEvent(it: unknown): void { this.reset(this.fileStatisticsAnalysisTableFunction!, true); this.fileStatisticsAnalysisProgressEL!.loading = true; - this.shadowRoot!.querySelector('.fs-subheading')!.textContent = 'Statistic By Function AllDuration'; + this.shadowRoot!.querySelector('.fs-subheading')!.textContent = 'Statistic By Function AllDuration';// @ts-ignore if (!this.fileStatisticsAnalysisProcessData || this.fileStatisticsAnalysisProcessData.length === 0) { return; } let allDur = 0; - let symbolMap = new Map>(); + let symbolMap = new Map>(); allDur = this.symbolMapProcessData(it, allDur, symbolMap); this.updateFunctionData(symbolMap, it, allDur); this.getFilesystemFunction(allDur); @@ -608,15 +611,15 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } if (this.fileStatisticsAnalysisThreadName.length > 0 && !this.hideThreadCheckBox!.checked) { title += `${this.fileStatisticsAnalysisThreadName } / `; - } - if (it.tableName.length > 0) { + }// @ts-ignore + if (it.tableName.length > 0) {// @ts-ignore title += it.tableName; } this.fileSystemTitleEl!.textContent = title; this.fsPieChart?.hideTip(); } - private getFilesystemFunction(allDur: number): void { + private getFilesystemFunction(allDur: number): void {// @ts-ignore this.fileStatisticsAnalysisFunctionData.sort((a, b) => b.duration - a.duration); this.functionStatisticsData = this.totalDurationData(allDur); this.currentLevel = 4; @@ -634,9 +637,12 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }, tip: (fsaObj): string => { return `
-
Function:${fsaObj.obj.tableName}
-
Duration:${fsaObj.obj.durFormat}
-
percent:${fsaObj.obj.percent}
+
Function:${// @ts-ignore + fsaObj.obj.tableName}
+
Duration:${// @ts-ignore + fsaObj.obj.durFormat}
+
percent:${// @ts-ignore + fsaObj.obj.percent}
`; }, @@ -695,7 +701,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { if (this.fsSortColumn === 'tableName') { this.sortTableNameCase(fsaCurrentTable, fsaArray); } else if (this.fsSortColumn === 'durFormat' || this.fsSortColumn === 'percent') { - fsaCurrentTable!.recycleDataSource = fsaArray.sort((a, b) => { + fsaCurrentTable!.recycleDataSource = fsaArray.sort((a, b) => {// @ts-ignore return this.fsSortType === 1 ? a.duration - b.duration : b.duration - a.duration; }); } @@ -741,19 +747,19 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { fsaCurrentTable!.recycleDataSource = fsaArr; } - private sortTableNameCase(fsaCurrentTable: LitTable, fsaArray: any[]): void { + private sortTableNameCase(fsaCurrentTable: LitTable, fsaArray: unknown[]): void { fsaCurrentTable!.recycleDataSource = fsaArray.sort((firstElement, secondElement): number => { - if (this.fsSortType === 1) { + if (this.fsSortType === 1) {// @ts-ignore if (firstElement.tableName > secondElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstElement.tableName === secondElement.tableName) { return 0; } else { return -1; } - } else { + } else {// @ts-ignore if (secondElement.tableName > firstElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstElement.tableName === secondElement.tableName) { return 0; } else { @@ -763,8 +769,8 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }); } - private getFilesystemProcess(result: Array): void { - this.fileStatisticsAnalysisProcessData = JSON.parse(JSON.stringify(result)); + private getFilesystemProcess(result: Array): void { + this.fileStatisticsAnalysisProcessData = JSON.parse(JSON.stringify(result));// @ts-ignore if (!this.fileStatisticsAnalysisProcessData || this.fileStatisticsAnalysisProcessData.length === 0) { this.fileStatisticsAnalysisPidData = []; this.processStatisticsData = []; @@ -773,29 +779,29 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } let allDur = 0; let pidMap = new Map>(); - for (let itemData of result) { - allDur += itemData.dur; - if (pidMap.has(itemData.pid)) { + for (let itemData of result) {// @ts-ignore + allDur += itemData.dur;// @ts-ignore + if (pidMap.has(itemData.pid)) {// @ts-ignore pidMap.get(itemData.pid)?.push(itemData); } else { let itemArray = []; - itemArray.push(itemData); + itemArray.push(itemData);// @ts-ignore pidMap.set(itemData.pid, itemArray); } } this.fileStatisticsAnalysisPidData = []; - pidMap.forEach((value: Array, key: string): void => { + pidMap.forEach((value: Array, key: string): void => { let analysisPidDataDur = 0; let pName = ''; - for (let fileSysStatPidItem of value) { - if (fileSysStatPidItem.processName && fileSysStatPidItem.processName.length > 0) { - if (!fileSysStatPidItem.processName.endsWith(`(${fileSysStatPidItem.pid})`)) { + for (let fileSysStatPidItem of value) {// @ts-ignore + if (fileSysStatPidItem.processName && fileSysStatPidItem.processName.length > 0) {// @ts-ignore + if (!fileSysStatPidItem.processName.endsWith(`(${fileSysStatPidItem.pid})`)) {// @ts-ignore fileSysStatPidItem.processName = `${fileSysStatPidItem.processName}(${fileSysStatPidItem.pid})`; } - } else { + } else {// @ts-ignore fileSysStatPidItem.processName = `Process(${fileSysStatPidItem.pid})`; - } - pName = fileSysStatPidItem.processName; + }// @ts-ignore + pName = fileSysStatPidItem.processName;// @ts-ignore analysisPidDataDur += fileSysStatPidItem.dur; } this.fileStatisticsAnalysisPidData.push({ @@ -805,7 +811,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { durFormat: Utils.getProbablyTime(analysisPidDataDur), duration: analysisPidDataDur, }); - }); + });// @ts-ignore this.fileStatisticsAnalysisPidData.sort((a, b) => b.duration - a.duration); this.processStatisticsData = this.totalDurationData(allDur); this.currentLevel = 0; @@ -813,14 +819,14 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { this.processPieChart(); } - private getFilesystemType(fileSysStatTypeItem: any): void { + private getFilesystemType(fileSysStatTypeItem: unknown): void { this.fileStatisticsAnalysisProgressEL!.loading = true; let typeMap = new Map>(); - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.fileStatisticsAnalysisProcessData || this.fileStatisticsAnalysisProcessData.length === 0) { return; - } - for (let fsItem of this.fileStatisticsAnalysisProcessData) { + }// @ts-ignore + for (let fsItem of this.fileStatisticsAnalysisProcessData) {// @ts-ignore if (fileSysStatTypeItem && fsItem.pid !== fileSysStatTypeItem.pid && !this.hideProcessCheckBox?.checked) { continue; } @@ -834,13 +840,13 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { } } this.fileStatisticsAnalysisTypeData = []; - typeMap.forEach((value: Array, key: number): void => { + typeMap.forEach((value: Array, key: number): void => { let dur = 0; - for (let item of value) { + for (let item of value) {// @ts-ignore dur += item.dur; } const typeData = { - tableName: this.typeIdToString(key), + tableName: this.typeIdToString(key),// @ts-ignore pid: fileSysStatTypeItem === null ? value[0].pid : fileSysStatTypeItem.pid, type: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -848,7 +854,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { duration: dur, }; this.fileStatisticsAnalysisTypeData.push(typeData); - }); + });// @ts-ignore this.fileStatisticsAnalysisTypeData.sort((a, b) => b.duration - a.duration); this.typeStatisticsData = this.totalDurationData(allDur); this.currentLevel = 1; @@ -856,15 +862,15 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { this.fileStatisticsAnalysisProgressEL!.loading = false; } - private getFilesystemThread(fileSysStatThreadItem: any): void { + private getFilesystemThread(fileSysStatThreadItem: unknown): void { this.fileStatisticsAnalysisProgressEL!.loading = true; - let threadMap = new Map>(); - let pid = fileSysStatThreadItem.pid; + let threadMap = new Map>();// @ts-ignore + let pid = fileSysStatThreadItem.pid;// @ts-ignore let type = fileSysStatThreadItem.type; - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.fileStatisticsAnalysisProcessData || this.fileStatisticsAnalysisProcessData.length === 0) { return; - } + }// @ts-ignore for (let fspItem of this.fileStatisticsAnalysisProcessData) { if ( (!this.hideProcessCheckBox?.checked && fspItem.pid !== pid) || @@ -882,7 +888,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { threadMap.set(fspItem.tid, itemArray); } } - this.updateThreadData(threadMap, fileSysStatThreadItem, allDur); + this.updateThreadData(threadMap, fileSysStatThreadItem, allDur);// @ts-ignore this.fileStatisticsAnalysisThreadData.sort((a, b) => b.duration - a.duration); this.threadStatisticsData = this.totalDurationData(allDur); this.currentLevel = 2; @@ -892,23 +898,23 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { private updateThreadData( threadMap: Map>, - fileSysStatThreadItem: any, + fileSysStatThreadItem: unknown, allDur: number ): void { this.fileStatisticsAnalysisThreadData = []; - threadMap.forEach((value: Array, key: string): void => { + threadMap.forEach((value: Array, key: string): void => { let dur = 0; let tName = ''; - for (let fileSysStatThreadItem of value) { - dur += fileSysStatThreadItem.dur; - tName = fileSysStatThreadItem.threadName = - fileSysStatThreadItem.threadName === null || fileSysStatThreadItem.threadName === undefined ? - `Thread(${fileSysStatThreadItem.tid})` : + for (let fileSysStatThreadItem of value) {// @ts-ignore + dur += fileSysStatThreadItem.dur;// @ts-ignore + tName = fileSysStatThreadItem.threadName =// @ts-ignore + fileSysStatThreadItem.threadName === null || fileSysStatThreadItem.threadName === undefined ?// @ts-ignore + `Thread(${fileSysStatThreadItem.tid})` :// @ts-ignore `${fileSysStatThreadItem.threadName}(${fileSysStatThreadItem.tid})`; } const threadData = { - tableName: tName, - pid: fileSysStatThreadItem.pid, + tableName: tName,// @ts-ignore + pid: fileSysStatThreadItem.pid,// @ts-ignore type: fileSysStatThreadItem.type, tid: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -919,10 +925,10 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }); } - private getFilesystemSo(item: any): void { + private getFilesystemSo(item: unknown): void { this.fileStatisticsAnalysisProgressEL!.loading = true; let allDur = 0; - let libMap = new Map>(); + let libMap = new Map>();// @ts-ignore if (!this.fileStatisticsAnalysisProcessData || this.fileStatisticsAnalysisProcessData.length === 0) { return; } @@ -934,7 +940,7 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { this.libraryPieChart(); } - private libMapProcessData(item: any, allDur: number, libMap: Map>): number { + private libMapProcessData(item: unknown, allDur: number, libMap: Map>): number {// @ts-ignore for (let itemData of this.fileStatisticsAnalysisProcessData) { if (this.libIsAccumulationData(item, itemData)) { continue; @@ -951,35 +957,35 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { return allDur; } - private libIsAccumulationData(item: any, itemData: any): boolean { + private libIsAccumulationData(item: unknown, itemData: unknown): boolean { if (!item) { return false; } - if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return itemData.pid !== item.pid || itemData.tid !== item.tid || itemData.type !== item.type; } - if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return itemData.pid !== item.pid || itemData.type !== item.type; } - if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return itemData.tid !== item.tid || itemData.type !== item.type; } - if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return itemData.type !== item.type; } return false; } - private updateSoData(libMap: Map>, item: any, allDur: number): void { + private updateSoData(libMap: Map>, item: unknown, allDur: number): void { this.fileStatisticsAnalysisSoData = []; - libMap.forEach((value: any[], key: number): void => { + libMap.forEach((value: unknown[], key: number): void => { let dur = 0; let soName = ''; - for (let item of value) { + for (let item of value) {// @ts-ignore dur += item.dur; - if (key === null) { + if (key === null) {// @ts-ignore item.libName = 'unknown'; - } + }// @ts-ignore soName = item.libName; } let libPath = soName?.split('/'); @@ -987,9 +993,9 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { soName = libPath[libPath.length - 1]; } const soData = { - tableName: soName, - pid: item === null ? value[0].pid : item.pid, - type: item === null ? value[0].type : item.type, + tableName: soName,// @ts-ignore + pid: item === null ? value[0].pid : item.pid,// @ts-ignore + type: item === null ? value[0].type : item.type,// @ts-ignore tid: item === null ? value[0].tid : item.tid, libId: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -997,15 +1003,15 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { duration: dur, }; this.fileStatisticsAnalysisSoData.push(soData); - }); + });// @ts-ignore this.fileStatisticsAnalysisSoData.sort((a, b) => b.duration - a.duration); } - private symbolMapProcessData(item: any, allDur: number, symbolMap: Map>): number { - let tid = item.tid; - let pid = item.pid; - let type = item.type; - let libId = item.libId; + private symbolMapProcessData(item: unknown, allDur: number, symbolMap: Map>): number {// @ts-ignore + let tid = item.tid;// @ts-ignore + let pid = item.pid;// @ts-ignore + let type = item.type;// @ts-ignore + let libId = item.libId;// @ts-ignore for (let fsProcessData of this.fileStatisticsAnalysisProcessData) { if (this.symbolIsAccumulationData(fsProcessData, tid, pid, type, libId)) { continue; @@ -1022,47 +1028,47 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { return allDur; } - private symbolIsAccumulationData(fsProcessData: any, tid: number, pid: number, type: string, libId: number): boolean { + private symbolIsAccumulationData(fsProcessData: unknown, tid: number, pid: number, type: string, libId: number): boolean { if (!fsProcessData) { return false; } if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { - return ( - fsProcessData.pid !== pid || - fsProcessData.tid !== tid || - fsProcessData.type !== type || + return (// @ts-ignore + fsProcessData.pid !== pid ||// @ts-ignore + fsProcessData.tid !== tid ||// @ts-ignore + fsProcessData.type !== type ||// @ts-ignore fsProcessData.libId !== libId ); } - if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return fsProcessData.pid !== pid || fsProcessData.type !== type || fsProcessData.libId !== libId; } - if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return fsProcessData.tid !== tid || fsProcessData.type !== type || fsProcessData.libId !== libId; } - if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return fsProcessData.type !== type || fsProcessData.libId !== libId; } return false; } - private updateFunctionData(symbolMap: Map>, item: any, allDur: number): void { + private updateFunctionData(symbolMap: Map>, item: unknown, allDur: number): void { this.fileStatisticsAnalysisFunctionData = []; symbolMap.forEach((symbolItems, key): void => { let dur = 0; let fsSymbolName = ''; - for (let symbolItem of symbolItems) { - fsSymbolName = symbolItem.symbolName; + for (let symbolItem of symbolItems) {// @ts-ignore + fsSymbolName = symbolItem.symbolName;// @ts-ignore dur += symbolItem.dur; } let symbolPath = fsSymbolName?.split('/'); if (symbolPath) { fsSymbolName = symbolPath[symbolPath.length - 1]; } - const symbolData = { - pid: item.pid, - type: item.type, - tid: item.tid, + const symbolData = {// @ts-ignore + pid: item.pid,// @ts-ignore + type: item.type,// @ts-ignore + tid: item.tid,// @ts-ignore libId: item.libId, symbolId: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -1103,37 +1109,37 @@ export class TabPaneFilesystemStatisticsAnalysis extends BaseElement { }; } - private getFsPieChartData(fsPieChartData: any[]): unknown[] { + private getFsPieChartData(fsPieChartData: unknown[]): unknown[] { if (fsPieChartData.length > 20) { let fsPieChartArr: string[] = []; - let other: any = { + let other: unknown = { tableName: 'other', duration: 0, percent: 0, durFormat: 0, }; for (let pieDataIndex = 0; pieDataIndex < fsPieChartData.length; pieDataIndex++) { - if (pieDataIndex < 19) { + if (pieDataIndex < 19) {// @ts-ignore fsPieChartArr.push(fsPieChartData[pieDataIndex]); - } else { - other.duration += fsPieChartData[pieDataIndex].duration; - other.durFormat = Utils.getProbablyTime(other.duration); + } else {// @ts-ignore + other.duration += fsPieChartData[pieDataIndex].duration;// @ts-ignore + other.durFormat = Utils.getProbablyTime(other.duration);// @ts-ignore other.percent = ((other.duration / this.sumDur) * 100).toFixed(2); } - } + }// @ts-ignore fsPieChartArr.push(other); return fsPieChartArr; } return fsPieChartData; } - private getDataByWorker(args: any[], handler: Function): void { + private getDataByWorker(args: unknown[], handler: Function): void { procedurePool.submitWithName( 'logic0', 'fileSystem-action', { args, callType: 'fileSystem', isAnalysis: true }, undefined, - (results: any) => { + (results: unknown) => { handler(results); this.fileStatisticsAnalysisProgressEL!.loading = false; } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatistics.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatistics.ts index e3a942b8b..87dbe2d07 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatistics.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatistics.ts @@ -26,18 +26,20 @@ export class TabPaneIOTierStatistics extends BaseElement { private ioTierStatisticsTbl: LitTable | null | undefined; private ioTierStatisticsSelectionParam: SelectionParam | null | undefined; private ioTierStatisticsProgressEL: LitProgressBar | null | undefined; - private loadingPage: any; + private loadingPage: unknown; private loadingList: number[] = []; - private ioTierStatisticsSource: Array = []; + private ioTierStatisticsSource: Array = []; private ioTierStatisticsSortKey: string = ''; private ioTierStatisticsSortType: number = 0; - set data(ioTierStatisticsSelection: SelectionParam | any) { + set data(ioTierStatisticsSelection: SelectionParam | unknown) { if (ioTierStatisticsSelection === this.ioTierStatisticsSelectionParam) { return; } this.ioTierStatisticsProgressEL!.loading = true; + // @ts-ignore this.loadingPage.style.visibility = 'visible'; + // @ts-ignore this.ioTierStatisticsSelectionParam = ioTierStatisticsSelection; // @ts-ignore this.ioTierStatisticsTbl!.shadowRoot!.querySelector('.table').style.height = @@ -67,47 +69,60 @@ export class TabPaneIOTierStatistics extends BaseElement { if (this.parentElement!.clientHeight !== 0) { // @ts-ignore this.ioTierStatisticsTbl!.shadowRoot!.querySelector('.table').style.height = - `${this.parentElement!.clientHeight - 25 }px`; + `${this.parentElement!.clientHeight - 25}px`; this.ioTierStatisticsTbl!.reMeauseHeight(); + // @ts-ignore this.loadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); } - getInitData(initIoTierItem: any, nameTitle: any = 'pname', subtitle: any = null): any { - if (nameTitle === 'path') { + getInitData(initIoTierItem: unknown, nameTitle: unknown = 'pname', subtitle: unknown = null): unknown { + if (nameTitle === 'path') {// @ts-ignore initIoTierItem.path = + // @ts-ignore initIoTierItem.path !== null ? SpSystemTrace.DATA_DICT.get(parseInt(initIoTierItem.path)) : '-'; } return { + // @ts-ignore ...initIoTierItem, + // @ts-ignore title: initIoTierItem[nameTitle] + (subtitle ? `(${initIoTierItem[subtitle]})` : ''), + // @ts-ignore allDuration: Utils.getProbablyTime(initIoTierItem.allDuration), + // @ts-ignore minDuration: Utils.getProbablyTime(initIoTierItem.minDuration), + // @ts-ignore maxDuration: Utils.getProbablyTime(initIoTierItem.maxDuration), + // @ts-ignore avgDuration: Utils.getProbablyTime(initIoTierItem.avgDuration), + // @ts-ignore node: { ...initIoTierItem, children: [] }, }; } - queryDataByDB(ioTierParam: SelectionParam | any): void { + queryDataByDB(ioTierParam: SelectionParam | unknown): void { this.loadingList.push(1); this.ioTierStatisticsProgressEL!.loading = true; + // @ts-ignore this.loadingPage.style.visibility = 'visible'; - getTabPaneIOTierStatisticsData( + getTabPaneIOTierStatisticsData(// @ts-ignore ioTierParam.leftNs + ioTierParam.recordStartNs, + // @ts-ignore ioTierParam.rightNs + ioTierParam.recordStartNs, + // @ts-ignore ioTierParam.diskIOipids ).then((result): void => { this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { this.ioTierStatisticsProgressEL!.loading = false; + // @ts-ignore this.loadingPage.style.visibility = 'hidden'; } this.sortioTierStatisticsStatus(result, 'tier', 'ipid'); }); } - private theadClick(res: Array): void { + private theadClick(res: Array): void { let labels = this.ioTierStatisticsTbl?.shadowRoot?.querySelector('.th > .td')!.querySelectorAll('label'); if (labels) { for (let i = 0; i < labels.length; i++) { @@ -137,10 +152,10 @@ export class TabPaneIOTierStatistics extends BaseElement { } } - sortioTierStatisticsStatus(result: Array, firstLevel: string, secondLevel: string): void { - let ioTierFatherMap = new Map(); - let ioTierChildMap = new Map(); - let ioTierAllNode: any = { + sortioTierStatisticsStatus(result: Array, firstLevel: string, secondLevel: string): void { + let ioTierFatherMap = new Map(); + let ioTierChildMap = new Map(); + let ioTierAllNode: unknown = { title: 'All', count: 0, allDuration: 0, @@ -152,44 +167,62 @@ export class TabPaneIOTierStatistics extends BaseElement { result.forEach((resultItem, idx): void => { this.updateIoTierChildMap(ioTierChildMap, resultItem, firstLevel, secondLevel); this.updateIoTierFatherMap(ioTierFatherMap, resultItem, firstLevel); - if (idx === 0) { + if (idx === 0) {// @ts-ignore ioTierAllNode.minDuration = resultItem.minDuration; - } else { + } else {// @ts-ignore ioTierAllNode.minDuration = + // @ts-ignore ioTierAllNode.minDuration <= resultItem.minDuration ? ioTierAllNode.minDuration : resultItem.minDuration; - } + }// @ts-ignore ioTierAllNode.count += resultItem.count; + // @ts-ignore ioTierAllNode.allDuration += resultItem.allDuration; + // @ts-ignore ioTierAllNode.maxDuration = + // @ts-ignore ioTierAllNode.maxDuration >= resultItem.maxDuration ? ioTierAllNode.maxDuration : resultItem.maxDuration; }); this.calculateAvgDuration(ioTierFatherMap, ioTierChildMap, ioTierAllNode); ioTierAllNode = this.getInitData(ioTierAllNode); + // @ts-ignore ioTierAllNode.title = 'All'; + // @ts-ignore ioTierAllNode.path = { tier: null, pid: null, path: null, value: 'All' }; this.ioTierStatisticsSource = result.length > 0 ? [ioTierAllNode] : []; - if (this.ioTierStatisticsSortType !== 0 && result.length > 0) - {this.sortTable(this.ioTierStatisticsSource[0], this.ioTierStatisticsSortKey)} + if (this.ioTierStatisticsSortType !== 0 && result.length > 0) { this.sortTable(this.ioTierStatisticsSource[0], this.ioTierStatisticsSortKey) } this.theadClick(this.ioTierStatisticsSource); this.ioTierStatisticsTbl!.recycleDataSource = this.ioTierStatisticsSource; } - private updateIoTierFatherMap(ioTierFatherMap: Map, resultItem: any, firstLevel: string): void { - if (ioTierFatherMap.has(resultItem[firstLevel])) { + private updateIoTierFatherMap(ioTierFatherMap: Map, resultItem: unknown, firstLevel: string): void {// @ts-ignore + if (ioTierFatherMap.has(resultItem[firstLevel])) {// @ts-ignore let currentFatherObject = ioTierFatherMap.get(resultItem[firstLevel]); + // @ts-ignore currentFatherObject.count += resultItem.count; + // @ts-ignore currentFatherObject.allDuration += resultItem.allDuration; + // @ts-ignore currentFatherObject.minDuration = + // @ts-ignore currentFatherObject.minDuration <= resultItem.minDuration ? + // @ts-ignore currentFatherObject.minDuration : + // @ts-ignore resultItem.minDuration; + // @ts-ignore currentFatherObject.maxDuration = + // @ts-ignore currentFatherObject.maxDuration >= resultItem.maxDuration ? + // @ts-ignore currentFatherObject.maxDuration : + // @ts-ignore resultItem.maxDuration; + // @ts-ignore currentFatherObject.children.push(this.getInitData(resultItem)); } else { + // @ts-ignore ioTierFatherMap.set(resultItem[firstLevel], { + // @ts-ignore ...resultItem, children: [this.getInitData(resultItem)], }); @@ -197,26 +230,30 @@ export class TabPaneIOTierStatistics extends BaseElement { } private updateIoTierChildMap( - ioTierChildMap: Map, - resultItem: any, + ioTierChildMap: Map, + resultItem: unknown, firstLevel: string, secondLevel: string ): void { + // @ts-ignore if (ioTierChildMap.has(`${resultItem[firstLevel]}_${resultItem[secondLevel]}`)) { + // @ts-ignore let currentChildObject = ioTierChildMap.get(`${resultItem[firstLevel]}_${resultItem[secondLevel]}`); + // @ts-ignore currentChildObject.count += resultItem.count; - currentChildObject.allDuration += resultItem.allDuration; - currentChildObject.minDuration = - currentChildObject.minDuration <= resultItem.minDuration ? - currentChildObject.minDuration : - resultItem.minDuration; - currentChildObject.maxDuration = - currentChildObject.maxDuration >= resultItem.maxDuration ? - currentChildObject.maxDuration : - resultItem.maxDuration; + // @ts-ignore + currentChildObject.allDuration += resultItem.allDuration;// @ts-ignore + currentChildObject.minDuration =// @ts-ignore + currentChildObject.minDuration <= resultItem.minDuration ?// @ts-ignore + currentChildObject.minDuration :// @ts-ignore + resultItem.minDuration;// @ts-ignore + currentChildObject.maxDuration =// @ts-ignore + currentChildObject.maxDuration >= resultItem.maxDuration ?// @ts-ignore + currentChildObject.maxDuration :// @ts-ignore + resultItem.maxDuration;// @ts-ignore currentChildObject.children.push(this.getInitData(resultItem, 'path', null)); - } else { - ioTierChildMap.set(`${resultItem[firstLevel]}_${resultItem[secondLevel]}`, { + } else {// @ts-ignore + ioTierChildMap.set(`${resultItem[firstLevel]}_${resultItem[secondLevel]}`, {// @ts-ignore ...resultItem, children: [this.getInitData(resultItem, 'path', null)], }); @@ -224,70 +261,70 @@ export class TabPaneIOTierStatistics extends BaseElement { } private calculateAvgDuration( - ioTierFatherMap: Map, - ioTierChildMap: Map, - ioTierAllNode: any + ioTierFatherMap: Map, + ioTierChildMap: Map, + ioTierAllNode: unknown ): void { for (let ks of ioTierFatherMap.keys()) { - let sp = ioTierFatherMap.get(ks); - sp!.children = []; + let sp = ioTierFatherMap.get(ks);// @ts-ignore + sp!.children = [];// @ts-ignore sp.avgDuration = sp.allDuration / sp.count; - let ioTierNode = this.getInitData(sp, 'tier', null); - ioTierNode.path = { + let ioTierNode = this.getInitData(sp, 'tier', null);// @ts-ignore + ioTierNode.path = {// @ts-ignore tier: ioTierNode.tier, pid: null, - path: null, + path: null,// @ts-ignore value: ioTierNode.title, }; - for (let kst of ioTierChildMap.keys()) { + for (let kst of ioTierChildMap.keys()) {// @ts-ignore if (kst.startsWith(`${ks}_`)) { - let spt = ioTierChildMap.get(kst); + let spt = ioTierChildMap.get(kst);// @ts-ignore spt.avgDuration = spt.allDuration / spt.count; - let data = this.getInitData(spt!, 'pname', 'pid'); - data.path = { - tier: ioTierNode.tier, + let data = this.getInitData(spt!, 'pname', 'pid');// @ts-ignore + data.path = {// @ts-ignore + tier: ioTierNode.tier,// @ts-ignore pid: data.pid, - path: null, + path: null,// @ts-ignore value: `All-${ioTierNode.title}-${data.title}`, - }; - data.children.forEach((e: any): void => { - e.path = { - tier: ioTierNode.tier, - pid: data.pid, - path: e.path, + };// @ts-ignore + data.children.forEach((e: unknown): void => {// @ts-ignore + e.path = {// @ts-ignore + tier: ioTierNode.tier,// @ts-ignore + pid: data.pid,// @ts-ignore + path: e.path,// @ts-ignore value: `All-${ioTierNode.title}-${data.title}-${e.title}`, }; - }); + });// @ts-ignore sp!.children.push(data); } - } + }// @ts-ignore ioTierAllNode.children.push(ioTierNode); } - +// @ts-ignore ioTierAllNode.avgDuration = ioTierAllNode.allDuration / ioTierAllNode.count; } - sortTable(allNode: any, key: string): void { - allNode.children.sort((ioTierStatNodeA: any, ioTierStatNodeB: any) => { - if (this.ioTierStatisticsSortType === 1) { + sortTable(allNode: unknown, key: string): void {// @ts-ignore + allNode.children.sort((ioTierStatNodeA: unknown, ioTierStatNodeB: unknown) => { + if (this.ioTierStatisticsSortType === 1) {// @ts-ignore return ioTierStatNodeA.node[key] - ioTierStatNodeB.node[key]; - } else if (this.ioTierStatisticsSortType === 2) { + } else if (this.ioTierStatisticsSortType === 2) {// @ts-ignore return ioTierStatNodeB.node[key] - ioTierStatNodeA.node[key]; } - }); - allNode.children.forEach((item: any): void => { - item.children.sort((ioTierStatItemA: any, ioTierStatItemB: any) => { - if (this.ioTierStatisticsSortType === 1) { + });// @ts-ignore + allNode.children.forEach((item: unknown): void => {// @ts-ignore + item.children.sort((ioTierStatItemA: unknown, ioTierStatItemB: unknown) => { + if (this.ioTierStatisticsSortType === 1) {// @ts-ignore return ioTierStatItemA.node[key] - ioTierStatItemB.node[key]; - } else if (this.ioTierStatisticsSortType === 2) { + } else if (this.ioTierStatisticsSortType === 2) {// @ts-ignore return ioTierStatItemB.node[key] - ioTierStatItemA.node[key]; } - }); - item.children.forEach((ioTierStatItem: any): void => { - ioTierStatItem.children.sort((ioTierStatItemA: any, ioTierStatItemB: any) => { - if (this.ioTierStatisticsSortType === 1) { + });// @ts-ignore + item.children.forEach((ioTierStatItem: unknown): void => {// @ts-ignore + ioTierStatItem.children.sort((ioTierStatItemA: unknown, ioTierStatItemB: unknown) => { + if (this.ioTierStatisticsSortType === 1) {// @ts-ignore return ioTierStatItemA.node[key] - ioTierStatItemB.node[key]; - } else if (this.ioTierStatisticsSortType === 2) { + } else if (this.ioTierStatisticsSortType === 2) {// @ts-ignore return ioTierStatItemB.node[key] - ioTierStatItemA.node[key]; } }); diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatisticsAnalysis.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatisticsAnalysis.ts index 855c1d5e8..3c5c1da09 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatisticsAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneIOTierStatisticsAnalysis.ts @@ -31,12 +31,12 @@ import { TabPaneIOTierStatisticsAnalysisHtml } from './TabPaneIOTierStatisticsAn export class TabPaneIOTierStatisticsAnalysis extends BaseElement { private ioPieChart: LitChartPie | null | undefined; private currentSelection: SelectionParam | null | undefined; - private processData: any; - private pidData!: any[]; - private threadData!: any[]; - private soData!: any[]; - private functionData!: any[]; - private typeData!: any[]; + private processData: unknown; + private pidData!: unknown[]; + private threadData!: unknown[]; + private soData!: unknown[]; + private functionData!: unknown[]; + private typeData!: unknown[]; private ioTierTableProcess: LitTable | null | undefined; private ioTierTableThread: LitTable | null | undefined; private tierTableType: LitTable | null | undefined; @@ -53,7 +53,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { private ioSortType: number = 0; private typeName: string = ''; private currentLevel = -1; - private currentLevelData!: Array; + private currentLevelData!: Array; private processStatisticsData!: {}; private typeStatisticsData!: {}; private threadStatisticsData!: {}; @@ -103,9 +103,9 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { funcArgs: [{ queryFuncName: 'io', ...ioTierStatisticsAnalysisSelection }], }, ], - (results: any[]) => { + (results: unknown[]) => { this.processData = JSON.parse(JSON.stringify(results)); - this.disableCheckBox(); + this.disableCheckBox();// @ts-ignore this.getIOTierProcess(this.processData); } ); @@ -156,7 +156,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { addRowClickEventListener(this.ioTierTableThread!, this.ioTierThreadLevelClickEvent.bind(this)); addRowClickEventListener(this.ioTierTableSo!, this.ioTierSoLevelClickEvent.bind(this)); } - private disableCheckBox(): void { + private disableCheckBox(): void {// @ts-ignore if (this.processData.length === 0) { this.hideProcessCheckBox?.setAttribute('disabled', 'disabled'); this.hideThreadCheckBox?.setAttribute('disabled', 'disabled'); @@ -193,7 +193,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.ioTierTableThread!, 1, this.tierTableType!.recycleDataSource - ); + );// @ts-ignore this.getIOTierProcess(this.processData); } }); @@ -283,7 +283,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { showIoTable: LitTable, hideIoTable: LitTable, currentLevel: number, - currentLevelData: Array + currentLevelData: Array ): void { showIoTable!.style.display = 'grid'; hideIoTable!.style.display = 'none'; @@ -342,7 +342,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.getIOTierType(null); } - private hideThread(it?: any): void { + private hideThread(it?: unknown): void { this.reset(this.tierTableType!, true); this.showAssignLevel(this.tierTableType!, this.ioTierTableThread!, 1, this.tierTableType!.recycleDataSource); this.processName = ''; @@ -365,7 +365,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getTip(), angleClick: (ioTierPieItem): void => { // @ts-ignore @@ -396,10 +396,10 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.ioTierTableProcess?.reMeauseHeight(); } - private ioTierProcessLevelClickEvent(it: any): void { + private ioTierProcessLevelClickEvent(it: unknown): void { this.reset(this.tierTableType!, true); this.showAssignLevel(this.tierTableType!, this.ioTierTableProcess!, 1, this.tierTableType!.recycleDataSource); - this.getIOTierType(it); + this.getIOTierType(it);// @ts-ignore this.processName = it.tableName; this.ioPieChart?.hideTip(); this.tierTitleEl!.textContent = this.processName; @@ -415,7 +415,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { label: { type: 'outer', }, - tip: (obj): string => { + tip: (obj): string => {// @ts-ignore return this.getIoTierTip(obj); }, angleClick: (it): void => { @@ -444,7 +444,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.tierTableType?.reMeauseHeight(); } - private ioTierTypeLevelClickEvent(it: any): void { + private ioTierTypeLevelClickEvent(it: unknown): void { if (this.hideThreadCheckBox!.checked) { this.reset(this.ioTierTableSo!, true); this.showAssignLevel(this.ioTierTableSo!, this.tierTableType!, 2, this.ioTierTableThread!.recycleDataSource); @@ -453,7 +453,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.reset(this.ioTierTableThread!, true); this.showAssignLevel(this.ioTierTableThread!, this.tierTableType!, 2, this.ioTierTableThread!.recycleDataSource); this.getIOTierThread(it); - } + }// @ts-ignore this.typeName = it.tableName; this.ioPieChart?.hideTip(); let tierTitle = ''; @@ -478,7 +478,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { label: { type: 'outer', }, - tip: (obj): string => { + tip: (obj): string => {// @ts-ignore return this.getIoTierTip(obj); }, angleClick: (it): void => { @@ -517,7 +517,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.ioTierTableThread?.reMeauseHeight(); } - private getIoTierTip(obj: { obj: { tableName: any; durFormat: any; percent: any } }): string { + private getIoTierTip(obj: { obj: { tableName: unknown; durFormat: unknown; percent: unknown } }): string { return `
ThreadName:${obj.obj.tableName}
Duration:${obj.obj.durFormat}
@@ -526,10 +526,10 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { `; } - private ioTierThreadLevelClickEvent(it: any): void { + private ioTierThreadLevelClickEvent(it: unknown): void { this.reset(this.ioTierTableSo!, true); this.showAssignLevel(this.ioTierTableSo!, this.ioTierTableThread!, 3, this.ioTierTableSo!.recycleDataSource); - this.getIOTierSo(it); + this.getIOTierSo(it);// @ts-ignore this.threadName = it.tableName; this.ioPieChart?.hideTip(); let title = ''; @@ -559,9 +559,12 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { }, tip: (ioTierObj): string => { return `
-
Library:${ioTierObj.obj.tableName}
-
Duration:${ioTierObj.obj.durFormat}
-
Percent:${ioTierObj.obj.percent}%
+
Library:${// @ts-ignore + ioTierObj.obj.tableName}
+
Duration:${// @ts-ignore + ioTierObj.obj.durFormat}
+
Percent:${// @ts-ignore + ioTierObj.obj.percent}%
`; }, @@ -612,7 +615,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.tierTitleEl!.textContent = title; } - private ioTierSoLevelClickEvent(it: any): void { + private ioTierSoLevelClickEvent(it: unknown): void { this.reset(this.tableFunction!, true); this.showAssignLevel(this.tableFunction!, this.ioTierTableSo!, 4, this.tableFunction!.recycleDataSource); this.getIOTierFunction(it); @@ -626,8 +629,8 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { } if (this.threadName.length > 0 && !this.hideThreadCheckBox!.checked) { title += `${this.threadName } / `; - } - if (it.tableName.length > 0) { + }// @ts-ignore + if (it.tableName.length > 0) {// @ts-ignore title += it.tableName; } this.tierTitleEl!.textContent = title; @@ -684,7 +687,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { if (this.ioSortColumn === 'tableName') { this.sortTableNameCase(ioTierCurrentTable, sortIoArr); } else if (this.ioSortColumn === 'durFormat' || this.ioSortColumn === 'percent') { - ioTierCurrentTable!.recycleDataSource = sortIoArr.sort((a, b): number => { + ioTierCurrentTable!.recycleDataSource = sortIoArr.sort((a, b): number => {// @ts-ignore return this.ioSortType === 1 ? a.duration - b.duration : b.duration - a.duration; }); } @@ -709,19 +712,19 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { } } - private sortTableNameCase(ioTierCurrentTable: LitTable, sortIoArr: any[]): void { + private sortTableNameCase(ioTierCurrentTable: LitTable, sortIoArr: unknown[]): void { ioTierCurrentTable!.recycleDataSource = sortIoArr.sort((firstIOElement, secondIOElement): number => { - if (this.ioSortType === 1) { + if (this.ioSortType === 1) {// @ts-ignore if (firstIOElement.tableName > secondIOElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstIOElement.tableName === secondIOElement.tableName) { return 0; } else { return -1; } - } else { + } else {// @ts-ignore if (secondIOElement.tableName > firstIOElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstIOElement.tableName === secondIOElement.tableName) { return 0; } else { @@ -731,7 +734,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { }); } - private getIOTierProcess(result: Array): void { + private getIOTierProcess(result: Array): void {// @ts-ignore if (!this.processData || this.processData.length === 0) { this.pidData = []; this.processStatisticsData = []; @@ -740,29 +743,29 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { } let allDur = 0; let ioMap = new Map>(); - for (let itemData of result) { - allDur += itemData.dur; - if (ioMap.has(itemData.pid)) { + for (let itemData of result) {// @ts-ignore + allDur += itemData.dur;// @ts-ignore + if (ioMap.has(itemData.pid)) {// @ts-ignore ioMap.get(itemData.pid)?.push(itemData); } else { let itemArray = []; - itemArray.push(itemData); + itemArray.push(itemData);// @ts-ignore ioMap.set(itemData.pid, itemArray); } } this.pidData = []; - ioMap.forEach((value: Array, key: string): void => { + ioMap.forEach((value: Array, key: string): void => { let ioPidDataDur = 0; let pName = ''; - for (let item of value) { - if (item.processName && item.processName.length > 0) { - if (!item.processName.endsWith(`(${item.pid})`)) { + for (let item of value) {// @ts-ignore + if (item.processName && item.processName.length > 0) {// @ts-ignore + if (!item.processName.endsWith(`(${item.pid})`)) {// @ts-ignore item.processName = `${item.processName}(${item.pid})`; } - } else { + } else {// @ts-ignore item.processName = `Process(${item.pid})`; - } - pName = item.processName; + }// @ts-ignore + pName = item.processName;// @ts-ignore ioPidDataDur += item.dur; } this.pidData.push({ @@ -773,6 +776,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { duration: ioPidDataDur, }); }); + // @ts-ignore this.pidData.sort((a, b) => b.duration - a.duration); this.processStatisticsData = this.totalDurationData(allDur); this.currentLevel = 0; @@ -780,14 +784,14 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.processPieChart(); } - private getIOTierType(item: any): void { + private getIOTierType(item: unknown): void { this.progressEL!.loading = true; let ioTypeMap = new Map>(); - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.processData || this.processData.length === 0) { return; - } - for (let processItem of this.processData) { + }// @ts-ignore + for (let processItem of this.processData) {// @ts-ignore if (item && processItem.pid !== item.pid && !this.hideProcessCheckBox?.checked) { continue; } @@ -801,14 +805,14 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { } } this.typeData = []; - ioTypeMap.forEach((value: Array, key: number): void => { + ioTypeMap.forEach((value: Array, key: number): void => { let dur = 0; - for (let ioItem of value) { + for (let ioItem of value) {// @ts-ignore dur += ioItem.dur; } const ioTypeData = { - tableName: this.typeIdToString(key), - pid: item === null ? value[0].pid : item.pid, + tableName: this.typeIdToString(key),// @ts-ignore + pid: item === null ? value[0].pid : item.pid,// @ts-ignore tid: item === null ? value[0].tid : item.tid, type: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -816,7 +820,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { duration: dur, }; this.typeData.push(ioTypeData); - }); + });// @ts-ignore this.typeData.sort((a, b) => b.duration - a.duration); this.typeStatisticsData = this.totalDurationData(allDur); this.currentLevel = 1; @@ -824,15 +828,15 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.progressEL!.loading = false; } - private getIOTierThread(item: any): void { + private getIOTierThread(item: unknown): void { this.progressEL!.loading = true; - let threadMap = new Map>(); - let pid = item.pid; + let threadMap = new Map>();// @ts-ignore + let pid = item.pid;// @ts-ignore let type = item.type; - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.processData || this.processData.length === 0) { return; - } + }// @ts-ignore for (let itemData of this.processData) { if ( (!this.hideProcessCheckBox?.checked && itemData.pid !== pid) || @@ -850,7 +854,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { threadMap.set(itemData.tid, itemArray); } } - this.calculateThreadData(threadMap, item, allDur); + this.calculateThreadData(threadMap, item, allDur);// @ts-ignore this.threadData.sort((a, b) => b.duration - a.duration); this.threadStatisticsData = this.totalDurationData(allDur); this.currentLevel = 2; @@ -858,21 +862,26 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.threadPieChart(); } - private calculateThreadData(threadMap: Map>, item: any, allDur: number): void { + private calculateThreadData(threadMap: Map>, item: unknown, allDur: number): void { this.threadData = []; - threadMap.forEach((value: Array, key: string): void => { + threadMap.forEach((value: Array, key: string): void => { let dur = 0; let tName = ''; - for (let item of value) { - dur += item.dur; + for (let item of value) {// @ts-ignore + dur += item.dur;// @ts-ignore tName = item.threadName = + // @ts-ignore item.threadName === null || item.threadName === undefined ? + // @ts-ignore `Thread(${item.tid})` : + // @ts-ignore `${item.threadName}(${item.tid})`; } const threadData = { tableName: tName, + // @ts-ignore pid: item.pid, + // @ts-ignore type: item.type, tid: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -883,13 +892,13 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { }); } - private getIOTierSo(item: any): void { + private getIOTierSo(item: unknown): void { this.progressEL!.loading = true; let allDur = 0; - let libMap = new Map>(); + let libMap = new Map>();// @ts-ignore if (!this.processData || this.processData.length === 0) { return; - } + }// @ts-ignore for (let processItemData of this.processData) { if (this.tierSoIsAccumulationData(item, processItemData)) { continue; @@ -910,32 +919,32 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { this.libraryPieChart(); } - private tierSoIsAccumulationData(item: any, processItemData: any): boolean { - if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + private tierSoIsAccumulationData(item: unknown, processItemData: unknown): boolean { + if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return ( - item && + item &&// @ts-ignore (processItemData.pid !== item.pid || processItemData.tid !== item.tid || processItemData.type !== item.type) ); - } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return item && (processItemData.pid !== item.pid || processItemData.type !== item.type); - } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return (item && processItemData.tid !== item.tid) || processItemData.type !== item.type; - } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return item && processItemData.type !== item.type; } return false; } - private updateSoData(libMap: Map>, item: any, allDur: number): void { + private updateSoData(libMap: Map>, item: unknown, allDur: number): void { this.soData = []; - libMap.forEach((value: any[], key: number): void => { + libMap.forEach((value: unknown[], key: number): void => { let dur = 0; let libName = ''; - for (let item of value) { + for (let item of value) {// @ts-ignore dur += item.dur; - if (key === null) { + if (key === null) {// @ts-ignore item.libName = 'unknown'; - } + }// @ts-ignore libName = item.libName; } let libPath = libName?.split('/'); @@ -943,9 +952,11 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { libName = libPath[libPath.length - 1]; } const soData = { - tableName: libName, + tableName: libName,// @ts-ignore pid: item === null ? value[0].pid : item.pid, + // @ts-ignore type: item === null ? value[0].type : item.type, + // @ts-ignore tid: item === null ? value[0].tid : item.tid, libId: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -953,23 +964,29 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { duration: dur, }; this.soData.push(soData); - }); + });// @ts-ignore this.soData.sort((a, b) => b.duration - a.duration); } - private getIOTierFunction(item: any): void { + private getIOTierFunction(item: unknown): void { this.progressEL!.loading = true; this.shadowRoot!.querySelector('.io-tier-subheading')!.textContent = 'Statistic By Function AllDuration'; + // @ts-ignore let tid = item.tid; + // @ts-ignore let pid = item.pid; + // @ts-ignore let type = item.type; + // @ts-ignore let libId = item.libId; let allDur = 0; - let symbolMap = new Map>(); + let symbolMap = new Map>(); + // @ts-ignore if (!this.processData || this.processData.length === 0) { return; } + // @ts-ignore for (let processData of this.processData) { if (this.functionIsAccumulationData(processData, tid, pid, type, libId)) { continue; @@ -1007,7 +1024,7 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getTip(), hoverHandler: (tierData): void => { if (tierData) { @@ -1024,31 +1041,32 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { }; } - private functionIsAccumulationData(processData: any, tid: number, pid: number, type: string, libId: number): boolean { + private functionIsAccumulationData(processData: unknown, tid: number, pid: number, type: string, libId: number): boolean { if (!processData) { return false; } if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { - return ( + return (// @ts-ignore processData.pid !== pid || processData.tid !== tid || processData.type !== type || processData.libId !== libId ); - } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return processData.pid !== pid || processData.type !== type || processData.libId !== libId; - } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return processData.tid !== tid || processData.type !== type || processData.libId !== libId; - } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return processData.type !== type || processData.libId !== libId; } return false; } - private updateFunctionData(symbolMap: Map>, item: any, allDur: number): void { + private updateFunctionData(symbolMap: Map>, item: unknown, allDur: number): void { this.functionData = []; symbolMap.forEach((symbolItems, key): void => { let dur = 0; let funSymbolName = ''; - for (let symbolItem of symbolItems) { + for (let symbolItem of symbolItems) {// @ts-ignore funSymbolName = symbolItem.symbolName; + // @ts-ignore dur += symbolItem.dur; } let symbolPath = funSymbolName?.split('/'); @@ -1056,9 +1074,13 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { funSymbolName = symbolPath[symbolPath.length - 1]; } const symbolData = { + // @ts-ignore pid: item.pid, + // @ts-ignore tid: item.tid, + // @ts-ignore type: item.type, + // @ts-ignore libId: item.libId, symbolId: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -1068,11 +1090,12 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { }; this.functionData.push(symbolData); }); + // @ts-ignore this.functionData.sort((a, b) => b.duration - a.duration); } private getTip() { - return (obj: { obj: { tableName: any; durFormat: any; percent: any } }): string => { + return (obj: { obj: { tableName: unknown; durFormat: unknown; percent: unknown } }): string => { return `
Function:${obj.obj.tableName}
Duration:${obj.obj.durFormat}
@@ -1115,37 +1138,40 @@ export class TabPaneIOTierStatisticsAnalysis extends BaseElement { return allDuration; } - private getIOTierPieChartData(res: any[]): unknown[] { + private getIOTierPieChartData(res: unknown[]): unknown[] { if (res.length > 20) { let IOTierPieChartArr: string[] = []; - let other: any = { + let other: unknown = { tableName: 'other', duration: 0, percent: 0, durFormat: 0, }; for (let i = 0; i < res.length; i++) { - if (i < 19) { + if (i < 19) {// @ts-ignore IOTierPieChartArr.push(res[i]); - } else { + } else {// @ts-ignore other.duration += res[i].duration; + // @ts-ignore other.durFormat = Utils.getProbablyTime(other.duration); + // @ts-ignore other.percent = ((other.duration / this.sumDur) * 100).toFixed(2); } } + // @ts-ignore IOTierPieChartArr.push(other); return IOTierPieChartArr; } return res; } - private getIoTierDataByWorker(args: any[], handler: Function): void { + private getIoTierDataByWorker(args: unknown[], handler: Function): void { procedurePool.submitWithName( 'logic0', 'fileSystem-action', { args, callType: 'io', isAnalysis: true }, undefined, - (results: any): void => { + (results: unknown): void => { handler(results); this.progressEL!.loading = false; } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts index d23a725b8..f55c056ed 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts @@ -37,11 +37,11 @@ export class TabPaneIoCompletionTimes extends BaseElement { private ioCompletionTimesTblData: LitTable | null | undefined; private ioCompletionTimesProgressEL: LitProgressBar | null | undefined; private ioCompletionTimesLoadingList: number[] = []; - private ioCompletionTimesLoadingPage: any; + private ioCompletionTimesLoadingPage: unknown; private currentSelection: SelectionParam | undefined | null; private ioCompletionTimesSource: Array = []; private ioCompletionTimesQueryDataSource: Array = []; - private ioCompletionTimesSelection: Array = []; + private ioCompletionTimesSelection: Array = []; set data(ioCompletionTimesSelection: SelectionParam | null | undefined) { if (ioCompletionTimesSelection === this.currentSelection) { @@ -83,7 +83,7 @@ export class TabPaneIoCompletionTimes extends BaseElement { this.parentElement!.clientHeight - 10 - 33 }px`; this.ioCompletionTimesTblData.reMeauseHeight(); - } + }// @ts-ignore this.ioCompletionTimesLoadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); @@ -102,7 +102,7 @@ export class TabPaneIoCompletionTimes extends BaseElement { 'fileSystem-queryStack', { callchainId: ioCompletionTimeData.callchainId }, undefined, - (res: any) => { + (res: unknown) => {// @ts-ignore this.ioCompletionTimesTblData!.recycleDataSource = res; } ); @@ -140,34 +140,34 @@ export class TabPaneIoCompletionTimes extends BaseElement { filter!.firstSelect = '0'; } - async fromStastics(ioCompletionTimeParam: SelectionParam | any): Promise { + async fromStastics(ioCompletionTimeParam: SelectionParam | unknown): Promise {// @ts-ignore if (ioCompletionTimeParam.fileSystemIoData === undefined) { return; } this.ioCompletionTimesTblData!.recycleDataSource = []; this.ioCompletionTimesTblData?.clearAllSelection(undefined); let filter = this.shadowRoot?.querySelector('#io-completion-filter'); - if (this.currentSelection !== ioCompletionTimeParam) { + if (this.currentSelection !== ioCompletionTimeParam) {// @ts-ignore await this.initFilterTypes(ioCompletionTimeParam); - } + }// @ts-ignore let typeIndexOf = this.native_type.indexOf(ioCompletionTimeParam.fileSystemIoData.path.value); - if (typeIndexOf === -1) { - this.ioCompletionTimesSelection.push(ioCompletionTimeParam.fileSystemIoData.path); + if (typeIndexOf === -1) {// @ts-ignore + this.ioCompletionTimesSelection.push(ioCompletionTimeParam.fileSystemIoData.path);// @ts-ignore this.native_type.push(ioCompletionTimeParam.fileSystemIoData.path.value); typeIndexOf = this.native_type.length - 1; } - if (this.currentSelection !== ioCompletionTimeParam) { + if (this.currentSelection !== ioCompletionTimeParam) {// @ts-ignore this.currentSelection = ioCompletionTimeParam; filter!.setSelectList(this.native_type, null, 'Tier'); - filter!.firstSelect = `${typeIndexOf}`; + filter!.firstSelect = `${typeIndexOf}`;// @ts-ignore this.queryData(ioCompletionTimeParam); } else { if (typeIndexOf === parseInt(filter!.firstSelect)) { return; } filter!.setSelectList(this.native_type, null, 'Tier'); - filter!.firstSelect = `${typeIndexOf}`; - this.filterTypeData(ioCompletionTimeParam?.fileSystemIoData?.path || undefined); + filter!.firstSelect = `${typeIndexOf}`;// @ts-ignore + this.filterTypeData(ioCompletionTimeParam?.fileSystemIoData?.path || undefined);// @ts-ignore ioCompletionTimeParam.fileSystemIoData = undefined; this.ioCompletionTimesTbl!.recycleDataSource = this.ioCompletionTimesSource; } @@ -175,7 +175,7 @@ export class TabPaneIoCompletionTimes extends BaseElement { queryData(ioCompletionTimeParam: SelectionParam): void { this.ioCompletionTimesLoadingList.push(1); - this.ioCompletionTimesProgressEL!.loading = true; + this.ioCompletionTimesProgressEL!.loading = true;// @ts-ignore this.ioCompletionTimesLoadingPage.style.visibility = 'visible'; this.ioCompletionTimesSource = []; this.ioCompletionTimesQueryDataSource = []; @@ -188,17 +188,17 @@ export class TabPaneIoCompletionTimes extends BaseElement { diskIOipids: ioCompletionTimeParam.diskIOipids, }, undefined, - (res: any): void => { - this.ioCompletionTimesSource = this.ioCompletionTimesSource.concat(res.data); + (res: unknown): void => {// @ts-ignore + this.ioCompletionTimesSource = this.ioCompletionTimesSource.concat(res.data);// @ts-ignore this.ioCompletionTimesQueryDataSource = this.ioCompletionTimesQueryDataSource.concat(res.data); this.filterTypeData(ioCompletionTimeParam?.fileSystemIoData?.path || undefined); - ioCompletionTimeParam.fileSystemIoData = undefined; - res.data = null; + ioCompletionTimeParam.fileSystemIoData = undefined;// @ts-ignore + res.data = null;// @ts-ignore if (!res.isSending) { this.ioCompletionTimesTbl!.recycleDataSource = this.ioCompletionTimesSource; this.ioCompletionTimesLoadingList.splice(0, 1); if (this.ioCompletionTimesLoadingList.length === 0) { - this.ioCompletionTimesProgressEL!.loading = false; + this.ioCompletionTimesProgressEL!.loading = false;// @ts-ignore this.ioCompletionTimesLoadingPage.style.visibility = 'hidden'; } } @@ -206,7 +206,7 @@ export class TabPaneIoCompletionTimes extends BaseElement { ); } - filterTypeData(pathTypeData: any): void { + filterTypeData(pathTypeData: unknown): void { let filter = this.shadowRoot?.querySelector('#io-completion-filter'); let firstSelect = filter!.firstSelect; let tier = -1; @@ -215,9 +215,9 @@ export class TabPaneIoCompletionTimes extends BaseElement { if (parseInt(firstSelect) <= this.defaultNativeTypes.length - 1) { let index = parseInt(firstSelect); tier = index === 0 ? -1 : parseInt(this.defaultNativeTypes[index]); - } else if (pathTypeData !== undefined) { - tier = parseInt(pathTypeData.tier); - path = pathTypeData.path || ''; + } else if (pathTypeData !== undefined) {// @ts-ignore + tier = parseInt(pathTypeData.tier);// @ts-ignore + path = pathTypeData.path || '';// @ts-ignore pid = pathTypeData.pid || -1; } else { return; diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts index f80462bfb..0f802cbd6 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts @@ -33,11 +33,11 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { private vmEventTblData: LitTable | null | undefined; private vmEventProgressEL: LitProgressBar | null | undefined; private loadingList: number[] = []; - private loadingPage: any; + private loadingPage: unknown; private vmEventSource: Array = []; private queryVmEventDataSource: Array = []; private currentSelection: SelectionParam | undefined | null; - private statsticsSelection: Array = []; + private statsticsSelection: Array = []; set data(vmEventSelection: SelectionParam | null | undefined) { if (vmEventSelection === this.currentSelection) { @@ -75,7 +75,7 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { this.vmEventTblData.shadowRoot.querySelector('.table').style.height = this.parentElement!.clientHeight - 10 - 33 + 'px'; this.vmEventTblData.reMeauseHeight(); - } + }// @ts-ignore this.loadingPage.style.height = this.parentElement!.clientHeight - 24 + 'px'; } }).observe(this.parentElement!); @@ -88,19 +88,19 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { this.vmEventTblData = this.shadowRoot?.querySelector('#vm-event-tbr'); this.vmEventTbl!.addEventListener('row-click', (vmEventRowClick) => { // @ts-ignore - let data = vmEventRowClick.detail.data; - (data as any).isSelected = true; + let data = vmEventRowClick.detail.data;// @ts-ignore + (data as unknown).isSelected = true; // @ts-ignore - if ((vmEventRowClick.detail as any).callBack) { + if ((vmEventRowClick.detail as unknown).callBack) { // @ts-ignore - (vmEventRowClick.detail as any).callBack(true); + (vmEventRowClick.detail as unknown).callBack(true); } procedurePool.submitWithName( 'logic0', 'fileSystem-queryStack', { callchainId: data.callchainId }, undefined, - (res: any) => { + (res: unknown) => {// @ts-ignore this.vmEventTblData!.recycleDataSource = res; } ); @@ -138,34 +138,34 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { filter!.firstSelect = '0'; } - async fromStastics(vmEventParam: SelectionParam | any): Promise { + async fromStastics(vmEventParam: SelectionParam | unknown): Promise {// @ts-ignore if (vmEventParam.fileSystemVMData === undefined) { return; } this.vmEventTblData!.recycleDataSource = []; this.vmEventTblData?.clearAllSelection(undefined); let filter = this.shadowRoot?.querySelector('#vm-event-filter'); - if (this.currentSelection !== vmEventParam) { + if (this.currentSelection !== vmEventParam) {// @ts-ignore await this.initFilterTypes(vmEventParam); - } + }// @ts-ignore let typeIndexOf = this.nativeType.indexOf(vmEventParam.fileSystemVMData.path.value); - if (typeIndexOf === -1) { - this.statsticsSelection.push(vmEventParam.fileSystemVMData.path); + if (typeIndexOf === -1) {// @ts-ignore + this.statsticsSelection.push(vmEventParam.fileSystemVMData.path);// @ts-ignore this.nativeType.push(vmEventParam.fileSystemVMData.path.value); typeIndexOf = this.nativeType.length - 1; } - if (this.currentSelection !== vmEventParam) { + if (this.currentSelection !== vmEventParam) {// @ts-ignore this.currentSelection = vmEventParam; filter!.setSelectList(this.nativeType, null, 'Operation Type'); - filter!.firstSelect = typeIndexOf + ''; + filter!.firstSelect = typeIndexOf + '';// @ts-ignore this.queryData(vmEventParam); } else { if (typeIndexOf === parseInt(filter!.firstSelect)) { return; } filter!.setSelectList(this.nativeType, null, 'Operation Type'); - filter!.firstSelect = typeIndexOf + ''; - this.filterTypeData(vmEventParam?.fileSystemVMData?.path || undefined); + filter!.firstSelect = typeIndexOf + '';// @ts-ignore + this.filterTypeData(vmEventParam?.fileSystemVMData?.path || undefined);// @ts-ignore vmEventParam.fileSystemVMData = undefined; this.vmEventTbl!.recycleDataSource = this.vmEventSource; } @@ -173,7 +173,7 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { queryData(vmEventParam: SelectionParam): void { this.loadingList.push(1); - this.vmEventProgressEL!.loading = true; + this.vmEventProgressEL!.loading = true;// @ts-ignore this.loadingPage.style.visibility = 'visible'; this.vmEventSource = []; this.queryVmEventDataSource = []; @@ -186,17 +186,17 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { typeArr: vmEventParam.fileSystemType, }, undefined, - (res: any) => { - this.vmEventSource = this.vmEventSource.concat(res.data); + (res: unknown) => {// @ts-ignore + this.vmEventSource = this.vmEventSource.concat(res.data);// @ts-ignore this.queryVmEventDataSource = this.queryVmEventDataSource.concat(res.data); this.filterTypeData(vmEventParam?.fileSystemVMData?.path || undefined); - vmEventParam.fileSystemVMData = undefined; - res.data = null; + vmEventParam.fileSystemVMData = undefined;// @ts-ignore + res.data = null;// @ts-ignore if (!res.isSending) { this.vmEventTbl!.recycleDataSource = this.vmEventSource; this.loadingList.splice(0, 1); if (this.loadingList.length === 0) { - this.vmEventProgressEL!.loading = false; + this.vmEventProgressEL!.loading = false;// @ts-ignore this.loadingPage.style.visibility = 'hidden'; } } @@ -204,7 +204,7 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { ); } - filterTypeData(pathData: any): void { + filterTypeData(pathData: unknown): void { let filter = this.shadowRoot?.querySelector('#vm-event-filter'); let firstSelect = filter!.firstSelect; let type = -1; @@ -216,9 +216,9 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { return entry[1] === this.defaultNativeTypes[parseInt(firstSelect)]; }); type = typeEntry ? parseInt(typeEntry[0]) : 0; - } else if (pathData !== undefined) { - type = parseInt(pathData.type || 0); - tid = pathData.tid || -1; + } else if (pathData !== undefined) {// @ts-ignore + type = parseInt(pathData.type || 0);// @ts-ignore + tid = pathData.tid || -1;// @ts-ignore pid = pathData.pid || -1; } else if (pathData === undefined) { return; diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis.ts index c67800a3f..149544c9b 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis.ts @@ -31,12 +31,12 @@ import { TabPaneVirtualMemoryStatisticsAnalysisHtml } from './TabPaneVirtualMemo export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { private vmPieChart: LitChartPie | null | undefined; private vmCurrentSelection: SelectionParam | null | undefined; - private vmStatisticsAnalysisProcessData: any; - private vmStatisticsAnalysisPidData!: any[]; - private vmStatisticsAnalysisThreadData!: any[]; - private vmStatisticsAnalysisSoData!: any[]; - private vmStatisticsAnalysisFunctionData!: any[]; - private vmStatisticsAnalysisTypeData!: any[]; + private vmStatisticsAnalysisProcessData: unknown; + private vmStatisticsAnalysisPidData!: unknown[]; + private vmStatisticsAnalysisThreadData!: unknown[]; + private vmStatisticsAnalysisSoData!: unknown[]; + private vmStatisticsAnalysisFunctionData!: unknown[]; + private vmStatisticsAnalysisTypeData!: unknown[]; private vmStatisticsAnalysisTableProcess: LitTable | null | undefined; private vmStatisticsAnalysisTableType: LitTable | null | undefined; private vmStatisticsAnalysisTableThread: LitTable | null | undefined; @@ -53,7 +53,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { private vmSortColumn: string = ''; private vmSortType: number = 0; private currentLevel = -1; - private currentLevelData!: Array; + private currentLevelData!: Array; private processStatisticsData!: {}; private typeStatisticsData!: {}; private threadStatisticsData!: {}; @@ -103,7 +103,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { funcArgs: [{ queryFuncName: 'virtualMemory', ...vmStatisticsAnalysisSelection }], }, ], - (results: any[]): void => { + (results: unknown[]): void => { this.disableCheckBox(results); this.getVirtualMemoryProcess(results); } @@ -156,7 +156,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { addRowClickEventListener(this.vmStatisticsAnalysisTableThread!, this.vmThreadLevelClickEvent.bind(this)); addRowClickEventListener(this.vmStatisticsAnalysisTableSo!, this.vmSoLevelClickEvent.bind(this)); } - private disableCheckBox(results: Array): void { + private disableCheckBox(results: Array): void { if (results.length === 0) { this.hideProcessCheckBox?.setAttribute('disabled', 'disabled'); this.hideThreadCheckBox?.setAttribute('disabled', 'disabled'); @@ -184,7 +184,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } else if (this.hideProcessCheckBox!.checked && !this.hideThreadCheckBox!.checked) { this.hideProcess(); } else { - this.reset(this.vmStatisticsAnalysisTableProcess!, false); + this.reset(this.vmStatisticsAnalysisTableProcess!, false);// @ts-ignore this.getVirtualMemoryProcess(this.vmStatisticsAnalysisProcessData); } }); @@ -314,7 +314,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.getVirtualMemoryType(null); } - private hideThread(it?: any): void { + private hideThread(it?: unknown): void { this.reset(this.vmStatisticsAnalysisTableType!, true); this.vmProcessName = ''; this.vmThreadName = ''; @@ -336,7 +336,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getVmTip(), angleClick: (it: Object): void => { // @ts-ignore @@ -368,7 +368,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } private getVmTip() { - return (obj: { obj: { tableName: any; durFormat: any; percent: any } }): string => { + return (obj: { obj: { tableName: unknown; durFormat: unknown; percent: unknown } }): string => { return `
ProcessName:${obj.obj.tableName}
Duration:${obj.obj.durFormat}
@@ -378,9 +378,9 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }; } - private vmProcessLevelClickEvent(it: any): void { + private vmProcessLevelClickEvent(it: unknown): void { this.reset(this.vmStatisticsAnalysisTableType!, true); - this.getVirtualMemoryType(it); + this.getVirtualMemoryType(it);// @ts-ignore this.vmProcessName = it.tableName; this.virtualMemoryTitleEl!.textContent = this.vmProcessName; this.vmPieChart?.hideTip(); @@ -395,7 +395,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getVmTip(), angleClick: (it): void => { this.vmTypeLevelClickEvent(it); @@ -423,14 +423,14 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.vmStatisticsAnalysisTableType?.reMeauseHeight(); } - private vmTypeLevelClickEvent(it: any): void { + private vmTypeLevelClickEvent(it: unknown): void { if (this.hideThreadCheckBox!.checked) { this.reset(this.vmStatisticsAnalysisTableSo!, true); this.getVirtualMemorySo(it); } else { this.reset(this.vmStatisticsAnalysisTableThread!, true); this.getVirtualMemoryThread(it); - } + }// @ts-ignore this.vmtypeName = it.tableName; this.vmPieChart?.hideTip(); let title = ''; @@ -454,7 +454,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { radius: 1, label: { type: 'outer', - }, + },// @ts-ignore tip: this.getVmTip(), angleClick: (it: Object): void => { // @ts-ignore @@ -492,9 +492,9 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.vmStatisticsAnalysisTableThread?.reMeauseHeight(); } - private vmThreadLevelClickEvent(it: any): void { + private vmThreadLevelClickEvent(it: unknown): void { this.reset(this.vmStatisticsAnalysisTableSo!, true); - this.getVirtualMemorySo(it); + this.getVirtualMemorySo(it);// @ts-ignore this.vmThreadName = it.tableName; this.vmPieChart?.hideTip(); let virtualMemoryTitleTitle = ''; @@ -550,9 +550,12 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }, tip: (vmLibraryObj): string => { return `
-
Library:${vmLibraryObj.obj.tableName}
-
Duration:${vmLibraryObj.obj.durFormat}
-
percent:${vmLibraryObj.obj.percent}%
+
Library:${// @ts-ignore + vmLibraryObj.obj.tableName}
+
Duration:${// @ts-ignore + vmLibraryObj.obj.durFormat}
+
percent:${// @ts-ignore + vmLibraryObj.obj.percent}%
`; }, @@ -577,7 +580,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }; } - private vmSoLevelClickEvent(it: any): void { + private vmSoLevelClickEvent(it: unknown): void { this.reset(this.vmStatisticsAnalysisTableFunction!, true); this.getVirtualMemoryFunction(it); this.vmPieChart?.hideTip(); @@ -590,8 +593,8 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } if (this.vmThreadName.length > 0 && !this.hideThreadCheckBox!.checked) { title += `${this.vmThreadName } / `; - } - if (it.tableName.length > 0) { + }// @ts-ignore + if (it.tableName.length > 0) {// @ts-ignore title += it.tableName; } this.virtualMemoryTitleEl!.textContent = title; @@ -648,7 +651,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { if (this.vmSortColumn === 'tableName') { this.sortTableNameCase(vmsCurrentTable, vmsArray); } else if (this.vmSortColumn === 'durFormat' || this.vmSortColumn === 'percent') { - vmsCurrentTable!.recycleDataSource = vmsArray.sort((a, b) => { + vmsCurrentTable!.recycleDataSource = vmsArray.sort((a, b) => {// @ts-ignore return this.vmSortType === 1 ? a.duration - b.duration : b.duration - a.duration; }); } @@ -673,19 +676,19 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } } - private sortTableNameCase(vmsCurrentTable: LitTable, vmsArray: any[]): void { + private sortTableNameCase(vmsCurrentTable: LitTable, vmsArray: unknown[]): void { vmsCurrentTable!.recycleDataSource = vmsArray.sort((firstVMElement, secondVMElement): number => { - if (this.vmSortType === 1) { + if (this.vmSortType === 1) {// @ts-ignore if (firstVMElement.tableName > secondVMElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstVMElement.tableName === secondVMElement.tableName) { return 0; } else { return -1; } - } else { + } else {// @ts-ignore if (secondVMElement.tableName > firstVMElement.tableName) { - return 1; + return 1;// @ts-ignore } else if (firstVMElement.tableName === secondVMElement.tableName) { return 0; } else { @@ -695,9 +698,9 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }); } - private getVirtualMemoryProcess(result: Array): void { + private getVirtualMemoryProcess(result: Array): void { this.vmStatisticsAnalysisProgressEL!.loading = true; - this.vmStatisticsAnalysisProcessData = JSON.parse(JSON.stringify(result)); + this.vmStatisticsAnalysisProcessData = JSON.parse(JSON.stringify(result));// @ts-ignore if (!this.vmStatisticsAnalysisProcessData || this.vmStatisticsAnalysisProcessData.length === 0) { this.vmStatisticsAnalysisPidData = []; this.processStatisticsData = []; @@ -706,29 +709,29 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } let allDur = 0; let vmMap = new Map>(); - for (let itemData of result) { - allDur += itemData.dur; - if (vmMap.has(itemData.pid)) { + for (let itemData of result) {// @ts-ignore + allDur += itemData.dur;// @ts-ignore + if (vmMap.has(itemData.pid)) {// @ts-ignore vmMap.get(itemData.pid)?.push(itemData); } else { let itemArray = []; - itemArray.push(itemData); + itemArray.push(itemData);// @ts-ignore vmMap.set(itemData.pid, itemArray); } } this.vmStatisticsAnalysisPidData = []; - vmMap.forEach((value: Array, key: string): void => { + vmMap.forEach((value: Array, key: string): void => { let vmPidDataDur = 0; let pName = ''; - for (let item of value) { - if (item.processName && item.processName.length > 0) { - if (!item.processName.endsWith(`(${item.pid})`)) { + for (let item of value) {// @ts-ignore + if (item.processName && item.processName.length > 0) {// @ts-ignore + if (!item.processName.endsWith(`(${item.pid})`)) {// @ts-ignore item.processName = `${item.processName}(${item.pid})`; } - } else { + } else {// @ts-ignore item.processName = `Process(${item.pid})`; - } - pName = item.processName; + }// @ts-ignore + pName = item.processName;// @ts-ignore vmPidDataDur += item.dur; } this.vmStatisticsAnalysisPidData.push({ @@ -738,7 +741,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { durFormat: Utils.getProbablyTime(vmPidDataDur), duration: vmPidDataDur, }); - }); + });// @ts-ignore this.vmStatisticsAnalysisPidData.sort((a, b) => b.duration - a.duration); this.processStatisticsData = this.totalDurationData(allDur); this.currentLevel = 0; @@ -746,14 +749,14 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.processPieChart(); } - private getVirtualMemoryType(item: any): void { + private getVirtualMemoryType(item: unknown): void { this.vmStatisticsAnalysisProgressEL!.loading = true; let vmTypeMap = new Map>(); - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.vmStatisticsAnalysisProcessData || this.vmStatisticsAnalysisProcessData.length === 0) { return; - } - for (let vmsItem of this.vmStatisticsAnalysisProcessData) { + }// @ts-ignore + for (let vmsItem of this.vmStatisticsAnalysisProcessData) {// @ts-ignore if (item && vmsItem.pid !== item.pid && !this.hideProcessCheckBox?.checked) { continue; } @@ -767,13 +770,13 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { } } this.vmStatisticsAnalysisTypeData = []; - vmTypeMap.forEach((value: Array, key: number): void => { + vmTypeMap.forEach((value: Array, key: number): void => { let dur = 0; - for (let vmItem of value) { + for (let vmItem of value) {// @ts-ignore dur += vmItem.dur; } const vmTypeData = { - tableName: this.typeIdToString(key), + tableName: this.typeIdToString(key),// @ts-ignore pid: item === null ? value[0].pid : item.pid, type: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -781,7 +784,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { duration: dur, }; this.vmStatisticsAnalysisTypeData.push(vmTypeData); - }); + });// @ts-ignore this.vmStatisticsAnalysisTypeData.sort((a, b) => b.duration - a.duration); this.typeStatisticsData = this.totalDurationData(allDur); this.currentLevel = 1; @@ -789,15 +792,15 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.vmStatisticsAnalysisProgressEL!.loading = false; } - private getVirtualMemoryThread(item: any): void { + private getVirtualMemoryThread(item: unknown): void { this.vmStatisticsAnalysisProgressEL!.loading = true; - let threadMap = new Map>(); - let pid = item.pid; + let threadMap = new Map>();// @ts-ignore + let pid = item.pid;// @ts-ignore let type = item.type; - let allDur = 0; + let allDur = 0;// @ts-ignore if (!this.vmStatisticsAnalysisProcessData || this.vmStatisticsAnalysisProcessData.length === 0) { return; - } + }// @ts-ignore for (let vmapItem of this.vmStatisticsAnalysisProcessData) { if ( (!this.hideProcessCheckBox?.checked && vmapItem.pid !== pid) || @@ -822,21 +825,21 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.threadPieChart(); } - private updateVmThreadData(threadMap: Map>, item: any, allDur: number): void { + private updateVmThreadData(threadMap: Map>, item: unknown, allDur: number): void { this.vmStatisticsAnalysisThreadData = []; - threadMap.forEach((value: Array, key: string): void => { + threadMap.forEach((value: Array, key: string): void => { let vmThreadDur = 0; let tName = ''; - for (let item of value) { - vmThreadDur += item.dur; - tName = item.threadName = - item.threadName === null || item.threadName === undefined ? - `Thread(${item.tid})` : + for (let item of value) {// @ts-ignore + vmThreadDur += item.dur;// @ts-ignore + tName = item.threadName =// @ts-ignore + item.threadName === null || item.threadName === undefined ?// @ts-ignore + `Thread(${item.tid})` :// @ts-ignore `${item.threadName}(${item.tid})`; } const threadData = { - tableName: tName, - pid: item.pid, + tableName: tName,// @ts-ignore + pid: item.pid,// @ts-ignore type: item.type, tid: key, percent: ((vmThreadDur / allDur) * 100).toFixed(2), @@ -844,17 +847,17 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { duration: vmThreadDur, }; this.vmStatisticsAnalysisThreadData.push(threadData); - }); + });// @ts-ignore this.vmStatisticsAnalysisThreadData.sort((a, b) => b.duration - a.duration); } - private getVirtualMemorySo(item: any): void { + private getVirtualMemorySo(item: unknown): void { this.vmStatisticsAnalysisProgressEL!.loading = true; let allDur = 0; - let libMap = new Map>(); + let libMap = new Map>();// @ts-ignore if (!this.vmStatisticsAnalysisProcessData || this.vmStatisticsAnalysisProcessData.length === 0) { return; - } + }// @ts-ignore for (let vmItemData of this.vmStatisticsAnalysisProcessData) { if (this.soIsAccumulationData(item, vmItemData)) { continue; @@ -875,29 +878,29 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { this.libraryPieChart(); } - private soIsAccumulationData(item: any, vmItemData: any): boolean { - if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + private soIsAccumulationData(item: unknown, vmItemData: unknown): boolean { + if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return item && (vmItemData.pid !== item.pid || vmItemData.tid !== item.tid || vmItemData.type !== item.type); - } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return item && (vmItemData.pid !== item.pid || vmItemData.type !== item.type); - } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return (item && vmItemData.tid !== item.tid) || vmItemData.type !== item.type; - } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return item && vmItemData.type !== item.type; } return false; } - private updateVmSoData(libMap: Map>, item: any, allDur: number): void { + private updateVmSoData(libMap: Map>, item: unknown, allDur: number): void { this.vmStatisticsAnalysisSoData = []; - libMap.forEach((value: any[], key: number): void => { + libMap.forEach((value: unknown[], key: number): void => { let dur = 0; let vmLibName = ''; - for (let item of value) { + for (let item of value) {// @ts-ignore dur += item.dur; - if (key === null) { + if (key === null) {// @ts-ignore item.libName = 'unknown'; - } + }// @ts-ignore vmLibName = item.libName; } let libPath = vmLibName?.split('/'); @@ -905,9 +908,9 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { vmLibName = libPath[libPath.length - 1]; } const soData = { - tableName: vmLibName, - pid: item === null ? value[0].pid : item.pid, - type: item === null ? value[0].type : item.type, + tableName: vmLibName,// @ts-ignore + pid: item === null ? value[0].pid : item.pid,// @ts-ignore + type: item === null ? value[0].type : item.type,// @ts-ignore tid: item === null ? value[0].tid : item.tid, libId: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -915,22 +918,22 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { duration: dur, }; this.vmStatisticsAnalysisSoData.push(soData); - }); + });// @ts-ignore this.vmStatisticsAnalysisSoData.sort((a, b) => b.duration - a.duration); } - private getVirtualMemoryFunction(item: any): void { + private getVirtualMemoryFunction(item: unknown): void { this.vmStatisticsAnalysisProgressEL!.loading = true; - this.shadowRoot!.querySelector('.vm-subheading')!.textContent = 'Statistic By Function AllDuration'; - let tid = item.tid; - let pid = item.pid; - let type = item.type; + this.shadowRoot!.querySelector('.vm-subheading')!.textContent = 'Statistic By Function AllDuration';// @ts-ignore + let tid = item.tid;// @ts-ignore + let pid = item.pid;// @ts-ignore + let type = item.type;// @ts-ignore let libId = item.libId; let allDur = 0; - let symbolMap = new Map>(); + let symbolMap = new Map>();// @ts-ignore if (!this.vmStatisticsAnalysisProcessData || this.vmStatisticsAnalysisProcessData.length === 0) { return; - } + }// @ts-ignore for (let vmProcessData of this.vmStatisticsAnalysisProcessData) { if (this.vmFunctionIsAccumulationData(vmProcessData, tid, pid, type, libId)) { continue; @@ -971,9 +974,12 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }, tip: (vmObj): string => { return `
-
Function:${vmObj.obj.tableName}
-
Duration:${vmObj.obj.durFormat}
-
percent:${vmObj.obj.percent}
+
Function:${// @ts-ignore + vmObj.obj.tableName}
+
Duration:${// @ts-ignore + vmObj.obj.durFormat}
+
percent:${// @ts-ignore + vmObj.obj.percent}
`; }, @@ -992,41 +998,41 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }; } - private vmFunctionIsAccumulationData(vmProcessData: any, tid: number, pid: number, type: string, libId: number): boolean { + private vmFunctionIsAccumulationData(vmProcessData: unknown, tid: number, pid: number, type: string, libId: number): boolean { if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { - return ( - vmProcessData.pid !== pid || - vmProcessData.tid !== tid || - vmProcessData.type !== type || + return (// @ts-ignore + vmProcessData.pid !== pid ||// @ts-ignore + vmProcessData.tid !== tid ||// @ts-ignore + vmProcessData.type !== type ||// @ts-ignore vmProcessData.libId !== libId - ); - } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + );// @ts-ignore + } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return vmProcessData.pid !== pid || vmProcessData.type !== type || vmProcessData.libId !== libId; - } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) {// @ts-ignore return vmProcessData.tid !== tid || vmProcessData.type !== type || vmProcessData.libId !== libId; - } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) {// @ts-ignore return vmProcessData.type !== type || vmProcessData.libId !== libId; } return false; } - private updateVmFunctionData(symbolMap: Map>, item: any, allDur: number): void { + private updateVmFunctionData(symbolMap: Map>, item: unknown, allDur: number): void { this.vmStatisticsAnalysisFunctionData = []; symbolMap.forEach((symbolItems, key): void => { let dur = 0; let symbolName = ''; - for (let symbolItem of symbolItems) { - symbolName = symbolItem.symbolName; + for (let symbolItem of symbolItems) {// @ts-ignore + symbolName = symbolItem.symbolName;// @ts-ignore dur += symbolItem.dur; } let symbolPath = symbolName?.split('/'); if (symbolPath) { symbolName = symbolPath[symbolPath.length - 1]; } - const symbolData = { - pid: item.pid, - type: item.type, - tid: item.tid, + const symbolData = {// @ts-ignore + pid: item.pid,// @ts-ignore + type: item.type,// @ts-ignore + tid: item.tid,// @ts-ignore libId: item.libId, symbol: key, percent: ((dur / allDur) * 100).toFixed(2), @@ -1035,7 +1041,7 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { duration: dur, }; this.vmStatisticsAnalysisFunctionData.push(symbolData); - }); + });// @ts-ignore this.vmStatisticsAnalysisFunctionData.sort((a, b) => b.duration - a.duration); } @@ -1064,37 +1070,37 @@ export class TabPaneVirtualMemoryStatisticsAnalysis extends BaseElement { }; } - private getVmPieChartData(vmRes: any[]): unknown[] { + private getVmPieChartData(vmRes: unknown[]): unknown[] { if (vmRes.length > 20) { let vmPieChartArr: string[] = []; - let other: any = { + let other: unknown = { tableName: 'other', duration: 0, percent: 0, durFormat: 0, }; for (let i = 0; i < vmRes.length; i++) { - if (i < 19) { + if (i < 19) {// @ts-ignore vmPieChartArr.push(vmRes[i]); - } else { - other.duration += vmRes[i].duration; - other.durFormat = Utils.getProbablyTime(other.duration); + } else {// @ts-ignore + other.duration += vmRes[i].duration;// @ts-ignore + other.durFormat = Utils.getProbablyTime(other.duration);// @ts-ignore other.percent = ((other.duration / this.sumDur) * 100).toFixed(2); } - } + }// @ts-ignore vmPieChartArr.push(other); return vmPieChartArr; } return vmRes; } - private getVmDataByWorker(args: any[], handler: Function): void { + private getVmDataByWorker(args: unknown[], handler: Function): void { procedurePool.submitWithName( 'logic0', 'fileSystem-action', { args, callType: 'virtualMemory', isAnalysis: true }, undefined, - (results: any) => { + (results: unknown) => { handler(results); this.vmStatisticsAnalysisProgressEL!.loading = false; } diff --git a/ide/src/trace/component/trace/sheet/fps/TabPaneFps.ts b/ide/src/trace/component/trace/sheet/fps/TabPaneFps.ts index 304589c13..97ccf61d7 100644 --- a/ide/src/trace/component/trace/sheet/fps/TabPaneFps.ts +++ b/ide/src/trace/component/trace/sheet/fps/TabPaneFps.ts @@ -26,14 +26,14 @@ export class TabPaneFps extends BaseElement { private fpsTbl: LitTable | null | undefined; private fpsRange: HTMLLabelElement | null | undefined; - set data(fpsSelection: SelectionParam | any) { - this.fpsRange!.textContent = `Selected range: ${parseFloat( + set data(fpsSelection: SelectionParam | unknown) { + this.fpsRange!.textContent = `Selected range: ${parseFloat(// @ts-ignore ((fpsSelection.rightNs - fpsSelection.leftNs) / 1000000.0).toFixed(5) - )} ms`; + )} ms`;// @ts-ignore getTabFps(fpsSelection.leftNs, fpsSelection.rightNs).then((fpsResult) => { if (fpsResult !== null && fpsResult.length > 0) { log('getTabFps result size : ' + fpsResult.length); - + // @ts-ignore let index = fpsResult.findIndex((d) => d.startNS >= fpsSelection.leftNs); if (index !== -1) { let arr = fpsResult.splice(index > 0 ? index - 1 : index); diff --git a/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts b/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts index c56f785c8..8baadef77 100644 --- a/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts +++ b/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts @@ -30,21 +30,23 @@ export class TabPaneCpuFreqLimits extends BaseElement { private cpuFreqLimitSortKey: string = 'cpu'; private cpuFreqLimitSortType: number = 0; - set data(cpuFreqLimitSelection: SelectionParam | any) { + set data(cpuFreqLimitSelection: SelectionParam | unknown) { if (cpuFreqLimitSelection === this.selectionParam) { return; } + // @ts-ignore this.selectionParam = cpuFreqLimitSelection; // @ts-ignore this.cpuFreqLimitsTbl!.shadowRoot!.querySelector('.table').style.height = this.parentElement!.clientHeight - 25 + 'px'; - let list: any[] = []; + let list: unknown[] = []; + // @ts-ignore getCpuLimitFreqBoxSelect(cpuFreqLimitSelection.cpuFreqLimit, cpuFreqLimitSelection.rightNs).then((res) => { - for (let it of res) { - if (!it.dur || it.startNs + it.dur > cpuFreqLimitSelection.rightNs) { + for (let it of res) {// @ts-ignore + if (!it.dur || it.startNs + it.dur > cpuFreqLimitSelection.rightNs) {// @ts-ignore it.dur = (cpuFreqLimitSelection.rightNs || 0) - (it.startNs || 0); } - } + }// @ts-ignore this.formatData(res, cpuFreqLimitSelection.leftNs, cpuFreqLimitSelection.rightNs); }); } @@ -124,25 +126,25 @@ export class TabPaneCpuFreqLimits extends BaseElement { } } - compareTime(cpuFreqLimitA: any, cpuFreqLimitB: any, type: number): number { - if (type === 1) { + compareTime(cpuFreqLimitA: unknown, cpuFreqLimitB: unknown, type: number): number { + if (type === 1) {// @ts-ignore return cpuFreqLimitA.time - cpuFreqLimitB.time; - } else { + } else {// @ts-ignore return cpuFreqLimitB.time - cpuFreqLimitA.time; } } - compareValue(cpuFreqLimitA: any, cpuFreqLimitB: any, type: number): number { - if (type === 1) { + compareValue(cpuFreqLimitA: unknown, cpuFreqLimitB: unknown, type: number): number { + if (type === 1) {// @ts-ignore return cpuFreqLimitA.value - cpuFreqLimitB.value; - } else { + } else {// @ts-ignore return cpuFreqLimitB.value - cpuFreqLimitA.value; } } - compareCpu(cpuFreqLimitA: any, cpuFreqLimitB: any, type: number): number { + compareCpu(cpuFreqLimitA: unknown, cpuFreqLimitB: unknown, type: number): number {// @ts-ignore if (cpuFreqLimitA.cpu > cpuFreqLimitB.cpu) { - return type === 2 ? -1 : 1; + return type === 2 ? -1 : 1;// @ts-ignore } else if (cpuFreqLimitA.cpu === cpuFreqLimitB.cpu) { return 0; } else { @@ -150,9 +152,9 @@ export class TabPaneCpuFreqLimits extends BaseElement { } } - compareType(cpuFreqLimitA: any, cpuFreqLimitB: any, type: number): number { + compareType(cpuFreqLimitA: unknown, cpuFreqLimitB: unknown, type: number): number {// @ts-ignore if (cpuFreqLimitA.type > cpuFreqLimitB.type) { - return type === 2 ? 1 : -1; + return type === 2 ? 1 : -1;// @ts-ignore } else if (cpuFreqLimitA.type === cpuFreqLimitB.type) { return 0; } else { diff --git a/ide/src/trace/component/trace/sheet/freq/TabPaneFreq.ts b/ide/src/trace/component/trace/sheet/freq/TabPaneFreq.ts index ad8796b9d..a0211ee4f 100644 --- a/ide/src/trace/component/trace/sheet/freq/TabPaneFreq.ts +++ b/ide/src/trace/component/trace/sheet/freq/TabPaneFreq.ts @@ -23,14 +23,19 @@ import { resizeObserver } from '../SheetUtils'; export class TabPaneFreq extends BaseElement { private freqTbl: LitTable | null | undefined; - set data(freqData: any) { + set data(freqData: unknown) { if (freqData) { this.freqTbl!.recycleDataSource = [ { + // @ts-ignore startNS: Utils.getTimeString(freqData.startNS >= 0 ? freqData.startNS : 0), - absoluteTime: (freqData.startNS + (window as any).recordStartNS) / 1000000000 + 's', + // @ts-ignore + absoluteTime: (freqData.startNS + (window as unknown).recordStartNS) / 1000000000 + 's', + // @ts-ignore dur: Utils.getProbablyTime(freqData.dur), + // @ts-ignore freq: `${ColorUtils.formatNumberComma(freqData.value!)} kHz`, + // @ts-ignore cpu: `Cpu ${freqData.cpu}`, }, ]; diff --git a/ide/src/trace/component/trace/sheet/freq/TabPaneFreqLimit.ts b/ide/src/trace/component/trace/sheet/freq/TabPaneFreqLimit.ts index cae58ee05..3e841129e 100644 --- a/ide/src/trace/component/trace/sheet/freq/TabPaneFreqLimit.ts +++ b/ide/src/trace/component/trace/sheet/freq/TabPaneFreqLimit.ts @@ -23,15 +23,21 @@ import { resizeObserver } from '../SheetUtils'; export class TabPaneFreqLimit extends BaseElement { private freqLimitTbl: LitTable | null | undefined; - set data(freqLimit: any) { + set data(freqLimit: unknown) { if (freqLimit) { this.freqLimitTbl!.recycleDataSource = [ { + // @ts-ignore startNs: Utils.getTimeString(freqLimit.startNs >= 0 ? freqLimit.startNs : 0), - absoluteTime: (freqLimit.startNs + (window as any).recordStartNS) / 1000000000, + // @ts-ignore + absoluteTime: (freqLimit.startNs + (window as unknown).recordStartNS) / 1000000000, + // @ts-ignore dur: Utils.getProbablyTime(freqLimit.dur), + // @ts-ignore maxFreq: `${ColorUtils.formatNumberComma(freqLimit.max!)} kHz`, + // @ts-ignore minFreq: `${ColorUtils.formatNumberComma(freqLimit.min!)} kHz`, + // @ts-ignore cpu: `Cpu ${freqLimit.cpu}`, }, ]; diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelect.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelect.ts index a4d89f0a4..15d226166 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelect.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelect.ts @@ -60,6 +60,7 @@ export class TabPaneGpuClickSelect extends BaseElement { if (result !== null && result.length > 0) { log('queryGpuDataByTs result size : ' + result.length); let items = this.createTreeData(result); + // @ts-ignore this.gpuSource = (gpu.type === 'total' ? items[0].children : items) || []; this.gpuTbl!.recycleDataSource = this.gpuSource; this.theadClick(this.gpuTbl!, this.gpuSource); @@ -69,14 +70,17 @@ export class TabPaneGpuClickSelect extends BaseElement { } }); } - protected createTreeData(result: any): Array { + protected createTreeData(result: unknown): Array { + // @ts-ignore let gpuDataObj = result.reduce( ( - group: any, - item: { categoryId: number; size: number; windowNameId: number; moduleId: number; windowId: any } + group: unknown, + item: { categoryId: number; size: number; windowNameId: number; moduleId: number; windowId: unknown } ) => { let categoryItem: GpuTreeItem = this.setGpuTreeItem(item); + // @ts-ignore if (group[`${item.windowNameId}(${item.windowId})`]) { + // @ts-ignore let windowGroup = group[`${item.windowNameId}(${item.windowId})`] as GpuTreeItem; windowGroup.size += item.size; windowGroup.sizeStr = Utils.getBinaryByteWithUnit(windowGroup.size); @@ -95,6 +99,7 @@ export class TabPaneGpuClickSelect extends BaseElement { }); } } else { + // @ts-ignore group[`${item.windowNameId}(${item.windowId})`] = { name: SpSystemTrace.DATA_DICT.get(item.windowNameId) + `(${item.windowId})`, id: item.windowNameId, @@ -118,17 +123,22 @@ export class TabPaneGpuClickSelect extends BaseElement { return Object.values(gpuDataObj) as GpuTreeItem[]; } - private setGpuTreeItem(item: any): GpuTreeItem { + private setGpuTreeItem(item: unknown): GpuTreeItem { return { + // @ts-ignore name: SpSystemTrace.DATA_DICT.get(item.categoryId) || 'null', + // @ts-ignore id: item.categoryId, + // @ts-ignore size: item.size, + // @ts-ignore sizeStr: Utils.getBinaryByteWithUnit(item.size), }; } initElements(): void { this.gpuTbl = this.shadowRoot?.querySelector('#tb-gpu'); - this.gpuTbl!.addEventListener('column-click', (evt: any) => { + this.gpuTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -137,7 +147,7 @@ export class TabPaneGpuClickSelect extends BaseElement { this.parentElement!.style.overflow = 'hidden'; resizeObserver(this.parentElement!, this.gpuTbl!, 18); } - public theadClick(table: LitTable, data: Array): void { + public theadClick(table: LitTable, data: Array): void { let labels = table?.shadowRoot?.querySelector('.th > .td')!.querySelectorAll('label'); if (labels) { for (let i = 0; i < labels.length; i++) { @@ -175,10 +185,12 @@ export class TabPaneGpuClickSelect extends BaseElement { `; } - sortByColumn(gpuDetail: any): void { + sortByColumn(gpuDetail: unknown): void { let compare = (gpuA: GpuTreeItem, gpuB: GpuTreeItem): number => { + // @ts-ignore if (gpuDetail.sort === 0) { return gpuA.size - gpuB.size; + // @ts-ignore } else if (gpuDetail.sort === 1) { return gpuA.size - gpuB.size; } else { diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelectComparison.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelectComparison.ts index 9d757041b..ebcc1fb9a 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelectComparison.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuClickSelectComparison.ts @@ -52,8 +52,8 @@ export class TabPaneGpuClickSelectComparison extends TabPaneGpuClickSelect { super.connectedCallback(); resizeObserverFromMemory(this.parentElement!, this.gpuComparisonTbl!, this.comparisonSelect!); } - async queryDataByDB(type: string, startTs: number): Promise { - let gpuData: Array = []; + async queryDataByDB(type: string, startTs: number): Promise { + let gpuData: Array = []; let window = type === 'total' ? 0 : VmTrackerChart.gpuWindow; let module = type === 'total' ? VmTrackerChart.gpuTotalModule : VmTrackerChart.gpuWindowModule; await queryGpuDataByTs(startTs, window || 0, module).then((result) => { @@ -86,6 +86,7 @@ export class TabPaneGpuClickSelectComparison extends TabPaneGpuClickSelect { this.gpuComparisonTbl!.loading = true; this.baseGpuData = []; let baseGpuData = await this.queryDataByDB(type, startTs); + // @ts-ignore for (const item of baseGpuData) { this.baseGpuData.push( new GpuDumpComparison(item.windowNameId, item.windowId, item.moduleId, item.categoryId, item.size) @@ -128,6 +129,7 @@ export class TabPaneGpuClickSelectComparison extends TabPaneGpuClickSelect { let comparisonData: Array = []; let targetGpuData: Array = []; let data = await this.queryDataByDB(type, targetStartNs); + // @ts-ignore for (const item of data) { targetGpuData.push( new GpuDumpComparison(item.windowNameId, item.windowId, item.moduleId, item.categoryId, item.size) @@ -138,6 +140,7 @@ export class TabPaneGpuClickSelectComparison extends TabPaneGpuClickSelect { item.size = item.value; } let items = this.createTreeData(comparisonData); + // @ts-ignore this.gpuComparisonSource = (type === 'total' ? items[0].children : items) || []; this.comparisonSortData = this.gpuComparisonSource; this.gpuComparisonTbl!.recycleDataSource = this.gpuComparisonSource; diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuGL.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuGL.ts index d6aabdf58..22b9de6a9 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuGL.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuGL.ts @@ -37,18 +37,22 @@ export class TabPaneGpuGL extends BaseElement { private glSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(glParam: SelectionParam | any) { + set data(glParam: SelectionParam | unknown) { if (this.currentSelectionParam === glParam) { return; } + // @ts-ignore this.currentSelectionParam = glParam; //@ts-ignore this.glTbl?.shadowRoot?.querySelector('.table')?.style?.height = this.parentElement!.clientHeight - 45 + 'px'; + // @ts-ignore this.range!.textContent = 'Selected range: ' + ((glParam.rightNs - glParam.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.glTbl!.loading = true; queryGpuDataTab( MemoryConfig.getInstance().iPid, + // @ts-ignore glParam.leftNs, + // @ts-ignore glParam.rightNs, MemoryConfig.getInstance().snapshotDur, "'mem.gl_pss'" @@ -72,7 +76,8 @@ export class TabPaneGpuGL extends BaseElement { initElements(): void { this.glTbl = this.shadowRoot?.querySelector('#tb-gl'); this.range = this.shadowRoot?.querySelector('#gl-time-range'); - this.glTbl!.addEventListener('column-click', (evt: any) => { + this.glTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -115,8 +120,10 @@ export class TabPaneGpuGL extends BaseElement { return gpuA.startTs - gpuB.startTs; } else { let key = detail.key.replace('Str', ''); - let valueA = (gpuA as any)[key]; - let valueB = (gpuB as any)[key]; + // @ts-ignore + let valueA = (gpuA as unknown)[key]; + // @ts-ignore + let valueB = (gpuB as unknown)[key]; return detail.sort === 1 ? valueA - valueB : valueB - valueA; } }); diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuTotalBoxSelect.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuTotalBoxSelect.ts index 7b36bdf52..b74fca172 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuTotalBoxSelect.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuTotalBoxSelect.ts @@ -46,16 +46,19 @@ export class TabPaneGpuTotalBoxSelect extends BaseElement { private gpuBoxSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(gpuTotalBoxParam: SelectionParam | any) { + set data(gpuTotalBoxParam: SelectionParam | unknown) { if (this.currentSelectionParam === gpuTotalBoxParam) { return; } + // @ts-ignore this.currentSelectionParam = gpuTotalBoxParam; //@ts-ignore this.gpuBoxTbl?.shadowRoot?.querySelector('.table')?.style?.height = this.parentElement!.clientHeight - 45 + 'px'; this.range!.textContent = + // @ts-ignore 'Selected range: ' + ((gpuTotalBoxParam.rightNs - gpuTotalBoxParam.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.gpuBoxTbl!.loading = true; + // @ts-ignore queryGpuDataByRange(gpuTotalBoxParam.leftNs, gpuTotalBoxParam.rightNs, MemoryConfig.getInstance().snapshotDur).then( (result) => { this.gpuBoxTbl!.loading = false; @@ -84,7 +87,8 @@ export class TabPaneGpuTotalBoxSelect extends BaseElement { initElements(): void { this.gpuBoxTbl = this.shadowRoot?.querySelector('#tb-gpu-box'); this.range = this.shadowRoot?.querySelector('#gpu-box-time-range'); - this.gpuBoxTbl!.addEventListener('column-click', (evt: any) => { + this.gpuBoxTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -133,8 +137,10 @@ export class TabPaneGpuTotalBoxSelect extends BaseElement { return gpuA.startTs - gpuB.startTs; } else { let key = gpuTotalBoxDetail.key.replace('Str', ''); - let valueA = (gpuA as any)[key]; - let valueB = (gpuB as any)[key]; + // @ts-ignore + let valueA = (gpuA as unknown)[key]; + // @ts-ignore + let valueB = (gpuB as unknown)[key]; return gpuTotalBoxDetail.sort === 1 ? valueA - valueB : valueB - valueA; } }); diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuWindowBoxSelect.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuWindowBoxSelect.ts index cbcd3c019..7c5b9a106 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuWindowBoxSelect.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGpuWindowBoxSelect.ts @@ -46,16 +46,19 @@ export class TabPaneGpuWindowBoxSelect extends BaseElement { private gpuBoxSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(gpuBoxParam: SelectionParam | any) { + set data(gpuBoxParam: SelectionParam | unknown) { if (this.currentSelectionParam === gpuBoxParam) { return; } + // @ts-ignore this.currentSelectionParam = gpuBoxParam; //@ts-ignore this.gpuBoxTbl?.shadowRoot?.querySelector('.table')?.style?.height = this.parentElement!.clientHeight - 45 + 'px'; this.range!.textContent = + // @ts-ignore 'Selected range: ' + ((gpuBoxParam.rightNs - gpuBoxParam.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.gpuBoxTbl!.loading = true; + // @ts-ignore queryGpuDataByRange(gpuBoxParam.leftNs, gpuBoxParam.rightNs, MemoryConfig.getInstance().snapshotDur).then( (result) => { this.gpuBoxTbl!.loading = false; @@ -85,7 +88,8 @@ export class TabPaneGpuWindowBoxSelect extends BaseElement { initElements(): void { this.gpuBoxTbl = this.shadowRoot?.querySelector('#tb-gpu-box'); this.range = this.shadowRoot?.querySelector('#gpu-box-time-range'); - this.gpuBoxTbl!.addEventListener('column-click', (evt: any) => { + this.gpuBoxTbl!.addEventListener('column-click', (evt: unknown) => { + // @ts-ignore this.sortByColumn(evt.detail); }); } @@ -134,8 +138,10 @@ export class TabPaneGpuWindowBoxSelect extends BaseElement { return gpuA.startTs - gpuB.startTs; } else { let key = detail.key.replace('Str', ''); - let valueA = (gpuA as any)[key]; - let valueB = (gpuB as any)[key]; + // @ts-ignore + let valueA = (gpuA as unknown)[key]; + // @ts-ignore + let valueB = (gpuB as unknown)[key]; return detail.sort === 1 ? valueA - valueB : valueB - valueA; } }); diff --git a/ide/src/trace/component/trace/sheet/gpu/TabPaneGraph.ts b/ide/src/trace/component/trace/sheet/gpu/TabPaneGraph.ts index f186da13c..eee004e98 100644 --- a/ide/src/trace/component/trace/sheet/gpu/TabPaneGraph.ts +++ b/ide/src/trace/component/trace/sheet/gpu/TabPaneGraph.ts @@ -37,19 +37,23 @@ export class TabPaneGpuGraph extends BaseElement { private graphSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(graphParam: SelectionParam | any) { + set data(graphParam: SelectionParam | unknown) { if (this.currentSelectionParam === graphParam) { return; } + // @ts-ignore this.currentSelectionParam = graphParam; //@ts-ignore this.graphTbl?.shadowRoot?.querySelector('.table')?.style?.height = this.parentElement!.clientHeight - 45 + 'px'; this.range!.textContent = + // @ts-ignore 'Selected range: ' + ((graphParam.rightNs - graphParam.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.graphTbl!.loading = true; queryGpuDataTab( MemoryConfig.getInstance().iPid, + // @ts-ignore graphParam.leftNs, + // @ts-ignore graphParam.rightNs, MemoryConfig.getInstance().snapshotDur, "'mem.graph_pss'" diff --git a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts index ad0bb9796..dc3e58bc4 100644 --- a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts +++ b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts @@ -54,7 +54,8 @@ export class TabPaneHiLogs extends BaseElement { this.filterData = []; } window.clearTimeout(this.timeOutId); - let oneDayTime = (window as any).recordEndNS - this.ONE_DAY_NS; + // @ts-ignore + let oneDayTime = (window as unknown).recordEndNS - this.ONE_DAY_NS; if (systemLogParam && systemLogParam.hiLogs.length > 0) { this.progressEL!.loading = true; queryLogAllData(oneDayTime, systemLogParam.leftNs, systemLogParam.rightNs).then((res) => { diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts index 0002a180f..9cf37a0f6 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts @@ -28,13 +28,13 @@ import { TabPanePerfAnalysisHtml } from './TabPanePerfAnalysis.html'; @element('tabpane-perf-analysis') export class TabPanePerfAnalysis extends BaseElement { - private currentSelection: SelectionParam | any; + private currentSelection: SelectionParam | unknown; private perfAnalysisPie: LitChartPie | null | undefined; - private processData!: Array; - private pidData!: any[]; - private threadData!: any[]; - private soData!: any[]; - private functionData!: any[]; + private processData!: Array; + private pidData!: unknown[]; + private threadData!: unknown[]; + private soData!: unknown[]; + private functionData!: unknown[]; private perfTableThread: LitTable | null | undefined; private perfTableProcess: LitTable | null | undefined; private perfTableSo: LitTable | null | undefined; @@ -46,7 +46,7 @@ export class TabPanePerfAnalysis extends BaseElement { private progressEL: LitProgressBar | null | undefined; private processName: string = ''; private threadName: string = ''; - private callChainMap!: Map; + private callChainMap!: Map; private sortColumn: string = ''; private sortType: number = 0; private allProcessCount!: {}; @@ -54,7 +54,7 @@ export class TabPanePerfAnalysis extends BaseElement { private allLibCount!: {}; private allSymbolCount!: {}; private currentLevel = -1; - private currentLevelData!: Array; + private currentLevelData!: Array; private titleEl: HTMLDivElement | undefined | null; private filterEl: TabPaneFilter | undefined | null; private hideProcessCheckBox: LitCheckBox | undefined | null; @@ -130,6 +130,7 @@ export class TabPanePerfAnalysis extends BaseElement { } perfProfileTab!.pieTitle = title; // 是否是在表格上右键点击跳转到火焰图的 + // @ts-ignore this.currentSelection.isRowClick = true; perfProfileTab!.data = this.currentSelection; } @@ -175,7 +176,9 @@ export class TabPanePerfAnalysis extends BaseElement { if ( (this.hideProcessCheckBox!.checked && this.hideThreadCheckBox!.checked) || (this.hideThreadCheckBox!.checked && + // @ts-ignore this.currentSelection.perfThread.length > 0 && + // @ts-ignore this.currentSelection.perfProcess.length === 0) ) { this.processName = ''; @@ -184,6 +187,7 @@ export class TabPanePerfAnalysis extends BaseElement { } else if (this.hideProcessCheckBox!.checked && !this.hideThreadCheckBox!.checked) { this.hideProcess(); } else { + // @ts-ignore this.getHiperfProcess(this.currentSelection); } }); @@ -240,7 +244,7 @@ export class TabPanePerfAnalysis extends BaseElement { showTable: LitTable, hideTable: LitTable, currentLevel: number, - currentLevelData: Array + currentLevelData: Array ): void { showTable!.style.display = 'grid'; hideTable!.style.display = 'none'; @@ -255,14 +259,17 @@ export class TabPanePerfAnalysis extends BaseElement { if (this.tabName!.textContent === 'Statistic By Thread Count') { this.showAssignLevel(this.perfTableProcess!, this.perfTableThread!, 0, this.pidData); this.back!.style.visibility = 'hidden'; + // @ts-ignore this.processPieChart(this.currentSelection); } else if (this.tabName!.textContent === 'Statistic By Library Count') { if (this.hideThreadCheckBox?.checked) { this.showAssignLevel(this.perfTableProcess!, this.perfTableSo!, 0, this.pidData); this.back!.style.visibility = 'hidden'; + // @ts-ignore this.processPieChart(this.currentSelection); } else { this.showAssignLevel(this.perfTableThread!, this.perfTableSo!, 1, this.threadData); + // @ts-ignore this.threadPieChart(this.currentSelection); } } else if (this.tabName!.textContent === 'Statistic By Function Count') { @@ -274,7 +281,9 @@ export class TabPanePerfAnalysis extends BaseElement { (this.hideProcessCheckBox?.checked && this.tabName!.textContent === 'Statistic By Thread Count') || (this.hideThreadCheckBox?.checked && this.tabName!.textContent === 'Statistic By Library Count' && + // @ts-ignore this.currentSelection.perfThread.length > 0 && + // @ts-ignore this.currentSelection.perfProcess.length === 0) ) { this.back!.style.visibility = 'hidden'; @@ -288,16 +297,19 @@ export class TabPanePerfAnalysis extends BaseElement { this.showAssignLevel(this.perfTableThread!, this.perfTableProcess!, 1, this.perfTableThread!.recycleDataSource); this.processName = ''; this.titleEl!.textContent = ''; + // @ts-ignore this.getHiperfThread(null, this.currentSelection); } - private hideThread(it?: any): void { + private hideThread(it?: unknown): void { this.reset(this.perfTableSo!, true); this.showAssignLevel(this.perfTableSo!, this.perfTableProcess!, 1, this.soData); this.threadName = ''; if (it) { + // @ts-ignore this.getHiperfSo(it, this.currentSelection); } else { + // @ts-ignore this.getHiperfSo(null, this.currentSelection); } } @@ -316,11 +328,16 @@ export class TabPanePerfAnalysis extends BaseElement { }, tip: (perfObj): string => { return `
-
Process:${perfObj.obj.tableName}
-
Sample Count:${perfObj.obj.count}
-
Percent:${perfObj.obj.percent}%
-
Event Count:${perfObj.obj.eventCount}
-
Percent:${perfObj.obj.eventPercent}%
+
Process:${// @ts-ignore + perfObj.obj.tableName}
+
Sample Count:${// @ts-ignore + perfObj.obj.count}
+
Percent:${// @ts-ignore + perfObj.obj.percent}%
+
Event Count:${// @ts-ignore + perfObj.obj.eventCount}
+
Percent:${// @ts-ignore + perfObj.obj.eventPercent}%
`; }, @@ -355,7 +372,7 @@ export class TabPanePerfAnalysis extends BaseElement { this.currentLevelData = this.pidData; } - private perfProcessLevelClickEvent(it: any, val: SelectionParam): void { + private perfProcessLevelClickEvent(it: unknown, val: SelectionParam): void { if (this.hideThreadCheckBox!.checked) { this.hideThread(it); this.showAssignLevel(this.perfTableSo!, this.perfTableProcess!, 1, this.soData); @@ -392,9 +409,13 @@ export class TabPanePerfAnalysis extends BaseElement { type: 'outer', }, tip: (obj): string => { - return `
Thread:${obj.obj.tableName}
Sample Count:${obj.obj.count}
-
Percent:${obj.obj.percent}%
Event Count:${obj.obj.eventCount}
-
Percent:${obj.obj.eventPercent}%
`; + return `
Thread:${// @ts-ignore + obj.obj.tableName}
Sample Count:${// @ts-ignore + obj.obj.count}
+
Percent:${// @ts-ignore + obj.obj.percent}%
Event Count:${obj.obj.eventCount}
+
Percent:${// @ts-ignore + obj.obj.eventPercent}%
`; }, angleClick: (it): void => { // @ts-ignore @@ -420,14 +441,16 @@ export class TabPanePerfAnalysis extends BaseElement { this.currentLevelData = this.threadData; } - private perfThreadLevelClickEvent(it: any, val: SelectionParam): void { + private perfThreadLevelClickEvent(it: unknown, val: SelectionParam): void { this.reset(this.perfTableSo!, true); this.showAssignLevel(this.perfTableSo!, this.perfTableThread!, 2, this.soData); this.getHiperfSo(it, val); let pName = this.processName; + // @ts-ignore if (this.processName.length > 0 && it.tableName.length > 0) { pName = `${this.processName} / `; } + // @ts-ignore this.titleEl!.textContent = pName + it.tableName; // @ts-ignore this.threadName = it.tableName; @@ -446,11 +469,16 @@ export class TabPanePerfAnalysis extends BaseElement { }, tip: (obj): string => { return `
-
Library:${obj.obj.tableName}
-
Sample Count:${obj.obj.count}
-
Percent:${obj.obj.percent}%
-
Event Count:${obj.obj.eventCount}
-
Percent:${obj.obj.eventPercent}%
+
Library:${// @ts-ignore + obj.obj.tableName}
+
Sample Count:${// @ts-ignore + obj.obj.count}
+
Percent:${// @ts-ignore + obj.obj.percent}%
+
Event Count:${// @ts-ignore + obj.obj.eventCount}
+
Percent:${// @ts-ignore + obj.obj.eventPercent}%
`; }, @@ -493,7 +521,7 @@ export class TabPanePerfAnalysis extends BaseElement { this.currentLevelData = this.soData; } - private perfSoLevelClickEvent(it: any): void { + private perfSoLevelClickEvent(it: unknown): void { this.reset(this.tableFunction!, true); this.showAssignLevel(this.tableFunction!, this.perfTableSo!, 3, this.functionData); this.getHiperfFunction(it); @@ -504,7 +532,9 @@ export class TabPanePerfAnalysis extends BaseElement { if (this.threadName.length > 0) { title += `${this.threadName} / `; } + // @ts-ignore if (it.tableName.length > 0) { + // @ts-ignore title += it.tableName; } this.titleEl!.textContent = title; @@ -557,16 +587,20 @@ export class TabPanePerfAnalysis extends BaseElement { if (this.sortColumn === 'tableName') { currentTable!.recycleDataSource = array.sort((leftA, rightB) => { if (this.sortType === 1) { + // @ts-ignore if (leftA.tableName > rightB.tableName) { return 1; + // @ts-ignore } else if (leftA.tableName === rightB.tableName) { return 0; } else { return -1; } } else { + // @ts-ignore if (rightB.tableName > leftA.tableName) { return 1; + // @ts-ignore } else if (leftA.tableName === rightB.tableName) { return 0; } else { @@ -576,10 +610,12 @@ export class TabPanePerfAnalysis extends BaseElement { }); } else if (this.sortColumn === 'count' || this.sortColumn === 'percent') { currentTable!.recycleDataSource = array.sort((a, b) => { + // @ts-ignore return this.sortType === 1 ? a.count - b.count : b.count - a.count; }); } else if (this.sortColumn === 'eventCount' || this.sortColumn === 'eventPercent') { currentTable!.recycleDataSource = array.sort((a, b) => { + // @ts-ignore return this.sortType === 1 ? a.eventCount - b.eventCount : b.eventCount - a.eventCount; }); } @@ -629,24 +665,33 @@ export class TabPanePerfAnalysis extends BaseElement { this.getHiperfThread(null, val); } else { for (let itemData of this.processData) { + // @ts-ignore allCount += itemData.count; + // @ts-ignore allEventCount += itemData.eventCount; + // @ts-ignore if (pidMap.has(itemData.pid)) { + // @ts-ignore pidMap.get(itemData.pid)?.push(itemData); } else { let itemArray: Array = []; + // @ts-ignore itemArray.push(itemData); + // @ts-ignore pidMap.set(itemData.pid, itemArray); } } this.pidData = []; - pidMap.forEach((arr: Array, pid: number) => { + pidMap.forEach((arr: Array, pid: number) => { let count = 0; let eventCount = 0; for (let item of arr) { + // @ts-ignore count += item.count; + // @ts-ignore eventCount += item.eventCount; } + // @ts-ignore const pName = `${arr[0].processName}(${pid})`; const pidData = { tableName: pName, @@ -658,6 +703,7 @@ export class TabPanePerfAnalysis extends BaseElement { }; this.pidData.push(pidData); }); + // @ts-ignore this.pidData.sort((a, b) => b.count - a.count); this.allProcessCount = this.totalCountData(allCount, allEventCount); this.currentLevel = 0; @@ -666,7 +712,7 @@ export class TabPanePerfAnalysis extends BaseElement { } } - private getHiperfThread(item: any, val: SelectionParam): void { + private getHiperfThread(item: unknown, val: SelectionParam): void { this.progressEL!.loading = true; let threadMap = new Map>(); let allCount = 0; @@ -675,29 +721,40 @@ export class TabPanePerfAnalysis extends BaseElement { return; } for (let itemData of this.processData) { + // @ts-ignore if (item && itemData.pid !== item.pid && !this.hideProcessCheckBox?.checked) { continue; } + // @ts-ignore allCount += itemData.count; + // @ts-ignore allEventCount += itemData.eventCount; + // @ts-ignore if (threadMap.has(itemData.tid)) { + // @ts-ignore threadMap.get(itemData.tid)?.push(itemData); } else { let itemArray: Array = []; + // @ts-ignore itemArray.push(itemData); + // @ts-ignore threadMap.set(itemData.tid, itemArray); } } this.threadData = []; - threadMap.forEach((arr: Array, tid: number) => { + threadMap.forEach((arr: Array, tid: number) => { let threadCount = 0; let threadEventCount = 0; + // @ts-ignore let tName = `${arr[0].threadName}(${tid})`; for (let item of arr) { + // @ts-ignore threadCount += item.count; + // @ts-ignore threadEventCount += item.eventCount; } const threadData = { + // @ts-ignore pid: item === null ? arr[0].pid : item.pid, tid: tid, tableName: tName, @@ -710,21 +767,25 @@ export class TabPanePerfAnalysis extends BaseElement { }); this.allThreadCount = this.totalCountData(allCount, allEventCount); this.currentLevel = 1; + // @ts-ignore this.threadData.sort((a, b) => b.count - a.count); this.progressEL!.loading = false; this.threadPieChart(val); } - private getHiPerfSoIdByProcessData(item: any, itemData: any): boolean { + private getHiPerfSoIdByProcessData(item: unknown, itemData: unknown): boolean { if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + // @ts-ignore if (item && (itemData.pid !== item.pid || itemData.tid !== item.tid)) { return true; } } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + // @ts-ignore if (item && itemData.pid !== item.pid) { return true; } } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + // @ts-ignore if (item && itemData.tid !== item.tid) { return true; } @@ -732,7 +793,7 @@ export class TabPanePerfAnalysis extends BaseElement { return false; } - private getHiperfSo(item: any, val: SelectionParam): void { + private getHiperfSo(item: unknown, val: SelectionParam): void { this.progressEL!.loading = true; let parentEventCount = 0; let allCount = 0; @@ -745,29 +806,42 @@ export class TabPanePerfAnalysis extends BaseElement { if (this.getHiPerfSoIdByProcessData(item, itemData)) { continue; } + // @ts-ignore allCount += itemData.count; + // @ts-ignore allEventCount += itemData.eventCount; + // @ts-ignore if (libMap.has(`${itemData.libId}-${itemData.libName}`)) { + // @ts-ignore libMap.get(`${itemData.libId}-${itemData.libName}`)?.push(itemData); } else { let dataArray: Array = []; + // @ts-ignore dataArray.push(itemData); + // @ts-ignore libMap.set(`${itemData.libId}-${itemData.libName}`, dataArray); } } + // @ts-ignore item ? (parentEventCount = item.eventCount) : (parentEventCount = allEventCount); this.soData = []; - libMap.forEach((arr: Array) => { + libMap.forEach((arr: Array) => { let libCount = 0; let libEventCount = 0; + // @ts-ignore let libName = arr[0].libName; + // @ts-ignore let libId = arr[0].libId; for (let item of arr) { + // @ts-ignore libCount += item.count; + // @ts-ignore libEventCount += item.eventCount; } const libData = { + // @ts-ignore pid: item === null ? arr[0].pid : item.pid, + // @ts-ignore tid: item === null ? arr[0].tid : item.tid, percent: ((libCount / allCount) * 100).toFixed(2), count: libCount, @@ -783,20 +857,23 @@ export class TabPanePerfAnalysis extends BaseElement { private initPerfSoData(allCount: number, allEventCount: number): void { this.allLibCount = this.totalCountData(allCount, allEventCount); + // @ts-ignore this.soData.sort((a, b) => b.count - a.count); this.currentLevel = 2; this.progressEL!.loading = false; this.libraryPieChart(); } - private getHiperfFunction(item: any): void { + private getHiperfFunction(item: unknown): void { this.progressEL!.loading = true; this.shadowRoot!.querySelector('.perf-subheading')!.textContent = 'Statistic By Function Count'; + // @ts-ignore let parentCount = item.count; + // @ts-ignore let parentEventCount = item.eventCount; let allCount = 0; let allEventCount = 0; - let symbolMap = new Map>(); + let symbolMap = new Map>(); if (!this.processData || this.processData.length === 0) { return; } @@ -804,13 +881,19 @@ export class TabPanePerfAnalysis extends BaseElement { if (this.getIdByProcessData(itemData, item)) { continue; } + // @ts-ignore allCount += itemData.count; + // @ts-ignore allEventCount += itemData.eventCount; + // @ts-ignore if (symbolMap.has(`${itemData.symbolId}-${itemData.symbolName}`)) { + // @ts-ignore symbolMap.get(`${itemData.symbolId}-${itemData.symbolName}`)?.push(itemData); } else { let dataArray: Array = []; + // @ts-ignore dataArray.push(itemData); + // @ts-ignore symbolMap.set(`${itemData.symbolId}-${itemData.symbolName}`, dataArray); } } @@ -819,14 +902,21 @@ export class TabPanePerfAnalysis extends BaseElement { let symbolCount = 0; let symbolEventCount = 0; for (let item of arr) { + // @ts-ignore symbolCount += item.count; + // @ts-ignore symbolEventCount += item.eventCount; } + // @ts-ignore let symbolName = arr[0].symbolName; + // @ts-ignore let symbolId = arr[0].symbolId; const symbolData = { + // @ts-ignore pid: item.pid, + // @ts-ignore tid: item.tid, + // @ts-ignore libId: item.libId, percent: ((symbolCount / parentCount) * 100).toFixed(2), count: symbolCount, @@ -840,24 +930,31 @@ export class TabPanePerfAnalysis extends BaseElement { this.initPerfFunData(allCount, allEventCount); } - private getIdByProcessData(itemData: any, item: any): boolean { + private getIdByProcessData(itemData: unknown, item: unknown): boolean { + // @ts-ignore let tid = item.tid; + // @ts-ignore let pid = item.pid; + // @ts-ignore let libId = item.libId; let isContinue = false; if (!this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + // @ts-ignore if (itemData.pid !== pid || itemData.tid !== tid || itemData.libId !== libId) { isContinue = true; } } else if (!this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + // @ts-ignore if (itemData.pid !== pid || itemData.libId !== libId) { isContinue = true; } } else if (this.hideProcessCheckBox?.checked && !this.hideThreadCheckBox?.checked) { + // @ts-ignore if (itemData.tid !== tid || itemData.libId !== libId) { isContinue = true; } } else if (this.hideProcessCheckBox?.checked && this.hideThreadCheckBox?.checked) { + // @ts-ignore if (itemData.libId !== libId) { isContinue = true; } @@ -866,6 +963,7 @@ export class TabPanePerfAnalysis extends BaseElement { } private initPerfFunData(allCount: number, allEventCount: number): void { + // @ts-ignore this.functionData.sort((a, b) => b.count - a.count); this.allSymbolCount = this.totalCountData(allCount, allEventCount); this.currentLevel = 3; @@ -881,6 +979,7 @@ export class TabPanePerfAnalysis extends BaseElement { label: { type: 'outer', }, + // @ts-ignore tip: this.getTip(), hoverHandler: (data): void => { if (data) { @@ -904,7 +1003,7 @@ export class TabPanePerfAnalysis extends BaseElement { } private getTip() { - return (obj: { obj: { tableName: any; count: any; percent: any; eventCount: any; eventPercent: any } }): string => { + return (obj: { obj: { tableName: unknown; count: unknown; percent: unknown; eventCount: unknown; eventPercent: unknown } }): string => { return `
Function:${obj.obj.tableName}
Sample Count:${obj.obj.count}
@@ -940,22 +1039,26 @@ export class TabPanePerfAnalysis extends BaseElement { return allCount; } - private getPerfPieChartData(res: any[]): unknown[] { + private getPerfPieChartData(res: unknown[]): unknown[] { if (res.length > 20) { let pieChartArr: string[] = []; - let other: any = { + let other: unknown = { tableName: 'other', count: 0, percent: 0, }; for (let i = 0; i < res.length; i++) { if (i < 19) { + // @ts-ignore pieChartArr.push(res[i]); } else { + // @ts-ignore other.count += res[i].count; + // @ts-ignore other.percent = ((other.count / this.sumCount!) * 100).toFixed(2); } } + // @ts-ignore pieChartArr.push(other); return pieChartArr; } @@ -963,7 +1066,8 @@ export class TabPanePerfAnalysis extends BaseElement { } private getCallChainDataFromWorker(val: SelectionParam): void { - this.getDataByWorker(val, (results: any) => { + this.getDataByWorker(val, (results: unknown) => { + // @ts-ignore this.processData = results; if (this.processData.length === 0) { this.hideProcessCheckBox?.setAttribute('disabled', 'disabled'); @@ -992,7 +1096,7 @@ export class TabPanePerfAnalysis extends BaseElement { funcArgs: [val], }, ]; - procedurePool.submitWithName('logic0', 'perf-action', args, undefined, (results: any) => { + procedurePool.submitWithName('logic0', 'perf-action', args, undefined, (results: unknown) => { handler(results); this.progressEL!.loading = false; }); diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts index e390738a2..8428dd9c7 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatisticAnalysis.ts @@ -433,13 +433,20 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { }, tip: (typeTipValue): string => { return `
-
Memory Type:${typeTipValue.obj.tableName}
-
Existing:${typeTipValue.obj.existSizeFormat} (${typeTipValue.obj.existSizePercent}%)
-
# Existing:${typeTipValue.obj.existCount} (${typeTipValue.obj.existCountPercent}%)
-
Total Bytes:${typeTipValue.obj.applySizeFormat} (${typeTipValue.obj.applySizePercent}%)
-
# Total:${typeTipValue.obj.applyCount} (${typeTipValue.obj.applyCountPercent}%)
-
Transient:${typeTipValue.obj.releaseSizeFormat} (${typeTipValue.obj.releaseSizePercent}%)
-
# Transient:${typeTipValue.obj.releaseCount} (${typeTipValue.obj.releaseCountPercent}%)
+
Memory Type:${// @ts-ignore + typeTipValue.obj.tableName}
+
Existing:${// @ts-ignore + typeTipValue.obj.existSizeFormat} (${typeTipValue.obj.existSizePercent}%)
+
# Existing:${// @ts-ignore + typeTipValue.obj.existCount} (${typeTipValue.obj.existCountPercent}%)
+
Total Bytes:${// @ts-ignore + typeTipValue.obj.applySizeFormat} (${typeTipValue.obj.applySizePercent}%)
+
# Total:${// @ts-ignore + typeTipValue.obj.applyCount} (${typeTipValue.obj.applyCountPercent}%)
+
Transient:${// @ts-ignore + typeTipValue.obj.releaseSizeFormat} (${typeTipValue.obj.releaseSizePercent}%)
+
# Transient:${// @ts-ignore + typeTipValue.obj.releaseCount} (${typeTipValue.obj.releaseCountPercent}%)
`; }, angleClick: (it): void => { @@ -485,13 +492,20 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { }, tip: (threadTipValue): string => { return `
-
Thread:${threadTipValue.obj.tableName}
-
Existing:${threadTipValue.obj.existSizeFormat} (${threadTipValue.obj.existSizePercent}%)
-
# Existing:${threadTipValue.obj.existCount} (${threadTipValue.obj.existCountPercent}%)
-
Total Bytes:${threadTipValue.obj.applySizeFormat} (${threadTipValue.obj.applySizePercent}%)
-
# Total:${threadTipValue.obj.applyCount} (${threadTipValue.obj.applyCountPercent}%)
-
Transient:${threadTipValue.obj.releaseSizeFormat} (${threadTipValue.obj.releaseSizePercent}%)
-
# Transient:${threadTipValue.obj.releaseCount} (${threadTipValue.obj.releaseCountPercent}%)
+
Thread:${// @ts-ignore + threadTipValue.obj.tableName}
+
Existing:${// @ts-ignore + threadTipValue.obj.existSizeFormat} (${threadTipValue.obj.existSizePercent}%)
+
# Existing:${// @ts-ignore + threadTipValue.obj.existCount} (${threadTipValue.obj.existCountPercent}%)
+
Total Bytes:${// @ts-ignore + threadTipValue.obj.applySizeFormat} (${threadTipValue.obj.applySizePercent}%)
+
# Total:${// @ts-ignore + threadTipValue.obj.applyCount} (${threadTipValue.obj.applyCountPercent}%)
+
Transient:${// @ts-ignore + threadTipValue.obj.releaseSizeFormat} (${threadTipValue.obj.releaseSizePercent}%)
+
# Transient:${// @ts-ignore + threadTipValue.obj.releaseCount} (${threadTipValue.obj.releaseCountPercent}%)
`; }, angleClick: (it: any): void => { @@ -603,19 +617,32 @@ export class TabPaneNMStatisticAnalysis extends BaseElement { }, tip: (functionTipValue): string => { return `
-
Function:${functionTipValue.obj.symbolName}
-
Existing:${functionTipValue.obj.existSizeFormat} - (${functionTipValue.obj.existSizePercent}%)
-
# Existing:${functionTipValue.obj.existCount} - (${functionTipValue.obj.existCountPercent}%)
-
Total Bytes:${functionTipValue.obj.applySizeFormat} - (${functionTipValue.obj.applySizePercent}%)
-
# Total:${functionTipValue.obj.applyCount} - (${functionTipValue.obj.applyCountPercent}%)
-
Transient:${functionTipValue.obj.releaseSizeFormat} - (${functionTipValue.obj.releaseSizePercent}%)
-
# Transient:${functionTipValue.obj.releaseCount} - (${functionTipValue.obj.releaseCountPercent}%)
+
Function:${// @ts-ignore + functionTipValue.obj.symbolName}
+
Existing:${// @ts-ignore + functionTipValue.obj.existSizeFormat} + (${// @ts-ignore + functionTipValue.obj.existSizePercent}%)
+
# Existing:${// @ts-ignore + functionTipValue.obj.existCount} + (${// @ts-ignore + functionTipValue.obj.existCountPercent}%)
+
Total Bytes:${// @ts-ignore + functionTipValue.obj.applySizeFormat} + (${// @ts-ignore + functionTipValue.obj.applySizePercent}%)
+
# Total:${// @ts-ignore + functionTipValue.obj.applyCount} + (${// @ts-ignore + functionTipValue.obj.applyCountPercent}%)
+
Transient:${// @ts-ignore + functionTipValue.obj.releaseSizeFormat} + (${// @ts-ignore + functionTipValue.obj.releaseSizePercent}%)
+
# Transient:${// @ts-ignore + functionTipValue.obj.releaseCount} + (${// @ts-ignore + functionTipValue.obj.releaseCountPercent}%)
`; }, hoverHandler: (data): void => { diff --git a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsComparison.ts b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsComparison.ts index eafd195a2..501025939 100644 --- a/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsComparison.ts +++ b/ide/src/trace/component/trace/sheet/smaps/TabPaneSmapsComparison.ts @@ -40,10 +40,10 @@ export class TabPaneSmapsComparison extends TabPaneSmapsStatistics { this.sortByColumn(evt.detail.key, evt.detail.sort, this.smapsCompariosnTable); }); } - public setData(data: SelectionParam | any, dataList: any): void { + public setData(data: SelectionParam | unknown, dataList: unknown): void { if (data == this.selectionParam) { return; - } + }// @ts-ignore this.selectionParam = data; //@ts-ignore this.smapsCompariosnTable?.shadowRoot?.querySelector('.table')?.style?.height = `${ @@ -51,37 +51,37 @@ export class TabPaneSmapsComparison extends TabPaneSmapsStatistics { }px`; this.smapsCompariosnTable!.loading = true; this.init(this.tabTitle!); - let fileArr: any[] = []; - for (let file of dataList) { + let fileArr: unknown[] = [];// @ts-ignore + for (let file of dataList) {// @ts-ignore if (file.startNs !== data.leftNs) { fileArr.push(file); } } - fileArr = fileArr.sort(); - this.initSelect(data.leftNs, fileArr); + fileArr = fileArr.sort();// @ts-ignore + this.initSelect(data.leftNs, fileArr);// @ts-ignore this.querySmapsData(data.leftNs, fileArr[0].startNs); } - private initSelect(fileStartNs: number, smapsComFileArr: Array): void { + private initSelect(fileStartNs: number, smapsComFileArr: Array): void { let that = this; let input = this.selectEl!.shadowRoot?.querySelector('input') as HTMLInputElement; this.selectEl!.innerHTML = ''; let option = new LitSelectOption(); option.innerHTML = 'File Name'; option.setAttribute('disabled', 'disabled'); - this.selectEl?.appendChild(option); - if (smapsComFileArr[0].name) { + this.selectEl?.appendChild(option);// @ts-ignore + if (smapsComFileArr[0].name) {// @ts-ignore option.setAttribute('value', smapsComFileArr[0].name); - } - this.selectEl!.defaultValue = smapsComFileArr[0].name; + }// @ts-ignore + this.selectEl!.defaultValue = smapsComFileArr[0].name;// @ts-ignore this.selectEl!.placeholder = smapsComFileArr[0].name; this.selectEl!.dataSource = smapsComFileArr; this.selectEl!.querySelectorAll('lit-select-option').forEach((a) => { - a.addEventListener('onSelected', (e: any) => { - for (let f of smapsComFileArr) { - if (input.value === f.name) { + a.addEventListener('onSelected', (e: unknown) => { + for (let f of smapsComFileArr) {// @ts-ignore + if (input.value === f.name) {// @ts-ignore that.querySmapsData(fileStartNs, f.startNs); } - } + }// @ts-ignore e.stopPropagation(); }); }); -- Gitee From 90dfd9e712e60e6e292a259487fc1a4ff2322dbf Mon Sep 17 00:00:00 2001 From: "wupoli3@huawei.com" Date: Thu, 18 Apr 2024 16:36:03 +0800 Subject: [PATCH 3/6] any to unknown commit Signed-off-by: wupoli3@huawei.com --- ide/src/base-ui/BaseElement.ts | 10 +- .../base-ui/chart/column/LitChartColumn.ts | 76 ++--- .../chart/column/LitChartColumnConfig.ts | 8 +- ide/src/base-ui/table/LitPageTable.ts | 34 +- ide/src/base-ui/table/LitTableHtml.ts | 82 ++--- ide/src/base-ui/table/TableRowObject.ts | 4 +- ide/src/base-ui/table/lit-table.ts | 60 ++-- ide/src/base-ui/tabs/lit-tabs.ts | 20 +- ide/src/base-ui/tree/LitTree.ts | 124 ++++---- ide/src/base-ui/tree/LitTreeNode.ts | 72 ++--- ide/src/trace/SpApplication.ts | 4 +- ide/src/trace/component/SpRecordTrace.ts | 11 +- .../trace/component/SpSystemTrace.event.ts | 87 ++++-- ide/src/trace/component/SpSystemTrace.init.ts | 8 +- ide/src/trace/component/SpSystemTrace.line.ts | 144 ++++++--- ide/src/trace/component/SpSystemTrace.ts | 11 +- ide/src/trace/component/chart/SpEBPFChart.ts | 50 +-- ide/src/trace/component/chart/SpFpsChart.ts | 4 +- .../trace/component/chart/SpFrameTimeChart.ts | 6 +- ide/src/trace/component/chart/SpFreqChart.ts | 59 ++-- ide/src/trace/component/chart/SpHiPerf.ts | 95 +++--- .../component/chart/SpHiSysEnergyChart.ts | 25 +- ide/src/trace/component/chart/SpIrqChart.ts | 26 +- ide/src/trace/component/chart/SpLTPO.ts | 14 +- .../component/chart/SpNativeMemoryChart.ts | 8 +- .../trace/component/chart/SpProcessChart.ts | 295 +++++++++--------- ide/src/trace/component/chart/SpSdkChart.ts | 90 +++--- .../trace/component/chart/SpVmTrackerChart.ts | 51 +-- ide/src/trace/component/chart/VSync.ts | 4 +- .../schedulingAnalysis/CheckCpuSetting.ts | 2 +- .../schedulingAnalysis/DrawerCpuTabs.ts | 8 +- .../SpSchedulingAnalysis.ts | 12 +- .../schedulingAnalysis/TabCpuAnalysis.ts | 16 +- .../TabCpuDetailsFrequency.ts | 65 ++-- .../schedulingAnalysis/TabCpuDetailsIdle.ts | 69 ++-- .../schedulingAnalysis/TabCpuDetailsIrq.ts | 65 ++-- .../TabCpuDetailsThreads.ts | 63 ++-- .../Top20FrequencyThread.ts | 79 ++--- .../Top20ProcessSwitchCount.ts | 43 +-- .../Top20ProcessThreadCount.ts | 36 ++- .../schedulingAnalysis/Top20ThreadCpuUsage.ts | 185 +++++++---- .../schedulingAnalysis/Top20ThreadRunTime.ts | 31 +- .../schedulingAnalysis/utils/Utils.ts | 14 +- .../trace/component/setting/SpHisysEvent.ts | 4 +- .../trace/component/setting/SpProbesConfig.ts | 19 +- .../trace/component/setting/SpRecordPerf.ts | 47 ++- .../trace/component/setting/SpSdkConfig.ts | 33 +- .../trace/component/setting/SpTraceCommand.ts | 1 + .../trace/component/setting/SpWebHdcShell.ts | 2 +- .../setting/bean/ProfilerServiceTypes.ts | 12 +- .../setting/utils/PluginConvertUtils.ts | 57 ++-- ide/src/trace/component/trace/SpChartList.ts | 2 +- .../component/trace/TimerShaftElement.ts | 2 +- .../component/trace/base/CustomThemeColor.ts | 4 +- .../trace/component/trace/base/EventCenter.ts | 16 +- .../trace/component/trace/base/Extension.ts | 10 +- .../trace/component/trace/base/TraceRow.ts | 6 +- .../trace/sheet/TabPaneCurrentSelection.ts | 2 +- .../sheet/ability/TabPaneGpuMemoryAbility.ts | 6 +- .../sheet/ability/TabPaneHistoryProcesses.ts | 22 +- .../sheet/binder/TabPaneBinderDataCut.ts | 11 +- .../sheet/native-memory/TabPaneNMemory.ts | 100 +++--- .../sheet/schedswitch/TabPaneSchedSwitch.ts | 10 +- .../sheet/states/TabPaneFreqStatesDataCut.ts | 11 +- 64 files changed, 1418 insertions(+), 1129 deletions(-) diff --git a/ide/src/base-ui/BaseElement.ts b/ide/src/base-ui/BaseElement.ts index 0a0f8170e..9ec9820b0 100644 --- a/ide/src/base-ui/BaseElement.ts +++ b/ide/src/base-ui/BaseElement.ts @@ -13,18 +13,18 @@ * limitations under the License. */ -export function element(tag: string): (el: any) => void { - return (el: any): void => { - if (!customElements.get(tag)) { +export function element(tag: string): (el: unknown) => void { + return (el: unknown): void => { + if (!customElements.get(tag)) {//@ts-ignore customElements.define(tag, el); } }; } export abstract class BaseElement extends HTMLElement { - args: any; + args: unknown; - public constructor(args: any | undefined | null = null) { + public constructor(args: unknown | undefined | null = null) { super(); this.args = args; this.attachShadow({ mode: 'open' }).innerHTML = this.initHtml(); diff --git a/ide/src/base-ui/chart/column/LitChartColumn.ts b/ide/src/base-ui/chart/column/LitChartColumn.ts index 214c2e18d..786b813a4 100644 --- a/ide/src/base-ui/chart/column/LitChartColumn.ts +++ b/ide/src/base-ui/chart/column/LitChartColumn.ts @@ -19,7 +19,7 @@ import { resizeCanvas } from '../helper'; import { getProbablyTime } from '../../../trace/database/logic-worker/ProcedureLogicWorkerCommon'; class Pillar { - obj?: any; + obj?: unknown; xLabel?: string; yLabel?: string; type?: string; @@ -78,7 +78,7 @@ export class LitChartColumn extends BaseElement { let y = ev.pageY - rect.top; this.data.forEach((it) => { if (contains(it.bgFrame!, x, y)) { - it.hover = true; + it.hover = true;//@ts-ignore this.litChartColumnCfg?.hoverHandler?.(it.obj.no); } else { it.hover = false; @@ -89,7 +89,7 @@ export class LitChartColumn extends BaseElement { if (pillars.length > 0) { let titleEl = ``; let messageEl = pillars.map((it) => ``).join(''); - let sumEl = `
`; -export function createDownUpSvg(index: number, head: any): { upSvg: SVGSVGElement, downSvg: SVGSVGElement } { +export function createDownUpSvg(index: number, head: unknown): { upSvg: SVGSVGElement, downSvg: SVGSVGElement } { let NS = 'http://www.w3.org/2000/svg'; let upSvg: SVGSVGElement = document.createElementNS(NS, 'svg') as SVGSVGElement; let upPath: Element = document.createElementNS(NS, 'path'); @@ -540,73 +540,73 @@ export function createDownUpSvg(index: number, head: any): { upSvg: SVGSVGElemen 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z' ); downSvg.appendChild(downPath); - if (index === 0) { + if (index === 0) {//@ts-ignore head.sortType = 0; // 默认以第一列 降序排序 作为默认排序 upSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); downSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); } upSvg.style.display = 'none'; - downSvg.style.display = 'none'; - head.appendChild(upSvg); + downSvg.style.display = 'none';//@ts-ignore + head.appendChild(upSvg);//@ts-ignore head.appendChild(downSvg); return { upSvg, downSvg }; } -export function exportData(that: any): void { +export function exportData(that: unknown): void {//@ts-ignore if (that.exportLoading || that.ds.length === 0) { return; - } - that.exportLoading = true; + }//@ts-ignore + that.exportLoading = true;//@ts-ignore that.exportProgress!.loading = true; let date = new Date(); - JSONToCSV.csvExport({ - columns: that.columns as any[], + JSONToCSV.csvExport({//@ts-ignore + columns: that.columns as unknown[],//@ts-ignore tables: that.ds, - fileName: `${date.getTime()}`, - columnFormatter: that.itemTextHandleMap, + fileName: `${date.getTime()}`,//@ts-ignore + columnFormatter: that.itemTextHandleMap,//@ts-ignore exportFormatter: that.exportTextHandleMap, - }).then((res) => { - that.exportLoading = false; + }).then((res) => {//@ts-ignore + that.exportLoading = false;//@ts-ignore that.exportProgress!.loading = false; }); } -export function formatExportData(dataSource: any[], that: any): any[] { +export function formatExportData(dataSource: unknown[], that: unknown): unknown[] { if (dataSource === undefined || dataSource.length === 0) { return []; - } + }//@ts-ignore if (that.columns === undefined) { return []; } return dataSource.map((item) => { - let formatData: any = {}; - that.columns!.forEach((column: any) => { - let dataIndex = column.getAttribute('data-index'); + let formatData: unknown = {};//@ts-ignore + that.columns!.forEach((column: unknown) => {//@ts-ignore + let dataIndex = column.getAttribute('data-index');//@ts-ignore let columnName = column.getAttribute('title'); if (columnName === '') { columnName = dataIndex; - } - if (dataIndex && columnName && item[dataIndex] !== undefined) { + }//@ts-ignore + if (dataIndex && columnName && item[dataIndex] !== undefined) {//@ts-ignore formatData[columnName] = item[dataIndex]; } - }); - if (item.children !== undefined) { + });//@ts-ignore + if (item.children !== undefined) {//@ts-ignore formatData.children = formatExportData(item.children, that); } return formatData; }); } -export function recursionExportTableData(columns: any[], dataSource: any[]): string { +export function recursionExportTableData(columns: unknown[], dataSource: unknown[]): string { let concatStr = '\r\n'; dataSource.forEach((item, index) => { concatStr += columns - .map((column) => { - let dataIndex = column.getAttribute('data-index'); + .map((column) => {//@ts-ignore + let dataIndex = column.getAttribute('data-index');//@ts-ignore return `"${item[dataIndex] || ''}" `; }) - .join(','); - if (item.children !== undefined) { + .join(',');//@ts-ignore + if (item.children !== undefined) {//@ts-ignore concatStr += recursionExportTableData(columns, item.children); } if (index !== dataSource.length - 1) { @@ -616,8 +616,8 @@ export function recursionExportTableData(columns: any[], dataSource: any[]): str return concatStr; } -export function addCopyEventListener(that: any): void { - that.tableElement?.addEventListener('copy', (e: any) => { +export function addCopyEventListener(that: unknown): void {//@ts-ignore + that.tableElement?.addEventListener('copy', (e: unknown) => { // @ts-ignore let clipboardData = e.clipboardData || window.clipboardData; if (!clipboardData) { @@ -625,8 +625,8 @@ export function addCopyEventListener(that: any): void { } // @ts-ignore let text = window.getSelection().toString(); - if (text) { - e.preventDefault(); + if (text) {//@ts-ignore + e.preventDefault();//@ts-ignore let length = that.tableColumns?.length || 1; let strings = text.split('\n'); let formatStr = ''; @@ -644,7 +644,7 @@ export function addCopyEventListener(that: any): void { }); } -export function addSelectAllBox(rowElement: HTMLDivElement, that: any): void { +export function addSelectAllBox(rowElement: HTMLDivElement, that: unknown): void {//@ts-ignore if (that.selectable) { let box = document.createElement('div'); box.style.display = 'flex'; @@ -655,12 +655,12 @@ export function addSelectAllBox(rowElement: HTMLDivElement, that: any): void { box.style.backgroundColor = '#ffffff66'; let checkbox = document.createElement('lit-checkbox'); checkbox.classList.add('row-checkbox-all'); - checkbox.onchange = (e: any): void => { - that.shadowRoot!.querySelectorAll('.row-checkbox').forEach((a: any) => (a.checked = e.detail.checked)); - if (e.detail.checked) { - that.shadowRoot!.querySelectorAll('.tr').forEach((a: any) => a.setAttribute('checked', '')); - } else { - that.shadowRoot!.querySelectorAll('.tr').forEach((a: any) => a.removeAttribute('checked')); + checkbox.onchange = (e: unknown): void => {//@ts-ignore + that.shadowRoot!.querySelectorAll('.row-checkbox').forEach((a: unknown) => (a.checked = e.detail.checked));//@ts-ignore + if (e.detail.checked) {//@ts-ignore + that.shadowRoot!.querySelectorAll('.tr').forEach((a: unknown) => a.setAttribute('checked', '')); + } else {//@ts-ignore + that.shadowRoot!.querySelectorAll('.tr').forEach((a: unknown) => a.removeAttribute('checked')); } }; box.appendChild(checkbox); @@ -679,9 +679,9 @@ export function fixed(td: HTMLElement, placement: string, bgColor: string): void } } -export function formatName(key: string, name: any, that: any): any { - let content = name; - if (that.itemTextHandleMap.has(key)) { +export function formatName(key: string, name: unknown, that: unknown): unknown { + let content = name;//@ts-ignore + if (that.itemTextHandleMap.has(key)) {//@ts-ignore content = that.itemTextHandleMap.get(key)?.(name) || ''; } if (content !== undefined && content !== null) { diff --git a/ide/src/base-ui/table/TableRowObject.ts b/ide/src/base-ui/table/TableRowObject.ts index 8f4fa47a8..43015dba9 100644 --- a/ide/src/base-ui/table/TableRowObject.ts +++ b/ide/src/base-ui/table/TableRowObject.ts @@ -17,9 +17,9 @@ export class TableRowObject { public top: number = 0; public height: number = 0; public rowIndex: number = 0; - public data: any | undefined; + public data: unknown | undefined; public expanded: boolean = true; public rowHidden: boolean = false; - public children: any[] = []; + public children: unknown[] = []; public depth: number = -1; } diff --git a/ide/src/base-ui/table/lit-table.ts b/ide/src/base-ui/table/lit-table.ts index 5c47535a3..9c69b2f0d 100644 --- a/ide/src/base-ui/table/lit-table.ts +++ b/ide/src/base-ui/table/lit-table.ts @@ -655,7 +655,7 @@ export class LitTable extends HTMLElement { Math.min(totalHeight + height, this.tableElement!.scrollTop + this.tableElement!.clientHeight + headHeight) ) { let newTableElement = this.addTableElement(tableRowObject, false, false, true, totalHeight); - let td = newTableElement?.querySelectorAll('.td'); + let td = newTableElement?.querySelectorAll('.td');//@ts-ignore if (tableRowObject.data.rowName === 'cpu-profiler') { td[0].innerHTML = ''; this.createTextColor(tableRowObject, td[0]); @@ -716,7 +716,7 @@ export class LitTable extends HTMLElement { freshLineHandler(index: number, skip: number, visibleObjects: TableRowObject[]): void { this.freshCurrentLine(this.currentRecycleList[index], visibleObjects[index + skip]); - if (visibleObjects[index + skip]) { + if (visibleObjects[index + skip]) {//@ts-ignore if (visibleObjects[index + skip].data.rowName === 'cpu-profiler') { this.createTextColor(visibleObjects[index + skip], this.currentRecycleList[index].childNodes[0]); } @@ -923,7 +923,7 @@ export class LitTable extends HTMLElement { rowTreeElement.style.position = 'absolute'; rowTreeElement.style.top = '0px'; rowTreeElement.style.left = '0px'; - rowTreeElement.style.cursor = 'pointer'; + rowTreeElement.style.cursor = 'pointer';//@ts-ignore this.setHighLight(rowData.data.isSearch, rowTreeElement); this.addRowElementEvent(rowTreeElement, rowData); return rowTreeElement; @@ -972,7 +972,7 @@ export class LitTable extends HTMLElement { } else { td.innerHTML = text; } - td.dataIndex = dataIndex; + td.dataIndex = dataIndex;//@ts-ignore if (text.indexOf('<') === -1) { td.title = text; } @@ -1037,7 +1037,7 @@ export class LitTable extends HTMLElement { tdDiv.style.overflow = 'hidden'; tdDiv.style.textOverflow = 'ellipsis'; tdDiv.style.whiteSpace = 'nowrap'; - let text = formatName(dataIndex, rowData.data[dataIndex], this); + let text = formatName(dataIndex, rowData.data[dataIndex], this);//@ts-ignore if (text.indexOf('<') === -1) { if (dataIndex === 'selfTimeStr' && rowData.data.chartFrameChildren) { tdDiv.title = rowData.data.selfTime + 'ns'; @@ -1097,7 +1097,7 @@ export class LitTable extends HTMLElement { td.style.whiteSpace = 'nowrap'; td.dataIndex = dataIndex; td.style.justifyContent = column.getAttribute('align') || 'flex-start'; - let text = formatName(dataIndex, rowData.data[dataIndex], this); + let text = formatName(dataIndex, rowData.data[dataIndex], this);//@ts-ignore if (text.indexOf('<') === -1) { if (dataIndex === 'totalTimeStr' && rowData.data.chartFrameChildren) { td.title = rowData.data.totalTime + 'ns'; @@ -1400,7 +1400,7 @@ export class LitTable extends HTMLElement { if (tblColumn.hasAttribute('fixed')) { fixed(tblDiv, tblColumn.getAttribute('fixed') || '', '#ffffff'); } - this.getWheelStatus(tblDiv); + this.getWheelStatus(tblDiv);//@ts-ignore tblDiv.innerHTML = formatName(dataIndex, rowData[dataIndex], this); tblRowElement.append(tblDiv); } @@ -1437,7 +1437,7 @@ export class LitTable extends HTMLElement { element.style.display = 'none'; return; } - let childIndex = -1; + let childIndex = -1;//@ts-ignore this.setHighLight(rowObject.data.isSearch, element); element.childNodes.forEach((child) => { if (child.nodeType !== 1) { @@ -1447,27 +1447,27 @@ export class LitTable extends HTMLElement { let idx = firstElement !== undefined ? childIndex + 1 : childIndex; this.freshLineFirstElementHandler(firstElement, rowObject, childIndex); if (idx < this.columns!.length) { - let dataIndex = this.columns![idx].getAttribute('data-index') || '1'; + let dataIndex = this.columns![idx].getAttribute('data-index') || '1';//@ts-ignore let text = formatName(dataIndex, rowObject.data[dataIndex], this); if ((this.columns![idx] as any).template) { (child as HTMLElement).innerHTML = ''; (child as HTMLElement).appendChild( (this.columns![idx] as any).template.render(rowObject.data).content.cloneNode(true) - ); + );//@ts-ignore (child as HTMLElement).title = text; - } else { + } else {//@ts-ignore if (rowObject.data.rowName === 'cpu-profiler' && dataIndex === 'symbolName') { (child as HTMLElement).innerHTML = ''; - } else { + } else {//@ts-ignore (child as HTMLElement).innerHTML = text; - } - if (dataIndex === 'selfTimeStr' && rowObject.data.chartFrameChildren) { - (child as HTMLElement).title = rowObject.data.selfTime + 'ns'; - } else if (dataIndex === 'totalTimeStr' && rowObject.data.chartFrameChildren) { + }//@ts-ignore + if (dataIndex === 'selfTimeStr' && rowObject.data.chartFrameChildren) {//@ts-ignore + (child as HTMLElement).title = rowObject.data.selfTime + 'ns';//@ts-ignore + } else if (dataIndex === 'totalTimeStr' && rowObject.data.chartFrameChildren) {//@ts-ignore (child as HTMLElement).title = rowObject.data.totalTime + 'ns'; } else if (dataIndex === 'timeStr' && rowObject.data instanceof JsCpuProfilerStatisticsStruct) { (child as HTMLElement).title = rowObject.data.time + 'ns'; - } else { + } else {//@ts-ignore (child as HTMLElement).title = text; } } @@ -1506,13 +1506,13 @@ export class LitTable extends HTMLElement { } }; - (element as any).data = rowObject.data; - if (rowObject.data.isSelected !== undefined) { + (element as any).data = rowObject.data;//@ts-ignore + if (rowObject.data.isSelected !== undefined) {//@ts-ignore this.setSelectedRow(rowObject.data.isSelected, [element]); } else { this.setSelectedRow(false, [element]); - } - if (rowObject.data.isHover !== undefined) { + }//@ts-ignore + if (rowObject.data.isHover !== undefined) {//@ts-ignore this.setMouseIn(rowObject.data.isHover, [element]); } else { this.setMouseIn(false, [element]); @@ -1523,7 +1523,7 @@ export class LitTable extends HTMLElement { } freshLineFirstElementHandler(firstElement: any, rowObject: TableRowObject, childIndex: number): void { - if (firstElement !== undefined && childIndex === 0) { + if (firstElement !== undefined && childIndex === 0) {//@ts-ignore this.setHighLight(rowObject.data.isSearch, firstElement); (firstElement as any).data = rowObject.data; if ((this.columns![0] as any).template) { @@ -1531,15 +1531,15 @@ export class LitTable extends HTMLElement { .render(rowObject.data) .content.cloneNode(true).innerHTML; } else { - let dataIndex = this.columns![0].getAttribute('data-index') || '1'; - let text = formatName(dataIndex, rowObject.data[dataIndex], this); + let dataIndex = this.columns![0].getAttribute('data-index') || '1';//@ts-ignore + let text = formatName(dataIndex, rowObject.data[dataIndex], this);//@ts-ignore if (rowObject.data.rowName === 'js-memory' || rowObject.data.rowName === 'cpu-profiler') { firstElement.innerHTML = ''; } else { firstElement.innerHTML = text; } firstElement.title = text; - } + }//@ts-ignore if (rowObject.children && rowObject.children.length > 0 && !rowObject.data.hasNext) { let btn = this.createExpandBtn(rowObject); firstElement.insertBefore(btn, firstElement.firstChild); @@ -1547,14 +1547,14 @@ export class LitTable extends HTMLElement { firstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; if (!rowObject.children || rowObject.children.length === 0) { firstElement.style.paddingLeft = iconWidth * rowObject.depth + iconWidth + iconPadding * 2 + 'px'; - } + }//@ts-ignore if (rowObject.data.hasNext) { - let btn = this.createBtn(rowObject); + let btn = this.createBtn(rowObject);//@ts-ignore firstElement.title = rowObject.data.objectName; firstElement.insertBefore(btn, firstElement.firstChild); firstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; } - this.jsMemoryHandler(rowObject, firstElement); + this.jsMemoryHandler(rowObject, firstElement);//@ts-ignore if (rowObject.data.rowName === 'cpu-profiler') { this.createTextColor(rowObject, firstElement); } @@ -1562,8 +1562,8 @@ export class LitTable extends HTMLElement { this.dispatchRowClickEvent(rowObject, [firstElement, element], e); e.stopPropagation(); }; - firstElement.style.transform = `translateY(${rowObject.top - this.tableElement!.scrollTop}px)`; - if (rowObject.data.isSelected !== undefined) { + firstElement.style.transform = `translateY(${rowObject.top - this.tableElement!.scrollTop}px)`;//@ts-ignore + if (rowObject.data.isSelected !== undefined) {//@ts-ignore this.setSelectedRow(rowObject.data.isSelected, [firstElement]); } else { this.setSelectedRow(false, [firstElement]); diff --git a/ide/src/base-ui/tabs/lit-tabs.ts b/ide/src/base-ui/tabs/lit-tabs.ts index e67daae00..01ca2c0ad 100644 --- a/ide/src/base-ui/tabs/lit-tabs.ts +++ b/ide/src/base-ui/tabs/lit-tabs.ts @@ -20,7 +20,7 @@ import { LitTabsHtml } from './lit-tabs.html'; @element('lit-tabs') export class LitTabs extends HTMLElement { - private tabPos: any; + private tabPos: unknown; private nav: HTMLDivElement | undefined | null; private line: HTMLDivElement | undefined | null; private slots: HTMLSlotElement | undefined | null; @@ -59,7 +59,7 @@ export class LitTabs extends HTMLElement { this.setAttribute('activekey', value); } - set onTabClick(fn: any) { + set onTabClick(fn: unknown) {//@ts-ignore this.addEventListener('onTabClick', fn); } @@ -131,30 +131,30 @@ export class LitTabs extends HTMLElement { if (this.activekey) { if (this.position.startsWith('left')) { this.line?.setAttribute( - 'style', - `height:${this.tabPos[this.activekey].height}px;transform:translate(100%,${ + 'style',//@ts-ignore + `height:${this.tabPos[this.activekey].height}px;transform:translate(100%,${//@ts-ignore this.tabPos[this.activekey].top }px)` ); - } else if (this.position.startsWith('top')) { + } else if (this.position.startsWith('top')) {//@ts-ignore if (this.tabPos[this.activekey]) { this.line?.setAttribute( - 'style', - `width:${this.tabPos[this.activekey].width}px;transform:translate(${ + 'style',//@ts-ignore + `width:${this.tabPos[this.activekey].width}px;transform:translate(${//@ts-ignore this.tabPos[this.activekey].left }px,100%)` ); } } else if (this.position.startsWith('right')) { this.line?.setAttribute( - 'style', - `height:${this.tabPos[this.activekey].height}px;transform:translate(-100%,${ + 'style',//@ts-ignore + `height:${this.tabPos[this.activekey].height}px;transform:translate(-100%,${//@ts-ignore this.tabPos[this.activekey].top }px)` ); } else if (this.position.startsWith('bottom')) { this.line?.setAttribute( - 'style', + 'style',//@ts-ignore `width:${this.tabPos[this.activekey].width}px;transform:translate(${this.tabPos[this.activekey].left}px,100%)` ); } diff --git a/ide/src/base-ui/tree/LitTree.ts b/ide/src/base-ui/tree/LitTree.ts index 2594add35..52e422adf 100644 --- a/ide/src/base-ui/tree/LitTree.ts +++ b/ide/src/base-ui/tree/LitTree.ts @@ -30,12 +30,12 @@ export interface TreeItemData { @element('lit-tree') export class LitTree extends BaseElement { private _treeData: Array = []; - private currentSelectedNode: any; - private currentSelectedData: any; - private proxyData: any; + private currentSelectedNode: unknown; + private currentSelectedData: unknown; + private proxyData: unknown; private nodeList: Array = []; private contextMenu: HTMLDivElement | null | undefined; - private srcDragElement: any; + private srcDragElement: unknown; private dragDirection: string | null | undefined; static get observedAttributes(): string[] { @@ -50,29 +50,29 @@ export class LitTree extends BaseElement { /*双向绑定*/ const handler = { - get: (target: any, propkey: any): any => { + get: (target: unknown, propkey: unknown): unknown => {//@ts-ignore return target[propkey]; }, - set: (target: any, propkey: any, value: any, receiver: any): boolean => { - if (target[propkey] !== value) { - if (!value.children) { + set: (target: unknown, propkey: unknown, value: unknown, receiver: unknown): boolean => {//@ts-ignore + if (target[propkey] !== value) {//@ts-ignore + if (!value.children) {//@ts-ignore value.children = new Proxy([], handler); - } else { + } else {//@ts-ignore value.children = new Proxy(value.children, handler); - } + }//@ts-ignore target[propkey] = value; if (!this.currentSelectedNode) { this._insertNode(null, value); - } else { - if (this.currentSelectedNode.nextElementSibling) { + } else {//@ts-ignore + if (this.currentSelectedNode.nextElementSibling) {//@ts-ignore this._insertNode(this.currentSelectedNode.nextElementSibling, value); - } else { + } else {//@ts-ignore this.currentSelectedNode.setAttribute('show-arrow', 'true'); let ul = document.createElement('ul'); // @ts-ignore ul.open = 'true'; - ul.style.transition = '.3s all'; - this.currentSelectedNode.parentElement.append(ul); + ul.style.transition = '.3s all';//@ts-ignore + this.currentSelectedNode.parentElement.append(ul);//@ts-ignore this.currentSelectedNode.arrow = true; this._insertNode(ul, value); } @@ -83,9 +83,9 @@ export class LitTree extends BaseElement { }; let setProxy = (v: Array): void => { v.forEach((a) => { - if (!a.children) { + if (!a.children) {//@ts-ignore a.children = new Proxy([], handler); - } else { + } else {//@ts-ignore a.children = new Proxy(a.children, handler); setProxy(a.children || []); } @@ -107,19 +107,19 @@ export class LitTree extends BaseElement { } } - get treeData(): TreeItemData[] { + get treeData(): TreeItemData[] {//@ts-ignore return this.proxyData; } - set onSelect(fn: any) { + set onSelect(fn: unknown) {//@ts-ignore this.addEventListener('onSelect', fn); } - set onChange(fn: any) { + set onChange(fn: unknown) {//@ts-ignore this.addEventListener('onChange', fn); } - set foldable(value: any) { + set foldable(value: unknown) { if (value) { this.setAttribute('foldable', ''); } else { @@ -137,30 +137,30 @@ export class LitTree extends BaseElement { }; } - getCheckdKeys(): any[] { - return Array.from(this.shadowRoot!.querySelectorAll('lit-tree-node[checked]')).map((a: any) => a.data.key); + getCheckdKeys(): unknown[] {//@ts-ignore + return Array.from(this.shadowRoot!.querySelectorAll('lit-tree-node[checked]')).map((a: unknown) => a.data.key); } - getCheckdNodes(): any[] { - return Array.from(this.shadowRoot!.querySelectorAll('lit-tree-node[checked]')).map((a: any) => a.data); + getCheckdNodes(): unknown[] {//@ts-ignore + return Array.from(this.shadowRoot!.querySelectorAll('lit-tree-node[checked]')).map((a: unknown) => a.data); } //展开所有节点 - expandKeys(keys: Array): void { - keys.forEach((k) => this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: any) => b.expand())); + expandKeys(keys: Array): void {//@ts-ignore + keys.forEach((k) => this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: unknown) => b.expand())); } //收起所有节点 collapseKeys(keys: Array): void { - keys.forEach((k) => - this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: any) => b.collapse()) + keys.forEach((k) =>//@ts-ignore + this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: unknown) => b.collapse()) ); } checkedKeys(keys: Array): void { keys.forEach((k) => - this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: any) => { - b.setAttribute('checked', 'true'); + this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: unknown) => {//@ts-ignore + b.setAttribute('checked', 'true');//@ts-ignore b.checkHandler(); }) ); @@ -168,15 +168,15 @@ export class LitTree extends BaseElement { uncheckedKeys(keys: Array): void { keys.forEach((k) => - this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: any) => { - b.removeAttribute('checked'); - b.removeAttribute('missing'); + this.shadowRoot!.querySelectorAll(`lit-tree-node[key='${k}']`).forEach((b: unknown) => {//@ts-ignore + b.removeAttribute('checked');//@ts-ignore + b.removeAttribute('missing');//@ts-ignore b.checkHandler(); }) ); } - drawTree(parent: any, array: Array, topDepth: boolean = false): void { + drawTree(parent: unknown, array: Array, topDepth: boolean = false): void { array.forEach((a: TreeItemData) => { let li: HTMLLIElement = document.createElement('li'); let node: LitTreeNode = document.createElement('lit-tree-node') as LitTreeNode; @@ -186,7 +186,7 @@ export class LitTree extends BaseElement { this.treeNodeDragable(node, a); // @ts-ignore li.data = a; - li.append(node); + li.append(node);//@ts-ignore parent.append(li); let ul: HTMLUListElement = document.createElement('ul'); // @ts-ignore @@ -232,7 +232,7 @@ export class LitTree extends BaseElement { node.selected = a.selected || false; //是否选中行 node.checked = a.checked || false; // 是否勾选 node.data = a; - node.addEventListener('change', (e: any): void => { + node.addEventListener('change', (e: unknown): void => {//@ts-ignore if (e.detail && !this.multiple) { this.nodeList.forEach((item) => { item.checked = item.data!.key === node.data!.key; @@ -243,8 +243,8 @@ export class LitTree extends BaseElement { if (litTreeNodes.length === 0) { node.checked = true; node.data!.checked = true; - } - that.dispatchEvent(new CustomEvent('onChange', { detail: { data: (node as any).data, checked: e.detail } })); + }//@ts-ignore + that.dispatchEvent(new CustomEvent('onChange', { detail: { data: (node as unknown).data, checked: e.detail } })); }); node.multiple = this.hasAttribute('multiple'); node.checkable = this.getAttribute('checkable') || 'false'; @@ -254,10 +254,10 @@ export class LitTree extends BaseElement { addEvent(a: TreeItemData, node: LitTreeNode, li: HTMLLIElement, ul: HTMLUListElement): void { if (a.children && a.children.length > 0) { if (this.hasAttribute('show-icon')) { - if (a.icon) { - (node as any).iconName = a.icon; - } else { - (node as any).iconName = 'folder'; + if (a.icon) {//@ts-ignore + (node as unknown).iconName = a.icon; + } else {//@ts-ignore + (node as unknown).iconName = 'folder'; } } else { node.iconName = ''; @@ -330,11 +330,11 @@ export class LitTree extends BaseElement { } onDragOver(ev: MouseEvent): undefined { - let node = ev.target as LitTreeNode; + let node = ev.target as LitTreeNode;//@ts-ignore if (this.srcDragElement.data.key === node.data!.key) { return; - } - let rect = (ev.currentTarget! as any).getBoundingClientRect(); + }//@ts-ignore + let rect = (ev.currentTarget! as unknown).getBoundingClientRect(); if (ev.clientX >= rect.left + rect.width / 3 && ev.clientX < rect.left + rect.width) { //bottom-right this.dragDirection = 'bottom-right'; @@ -361,11 +361,13 @@ export class LitTree extends BaseElement { (ev.target as LitTreeNode).style.backgroundColor = '#ffffff00'; (ev.target as LitTreeNode).drawLine(''); //移动的不是node节点 而是上层的li节点 + //@ts-ignore let srcData = this.srcDragElement.data; //获取原节点的data数据 let dstData = (ev.target as LitTreeNode).data; //获取目标节点的data数据 if (srcData.key === dstData!.key) { return; } //同一个节点不用处理 + //@ts-ignore let srcElement = this.srcDragElement.parentElement; let srcParentElement = srcElement.parentElement; let dstElement = (ev.target as LitTreeNode).parentElement; @@ -448,7 +450,7 @@ export class LitTree extends BaseElement { } insert(obj: TreeItemData): void { - if (this.currentSelectedData) { + if (this.currentSelectedData) {//@ts-ignore this.currentSelectedData.children.push(obj); } else { this.treeData.push(obj); @@ -471,13 +473,13 @@ export class LitTree extends BaseElement { insertNode.ondrop = (ev): undefined => this.onDrop(ev); //在一个拖动过程中,释放鼠标键时触发此事件 } } - _insertNode(parent: any, a: any): void { + _insertNode(parent: unknown, a: unknown): void { if (!parent) { parent = this.shadowRoot!.querySelector('#root'); } let li: HTMLLIElement = document.createElement('li'); - let insertNode: LitTreeNode = document.createElement('lit-tree-node') as LitTreeNode; - insertNode.title = a.title; + let insertNode: LitTreeNode = document.createElement('lit-tree-node') as LitTreeNode;//@ts-ignore + insertNode.title = a.title;//@ts-ignore insertNode.setAttribute('key', a.key); this.setDragableOfEvent(insertNode); if (this.hasAttribute('dragable')) { @@ -494,16 +496,18 @@ export class LitTree extends BaseElement { insertNode.ondragover = (ev): undefined => this.onDragOver(ev); //当某被拖动的对象在另一对象容器范围内拖动时触发此事件 insertNode.ondragleave = (ev): undefined => this.onDragLeave(ev); //当被鼠标拖动的对象离开其容器范围内时触发此事件 insertNode.ondrop = (ev): undefined => this.onDrop(ev); //在一个拖动过程中,释放鼠标键时触发此事件 - } + }//@ts-ignore insertNode.selected = a.selected || false; //是否选中行 + //@ts-ignore insertNode.checked = a.checked || false; // 是否勾选 + //@ts-ignore insertNode.data = a; - insertNode.addEventListener('change', (e: any) => { + insertNode.addEventListener('change', (e: unknown) => {//@ts-ignore if (e.detail && !this.multiple) { this.nodeList.forEach((node) => { node.checked = node.data!.key === insertNode.data!.key; }); - } + }//@ts-ignore this.dispatchEvent(new CustomEvent('onChange', { detail: { data: insertNode.data, checked: e.detail } })); }); this.nodeList.push(insertNode); @@ -511,7 +515,7 @@ export class LitTree extends BaseElement { insertNode.multiple = this.hasAttribute('multiple'); // @ts-ignore li.data = a; - li.append(insertNode); + li.append(insertNode);//@ts-ignore parent.append(li); let ul: HTMLUListElement = document.createElement('ul'); // @ts-ignore @@ -552,10 +556,10 @@ export class LitTree extends BaseElement { } } - setChildren(a: any, insertNode: LitTreeNode, li: HTMLLIElement, ul: HTMLUListElement): void { + setChildren(a: unknown, insertNode: LitTreeNode, li: HTMLLIElement, ul: HTMLUListElement): void {//@ts-ignore if (a.children && a.children.length > 0) { - if (this.hasAttribute('show-icon')) { - if (a.icon) { + if (this.hasAttribute('show-icon')) {//@ts-ignore + if (a.icon) {//@ts-ignore insertNode.iconName = a.icon; } else { insertNode.iconName = 'folder'; @@ -564,11 +568,11 @@ export class LitTree extends BaseElement { insertNode.iconName = ''; } insertNode.arrow = true; - li.append(ul); + li.append(ul);//@ts-ignore this.drawTree(ul, a.children); } else { - if (this.hasAttribute('show-icon')) { - if (a.icon) { + if (this.hasAttribute('show-icon')) {//@ts-ignore + if (a.icon) {//@ts-ignore insertNode.iconName = a.icon; } else { insertNode.iconName = 'file'; diff --git a/ide/src/base-ui/tree/LitTreeNode.ts b/ide/src/base-ui/tree/LitTreeNode.ts index a85af650b..46abd41ae 100644 --- a/ide/src/base-ui/tree/LitTreeNode.ts +++ b/ide/src/base-ui/tree/LitTreeNode.ts @@ -194,35 +194,35 @@ export class LitTreeNode extends BaseElement { if (this.hasAttribute('multiple')) { if (this.nextElementSibling) { if (this.checked) { - this.nextElementSibling.querySelectorAll('lit-tree-node').forEach((a: any) => { - a.checked = true; + this.nextElementSibling.querySelectorAll('lit-tree-node').forEach((a: unknown) => {//@ts-ignore + a.checked = true;//@ts-ignore a.removeAttribute('missing'); }); - } else { - this.nextElementSibling.querySelectorAll('lit-tree-node').forEach((a: any) => (a.checked = false)); + } else {//@ts-ignore + this.nextElementSibling.querySelectorAll('lit-tree-node').forEach((a: unknown) => (a.checked = false)); } } - let setCheckStatus = (element: any): void => { - if ( - element.parentElement.parentElement.previousElementSibling && + let setCheckStatus = (element: unknown): void => { + if (//@ts-ignore + element.parentElement.parentElement.previousElementSibling &&//@ts-ignore element.parentElement.parentElement.previousElementSibling.tagName === 'LIT-TREE-NODE' - ) { - let allChecked = Array.from(element.parentElement.parentElement.querySelectorAll('lit-tree-node')).every( - (item: any) => item.checked - ); - let someChecked = Array.from(element.parentElement.parentElement.querySelectorAll('lit-tree-node')).some( - (item: any, index, array) => item.checked + ) {//@ts-ignore + let allChecked = Array.from(element.parentElement.parentElement.querySelectorAll('lit-tree-node')).every(//@ts-ignore + (item: unknown) => item.checked + );//@ts-ignore + let someChecked = Array.from(element.parentElement.parentElement.querySelectorAll('lit-tree-node')).some(//@ts-ignore + (item: unknown, index, array) => item.checked ); - if (allChecked === true) { - element.parentElement.parentElement.previousElementSibling.checked = true; + if (allChecked === true) {//@ts-ignore + element.parentElement.parentElement.previousElementSibling.checked = true;//@ts-ignore element.parentElement.parentElement.previousElementSibling.removeAttribute('missing'); - } else if (someChecked) { - element.parentElement.parentElement.previousElementSibling.setAttribute('missing', ''); + } else if (someChecked) {//@ts-ignore + element.parentElement.parentElement.previousElementSibling.setAttribute('missing', '');//@ts-ignore element.parentElement.parentElement.previousElementSibling.removeAttribute('checked'); - } else { - element.parentElement.parentElement.previousElementSibling.removeAttribute('missing'); + } else {//@ts-ignore + element.parentElement.parentElement.previousElementSibling.removeAttribute('missing');//@ts-ignore element.parentElement.parentElement.previousElementSibling.removeAttribute('checked'); - } + }//@ts-ignore setCheckStatus(element.parentElement.parentElement.previousElementSibling); } }; @@ -260,17 +260,17 @@ export class LitTreeNode extends BaseElement { } //收起 - collapseSection(element: any): void { + collapseSection(element: unknown): void { if (!element) { return; - } - let sectionHeight = element.scrollHeight; - let elementTransition = element.style.transition; + }//@ts-ignore + let sectionHeight = element.scrollHeight;//@ts-ignore + let elementTransition = element.style.transition;//@ts-ignore element.style.transition = ''; - requestAnimationFrame(function () { - element.style.height = sectionHeight + 'px'; + requestAnimationFrame(function () {//@ts-ignore + element.style.height = sectionHeight + 'px';//@ts-ignore element.style.transition = elementTransition; - requestAnimationFrame(function () { + requestAnimationFrame(function () {//@ts-ignore element.style.height = 0 + 'px'; }); }); @@ -278,14 +278,14 @@ export class LitTreeNode extends BaseElement { } //展开 - expandSection(element: any): void { + expandSection(element: unknown): void { if (!element) { return; - } - let sectionHeight = element.scrollHeight; - element.style.height = sectionHeight + 'px'; - element.ontransitionend = (e: any): void => { - element.ontransitionend = null; + }//@ts-ignore + let sectionHeight = element.scrollHeight;//@ts-ignore + element.style.height = sectionHeight + 'px';//@ts-ignore + element.ontransitionend = (e: unknown): void => {//@ts-ignore + element.ontransitionend = null;//@ts-ignore element.style.height = null; this.open = 'true'; }; @@ -298,12 +298,12 @@ export class LitTreeNode extends BaseElement { adoptedCallback(): void {} //当 custom element增加、删除、修改自身属性时,被调用。 - attributeChangedCallback(name: string, oldValue: any, newValue: any): void { - if (name === 'title') { + attributeChangedCallback(name: string, oldValue: unknown, newValue: unknown): void { + if (name === 'title') {//@ts-ignore this.shadowRoot!.querySelector('#title')!.textContent = newValue; } else if (name === 'icon-name') { if (this.iconElement) { - if (newValue !== null && newValue !== '' && newValue !== 'null') { + if (newValue !== null && newValue !== '' && newValue !== 'null') {//@ts-ignore this.iconElement!.setAttribute('name', newValue); this.iconElement!.style.display = 'flex'; } else { diff --git a/ide/src/trace/SpApplication.ts b/ide/src/trace/SpApplication.ts index 6b6a7adeb..22e7be9fb 100644 --- a/ide/src/trace/SpApplication.ts +++ b/ide/src/trace/SpApplication.ts @@ -1725,11 +1725,11 @@ export class SpApplication extends BaseElement { private initCustomEvents(): void { window.subscribe(window.SmartEvent.UI.MenuTrace, () => this.showContent(this.spSystemTrace!)); - window.subscribe(window.SmartEvent.UI.Error, (err) => { + window.subscribe(window.SmartEvent.UI.Error, (err) => {//@ts-ignore this.litSearch!.setPercent(err, -1); this.progressEL!.loading = false; this.freshMenuDisable(false); - }); + });//@ts-ignore window.subscribe(window.SmartEvent.UI.Loading, (arg: { loading: boolean; text?: string }) => { if (arg.text) { this.litSearch!.setPercent(arg.text || '', arg.loading ? -1 : 101); diff --git a/ide/src/trace/component/SpRecordTrace.ts b/ide/src/trace/component/SpRecordTrace.ts index 49237cce7..0eb26baea 100644 --- a/ide/src/trace/component/SpRecordTrace.ts +++ b/ide/src/trace/component/SpRecordTrace.ts @@ -776,16 +776,21 @@ export class SpRecordTrace extends BaseElement { let litCheckBoxDis = recordTrace.probesConfig?.shadowRoot?.querySelectorAll('lit-check-box'); recordTrace.ftraceSlider = recordTrace.probesConfig?.shadowRoot?.querySelector('#ftrace-buff-size-slider'); - startNativeSwitch.addEventListener('change', (event: any): void => { + startNativeSwitch.addEventListener('change', (event: unknown): void => { + //@ts-ignore let detail = event.detail; if (detail!.checked) { recordModeSwitch.removeAttribute('checked'); - checkDesBoxDis?.forEach((item: any): void => { + checkDesBoxDis?.forEach((item: unknown): void => { + //@ts-ignore item.setAttribute('disabled', ''); + //@ts-ignore item.checked = false; }); - litCheckBoxDis?.forEach((item: any): void => { + litCheckBoxDis?.forEach((item: unknown): void => { + //@ts-ignore item.setAttribute('disabled', ''); + //@ts-ignore item.checked = false; }); recordTrace.ftraceSlider!.setAttribute('disabled', ''); diff --git a/ide/src/trace/component/SpSystemTrace.event.ts b/ide/src/trace/component/SpSystemTrace.event.ts index 8066e5b37..6a059a693 100644 --- a/ide/src/trace/component/SpSystemTrace.event.ts +++ b/ide/src/trace/component/SpSystemTrace.event.ts @@ -48,17 +48,20 @@ function timeoutJudge(sp: SpSystemTrace): number { let timeoutJudge = window.setTimeout((): void => { if (SpSystemTrace.wakeupList.length && CpuStruct.selectCpuStruct) { let checkHandlerKey: boolean = true; - let saveSelectCpuStruct: any = JSON.parse(sessionStorage.getItem('saveselectcpustruct')!); + let saveSelectCpuStruct: unknown = JSON.parse(sessionStorage.getItem('saveselectcpustruct')!); for (const item of SpSystemTrace.wakeupList) { if (item.ts === CpuStruct.selectCpuStruct.startTime && item.dur === CpuStruct.selectCpuStruct.dur) { checkHandlerKey = false; if (SpSystemTrace.wakeupList[0].schedulingDesc) { + //@ts-ignore SpSystemTrace.wakeupList.unshift(saveSelectCpuStruct); } sp.refreshCanvas(true); break; } else if ( + //@ts-ignore saveSelectCpuStruct.startTime === CpuStruct.selectCpuStruct.startTime && + //@ts-ignore saveSelectCpuStruct.dur === CpuStruct.selectCpuStruct.dur ) { // 如果点击的是第一层,保持唤醒树不变 @@ -137,35 +140,43 @@ function threadClickHandlerFunc(sp: SpSystemTrace): (e: ThreadStruct) => void { } function scrollToFuncHandlerFunc(sp: SpSystemTrace) { - return function (funcStruct: any): void { + return function (funcStruct: unknown): void { sp.observerScrollHeightEnable = true; + //@ts-ignore sp.moveRangeToCenter(funcStruct.startTs!, funcStruct.dur!); sp.scrollToActFunc(funcStruct, false); }; } function jankClickHandlerFunc(sp: SpSystemTrace): Function { - let jankClickHandler = (d: any): void => { + let jankClickHandler = (d: unknown): void => { sp.observerScrollHeightEnable = true; - let jankRowParent: any; + let jankRowParent: unknown; + //@ts-ignore if (d.rowId === 'actual frameTime') { jankRowParent = sp.shadowRoot?.querySelector>('trace-row[row-id=\'frameTime\']'); } else { jankRowParent = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-type='process'][row-id='${d.pid}']` ); } + //@ts-ignore jankRowParent!.expansion = true; - let jankRow: any; + let jankRow: unknown; + //@ts-ignore jankRowParent.childrenList.forEach((item: TraceRow) => { + //@ts-ignore if (item.rowId === `${d.rowId}` && item.rowType === 'janks') { jankRow = item; } }); + //@ts-ignore sp.currentRow = jankRow; if (jankRow) { JankStruct.selectJankStructList.length = 0; - let findJankEntry = jankRow!.dataListCache!.find((dat: any) => dat.name === d.name && dat.pid === d.pid); + //@ts-ignore + let findJankEntry = jankRow!.dataListCache!.find((dat: unknown) => dat.name === d.name && dat.pid === d.pid); if (findJankEntry) { if ( findJankEntry!.ts! + findJankEntry!.dur! < TraceRow.range!.startNS || @@ -186,7 +197,8 @@ function jankClickHandlerFunc(sp: SpSystemTrace): Function { sp.removeLinkLinesByBusinessType('janks'); // 绘制跟自己关联的线 datas.forEach((data) => { - let endParentRow = sp.shadowRoot?.querySelector>( + //@ts-ignore + let endParentRow = sp.shadowRoot?.querySelector>( `trace-row[row-type='process'][row-id='${data.pid}'][folder]` ); sp.drawJankLine(endParentRow, JankStruct.selectJankStruct!, data, true); @@ -195,6 +207,7 @@ function jankClickHandlerFunc(sp: SpSystemTrace): Function { jankClickHandler ); } + //@ts-ignore sp.scrollToProcess(jankRow.rowId!, jankRow.rowParentId!, jankRow.rowType!, true); } }; @@ -226,22 +239,30 @@ function snapshotClickHandlerFunc(sp: SpSystemTrace): Function { return snapshotClickHandler; } -function cpuClickHandlerTask(threadRow: TraceRow, sp: SpSystemTrace, d: CpuStruct): void { +//@ts-ignore +function cpuClickHandlerTask(threadRow: TraceRow, sp: SpSystemTrace, d: CpuStruct): void { if (threadRow) { let findEntry = threadRow!.fixedList[0]; if ( + //@ts-ignore findEntry!.startTime! + findEntry!.dur! < TraceRow.range!.startNS || + //@ts-ignore findEntry!.startTime! > TraceRow.range!.endNS ) { sp.timerShaftEL?.setRangeNS( + //@ts-ignore findEntry!.startTime! - findEntry!.dur! * 2, + //@ts-ignore findEntry!.startTime! + findEntry!.dur! + findEntry!.dur! * 2 ); } ThreadStruct.firstselectThreadStruct = ThreadStruct.selectThreadStruct; sp.hoverStructNull().selectStructNull().wakeupListNull(); + //@ts-ignore ThreadStruct.hoverThreadStruct = findEntry; + //@ts-ignore ThreadStruct.selectThreadStruct = findEntry; + //@ts-ignore sp.timerShaftEL?.drawTriangle(findEntry!.startTime || 0, 'inverted'); sp.traceSheetEL?.displayThreadData( ThreadStruct.selectThreadStruct!, @@ -251,7 +272,8 @@ function cpuClickHandlerTask(threadRow: TraceRow, sp: SpSystemTrace, d: Cpu sp.removeLinkLinesByBusinessType('thread'); if (str === 'wakeup tid') { datas.forEach((data) => { - let endParentRow = sp.shadowRoot?.querySelector>(`trace-row[row-id='${data.pid}'][folder]`); + //@ts-ignore + let endParentRow = sp.shadowRoot?.querySelector>(`trace-row[row-id='${data.pid}'][folder]`); sp.drawThreadLine(endParentRow, ThreadStruct.firstselectThreadStruct, data); }); } @@ -264,7 +286,8 @@ function cpuClickHandlerTask(threadRow: TraceRow, sp: SpSystemTrace, d: Cpu function cpuClickHandlerFunc(sp: SpSystemTrace) { return function (d: CpuStruct): void { - let traceRow = sp.shadowRoot?.querySelector>( + //@ts-ignore + let traceRow = sp.shadowRoot?.querySelector>( `trace-row[row-id='${d.processId}'][row-type='process']` ); if (traceRow) { @@ -300,7 +323,8 @@ function cpuClickHandlerFunc(sp: SpSystemTrace) { }; } -function allStructOnClick(clickRowType: string, sp: SpSystemTrace, row?: TraceRow, entry?: any): void { +//@ts-ignore +function allStructOnClick(clickRowType: string, sp: SpSystemTrace, row?: TraceRow, entry?: unknown): void { CpuStructOnClick(clickRowType, sp, cpuClickHandlerFunc(sp)) .then(() => ThreadStructOnClick(clickRowType, sp, threadClickHandlerFunc(sp), cpuClickHandlerFunc(sp))) .then(() => FuncStructOnClick(clickRowType, sp, row, scrollToFuncHandlerFunc(sp), entry)) @@ -338,8 +362,9 @@ function allStructOnClick(clickRowType: string, sp: SpSystemTrace, row?: TraceRo export default function spSystemTraceOnClickHandler( sp: SpSystemTrace, clickRowType: string, - row?: TraceRow, - entry?: any + //@ts-ignore + row?: TraceRow, + entry?: unknown ): void { if (row) { sp.currentRow = row; @@ -370,7 +395,8 @@ export default function spSystemTraceOnClickHandler( } } -function handleActions(sp: SpSystemTrace, rows: Array>, ev: MouseEvent): void { +//@ts-ignore +function handleActions(sp: SpSystemTrace, rows: Array>, ev: MouseEvent): void { sp.rangeSelect.mouseMove(rows, ev); if (sp.rangeSelect.rangeTraceRow!.length > 0) { sp.tabCpuFreq!.rangeTraceRow = sp.rangeSelect.rangeTraceRow; @@ -394,10 +420,12 @@ function handleMouseInTimeShaft(sp: SpSystemTrace, ev: MouseEvent): boolean | un } export function spSystemTraceDocumentOnMouseMove(sp: SpSystemTrace, ev: MouseEvent): void { - if (!sp.loadTraceCompleted || (window as any).flagInputFocus || !sp.mouseEventEnable) { + //@ts-ignore + if (!sp.loadTraceCompleted || (window as unknown).flagInputFocus || !sp.mouseEventEnable) { return; } - if ((window as any).collectResize) { + //@ts-ignore + if ((window as unknown).collectResize) { sp.style.cursor = 'row-resize'; sp.cancelDrag(); return; @@ -422,7 +450,8 @@ export function spSystemTraceDocumentOnMouseMove(sp: SpSystemTrace, ev: MouseEve } } sp.inFavoriteArea = sp.favoriteChartListEL?.containPoint(ev); - if ((window as any).isSheetMove || sp.isMouseInSheet(ev)) { + //@ts-ignore + if ((window as unknown).isSheetMove || sp.isMouseInSheet(ev)) { sp.hoverStructNull(); sp.tipEL!.style.display = 'none'; return; @@ -447,7 +476,8 @@ function spSystemTraceDocumentOnMouseMoveMouseDown(sp: SpSystemTrace, search: Li } } -function spSystemTraceDocumentOnMouseMoveMouseUp(sp: SpSystemTrace, rows: Array>, ev: MouseEvent): void { +//@ts-ignore +function spSystemTraceDocumentOnMouseMoveMouseUp(sp: SpSystemTrace, rows: Array>, ev: MouseEvent): void { if (!sp.rowsPaneEL!.containPoint(ev, { left: 248 })) { sp.hoverStructNull(); } @@ -488,7 +518,7 @@ export function spSystemTraceDocumentOnMouseOut(sp: SpSystemTrace, ev: MouseEven } } -export function spSystemTraceDocumentOnKeyPress(this: any, sp: SpSystemTrace, ev: KeyboardEvent): void { +export function spSystemTraceDocumentOnKeyPress(this: unknown, sp: SpSystemTrace, ev: KeyboardEvent): void { SpSystemTrace.isKeyUp = false; if (!sp.loadTraceCompleted) { return; @@ -516,14 +546,16 @@ export function spSystemTraceDocumentOnKeyPress(this: any, sp: SpSystemTrace, ev if (keyPress === 'f') { let isSelectSliceOrFlag = false; // 设置当前选中的slicetime - let selectSlice: any = undefined; + let selectSlice: unknown = undefined; sp._slicesList.forEach((slice: { selected: boolean }): void => { if (slice.selected) { selectSlice = slice; } }); if (!!selectSlice) { + //@ts-ignore sp.currentSlicesTime.startTime = selectSlice.startTime; + //@ts-ignore sp.currentSlicesTime.endTime = selectSlice.endTime; isSelectSliceOrFlag = true; } @@ -621,7 +653,8 @@ function handleTimerShaftActions(ev: MouseEvent, sp: SpSystemTrace): void { } export function spSystemTraceDocumentOnMouseUp(sp: SpSystemTrace, ev: MouseEvent): void { - if ((window as any).collectResize) { + //@ts-ignore + if ((window as unknown).collectResize) { return; } if (!sp.loadTraceCompleted || !sp.mouseEventEnable) { @@ -642,7 +675,8 @@ export function spSystemTraceDocumentOnMouseUp(sp: SpSystemTrace, ev: MouseEvent } TraceRow.isUserInteraction = false; sp.rangeSelect.isMouseDown = false; - if ((window as any).isSheetMove) { + //@ts-ignore + if ((window as unknown).isSheetMove) { return; } if (sp.isMouseInSheet(ev)) { @@ -818,14 +852,17 @@ export function spSystemTraceDocumentOnClick(sp: SpSystemTrace, ev: MouseEvent): ev.stopPropagation(); return; } - if ((window as any).isSheetMove) { + //@ts-ignore + if ((window as unknown).isSheetMove) { return; } if (sp.isMouseInSheet(ev)) { return; } - if ((window as any).isPackUpTable) { - (window as any).isPackUpTable = false; + //@ts-ignore + if ((window as unknown).isPackUpTable) { + //@ts-ignore + (window as unknown).isPackUpTable = false; return; } let x = ev.offsetX - sp.timerShaftEL!.canvas!.offsetLeft; diff --git a/ide/src/trace/component/SpSystemTrace.init.ts b/ide/src/trace/component/SpSystemTrace.init.ts index 683ea0b6b..c2c0d0ba5 100644 --- a/ide/src/trace/component/SpSystemTrace.init.ts +++ b/ide/src/trace/component/SpSystemTrace.init.ts @@ -577,12 +577,12 @@ function smartEventSubscribe(sp: SpSystemTrace): void { window.subscribe(window.SmartEvent.UI.SliceMark, (data) => sp.sliceMarkEventHandler(data)); window.subscribe(window.SmartEvent.UI.TraceRowComplete, (tr) => {}); window.subscribe(window.SmartEvent.UI.RefreshCanvas, () => sp.refreshCanvas(false)); - window.subscribe(window.SmartEvent.UI.KeyboardEnable, (tr) => { + window.subscribe(window.SmartEvent.UI.KeyboardEnable, (tr) => {//@ts-ignore sp.keyboardEnable = tr.enable; if (!sp.keyboardEnable) { sp.stopWASD(); } - }); + });//@ts-ignore window.subscribe(window.SmartEvent.UI.CollapseAllLane, (collapse: boolean) => { if (!collapse) { // 一键折叠之前,记录当前打开的泳道图 @@ -595,14 +595,14 @@ function smartEventSubscribe(sp: SpSystemTrace): void { sp.removeAttribute('disable'); sp.refreshCanvas(true); }); - window.subscribe(window.SmartEvent.UI.MouseEventEnable, (tr) => { + window.subscribe(window.SmartEvent.UI.MouseEventEnable, (tr) => {//@ts-ignore sp.mouseEventEnable = tr.mouseEnable; if (sp.mouseEventEnable) { sp.removeAttribute('disable'); } else { sp.setAttribute('disable', ''); } - }); + });//@ts-ignore window.subscribe(window.SmartEvent.UI.CollectGroupChange, (group: string) => (sp.currentCollectGroup = group)); } diff --git a/ide/src/trace/component/SpSystemTrace.line.ts b/ide/src/trace/component/SpSystemTrace.line.ts index e9064727d..0c5a26f82 100644 --- a/ide/src/trace/component/SpSystemTrace.line.ts +++ b/ide/src/trace/component/SpSystemTrace.line.ts @@ -24,8 +24,10 @@ import { queryTaskPoolOtherRelationData, queryTaskPoolRelationData } from '../da import { queryBySelectAllocationOrReturn } from '../database/sql/SqlLite.sql'; import { ThreadStruct } from '../database/ui-worker/ProcedureWorkerThread'; -function collectionHasJank(jankRow: any, collectList: TraceRow[]): boolean { +//@ts-ignore +function collectionHasJank(jankRow: unknown, collectList: TraceRow[]): boolean { for (let item of collectList!) { + //@ts-ignore if (item.rowId === jankRow.rowId && item.rowType === jankRow.rowType) { return false; } @@ -38,10 +40,10 @@ function setPoint( y: number, offsetY: number, ns: number, - rowEL: any, + rowEL: unknown, isRight: boolean, business: string -): any { +): unknown { return { x: x, y: y, @@ -54,21 +56,23 @@ function setPoint( } function selectJankApp( - endParentRow: any, + endParentRow: unknown, sp: SpSystemTrace, - data: any, - startRow: any, + data: unknown, + startRow: unknown, selectJankStruct: JankStruct, - endRowStruct: any + endRowStruct: unknown ): void { let collectList = sp.favoriteChartListEL!.getAllCollectRows(); - let findJankEntry = endRowStruct!.dataListCache!.find((dat: any) => dat.name === data.name && dat.pid === data.pid); + //@ts-ignore + let findJankEntry = endRowStruct!.dataListCache!.find((dat: unknown) => dat.name === data.name && dat.pid === data.pid); let tts = findJankEntry.frame_type === 'frameTime' ? selectJankStruct.ts! : selectJankStruct.ts! + selectJankStruct.dur!; - let startParentRow: any; + let startParentRow: unknown; // startRow为子泳道,子泳道不存在,使用父泳道 if (startRow) { startParentRow = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-type='process'][row-id='${startRow.rowParentId}'][folder]` ); } else { @@ -76,20 +80,26 @@ function selectJankApp( `trace-row[row-type='process'][row-id='${selectJankStruct?.pid}'][folder]` ); } + //@ts-ignore let endY = endRowStruct!.translateY! + 20 * (findJankEntry!.depth! + 0.5); let endRowEl = endRowStruct; let endOffSetY = 20 * (findJankEntry!.depth! + 0.5); let expansionFlag = collectionHasJank(endRowStruct, collectList); + //@ts-ignore if (!endParentRow.expansion && expansionFlag) { + //@ts-ignore endY = endParentRow!.translateY! + 10 * (findJankEntry!.depth! + 0.5); endRowEl = endParentRow; endOffSetY = 10 * (findJankEntry!.depth! + 0.5); } + //@ts-ignore let startY = startRow!.translateY! + 20 * (selectJankStruct!.depth! + 0.5); let startRowEl = startRow; let startOffSetY = 20 * (selectJankStruct!.depth! + 0.5); expansionFlag = collectionHasJank(startRow, collectList); + //@ts-ignore if (startParentRow && !startParentRow.expansion && expansionFlag) { + //@ts-ignore startY = startParentRow!.translateY! + 10 * (selectJankStruct!.depth! + 0.5); startRowEl = startParentRow; startOffSetY = 10 * (selectJankStruct!.depth! + 0.5); @@ -98,34 +108,40 @@ function selectJankApp( let endX = ns2xByTimeShaft(findJankEntry.ts!, sp.timerShaftEL!); const startPoint = setPoint(startX, startY, startOffSetY, tts, startRowEl, selectJankStruct.ts === tts, 'janks'); const endPoint = setPoint(endX, endY, endOffSetY, findJankEntry.ts!, endRowEl, true, 'janks'); + //@ts-ignore sp.addPointPair(startPoint, endPoint); } function findJankApp( - endParentRow: any, + endParentRow: unknown, sp: SpSystemTrace, - data: any, - startRow: any, + startRow: unknown, selectJankStruct: JankStruct, - endRowStruct: any + endRowStruct: unknown ): void { let collectList = sp.favoriteChartListEL!.getAllCollectRows(); - let findJankEntry = endRowStruct!.dataListCache!.find((dat: any) => dat.name === data.name && dat.pid === data.pid); + //@ts-ignore + let findJankEntry = endRowStruct!.dataListCache!.find((dat: unknown) => dat.name === data.name && dat.pid === data.pid); let tts = selectJankStruct.frame_type === 'frameTime' ? findJankEntry.ts : findJankEntry.ts! + findJankEntry.dur!; + //@ts-ignore let endY = endRowStruct!.translateY! + 20 * (findJankEntry!.depth! + 0.5); let endRowEl = endRowStruct; let endOffSetY = 20 * (findJankEntry!.depth! + 0.5); let expansionFlag = collectionHasJank(endRowStruct, collectList); + //@ts-ignore if (!endParentRow.expansion && expansionFlag) { + //@ts-ignore endY = endParentRow!.translateY! + 10 * (findJankEntry!.depth! + 0.5); endRowEl = endParentRow; endOffSetY = 10 * (findJankEntry!.depth! + 0.5); } + //@ts-ignore let startY = startRow!.translateY! + 20 * (selectJankStruct!.depth! + 0.5); let startRowEl = startRow; expansionFlag = collectionHasJank(startRow, collectList); let startOffsetY = 20 * (selectJankStruct!.depth! + 0.5); let startParentRow = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-type='process'][row-id='${startRow.rowParentId}'][folder]` ); if (startParentRow && !startParentRow.expansion && expansionFlag) { @@ -137,18 +153,20 @@ function findJankApp( let endX = ns2xByTimeShaft(tts, sp.timerShaftEL!); const startPoint = setPoint(startX, startY, startOffsetY, selectJankStruct.ts!, startRowEl, true, 'janks'); const endPoint = setPoint(endX, endY, endOffSetY, tts, endRowEl, selectJankStruct.ts === tts, 'janks'); + //@ts-ignore sp.addPointPair(startPoint, endPoint); } function addPointLink( - endParentRow: any, + endParentRow: unknown, sp: SpSystemTrace, - data: any, - startRow: any, + data: unknown, + startRow: unknown, selectJankStruct: JankStruct, - endRowStruct: any + endRowStruct: unknown ): void { - let findJankEntry = endRowStruct!.dataListCache!.find((dat: any) => dat.name === data.name && dat.pid === data.pid); + //@ts-ignore + let findJankEntry = endRowStruct!.dataListCache!.find((dat: unknown) => dat.name === data.name && dat.pid === data.pid); //连线规则:frametimeline的头----app的头,app的尾----renderservice的头 let tts: number = 0; if (findJankEntry) { @@ -156,30 +174,39 @@ function addPointLink( selectJankApp(endParentRow, sp, data, startRow, selectJankStruct, endRowStruct); } if (findJankEntry.frame_type === 'app') { + //@ts-ignore findJankApp(endParentRow, sp, data, startRow, selectJankStruct, endRowStruct); } + //@ts-ignore if (data.children.length >= 1) { let endP; + //@ts-ignore if (data.children[0].frame_type === 'frameTime') { - endP = sp.shadowRoot?.querySelector>('trace-row[row-type=\'janks\'][row-id=\'frameTime\']'); + //@ts-ignore + endP = sp.shadowRoot?.querySelector>('trace-row[row-type=\'janks\'][row-id=\'frameTime\']'); } else { - endP = sp.shadowRoot?.querySelector>( + //@ts-ignore + endP = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-type='process'][row-id='${data.children[0].pid}'][folder]` ); } + //@ts-ignore sp.drawJankLine(endP, findJankEntry, data.children[0]); } } } -function getEndStruct(data: any, sp: SpSystemTrace): any { - let endRowStruct: any; +function getEndStruct(data: unknown, sp: SpSystemTrace): unknown { + let endRowStruct: unknown; + //@ts-ignore if (data.frame_type === 'frameTime') { endRowStruct = sp.shadowRoot?.querySelector>( 'trace-row[row-id=\'actual frameTime\'][row-type=\'janks\']' ); } else { endRowStruct = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-id='${data.type}-${data.pid}'][row-type='janks']` ); } @@ -187,21 +214,24 @@ function getEndStruct(data: any, sp: SpSystemTrace): any { } function drawJankLineEndParent( - endParentRow: any, + endParentRow: unknown, sp: SpSystemTrace, - data: any, - startRow: any, + data: unknown, + startRow: unknown, selectJankStruct: JankStruct, isBinderClick: boolean = false ): void { if (isBinderClick) { + //@ts-ignore endParentRow.expansion = true; } //终点的父泳道过滤出选中的Struct let endRowStruct = getEndStruct(data, sp); //泳道未展开的情况,查找endRowStruct if (!endRowStruct) { + //@ts-ignore if (data.frame_type === 'frameTime') { + //@ts-ignore endParentRow.childrenList.forEach((item: TraceRow) => { if (item.rowId === 'actual frameTime' && item.rowType === 'janks') { endRowStruct = item; @@ -210,6 +240,7 @@ function drawJankLineEndParent( //frameTime未展开 if (!endRowStruct) { endParentRow = sp.shadowRoot?.querySelector>('trace-row[row-id=\'frameTime\'][folder]'); + //@ts-ignore endParentRow?.childrenList?.forEach((item: TraceRow): void => { if (item.rowId === 'actual frameTime' && item.rowType === 'janks') { endRowStruct = item; @@ -217,6 +248,7 @@ function drawJankLineEndParent( }); } } else { + //@ts-ignore endParentRow.childrenList.forEach((item: TraceRow) => { if (item.name.startsWith('Actual Timeline') && item.rowType === 'janks') { endRowStruct = item; @@ -225,11 +257,15 @@ function drawJankLineEndParent( } } if (endRowStruct) { + //@ts-ignore if (endRowStruct.isComplete) { addPointLink(endParentRow, sp, data, startRow, selectJankStruct, endRowStruct); } else { - endRowStruct.supplierFrame!().then((res: any) => { + //@ts-ignore + endRowStruct.supplierFrame!().then((res: unknown) => { + //@ts-ignore endRowStruct.dataListCache = res; + //@ts-ignore endRowStruct.loadingFrame = false; addPointLink(endParentRow, sp, data, startRow, selectJankStruct, endRowStruct); }); @@ -239,13 +275,13 @@ function drawJankLineEndParent( export function spSystemTraceDrawJankLine( sp: SpSystemTrace, - endParentRow: any, + endParentRow: unknown, selectJankStruct: JankStruct, - data: any, + data: unknown, isBinderClick: boolean = false ): void { let collectList = sp.favoriteChartListEL!.getAllCollectRows(); - let startRow: any; + let startRow: unknown; if (!selectJankStruct) { return; } @@ -274,13 +310,15 @@ export function spSystemTraceDrawJankLine( } function taskPoolOtherRelationData( - selectRow: any, + selectRow: unknown, sp: SpSystemTrace, - row: TraceRow, + //@ts-ignore + row: TraceRow, relationDataList: FuncStruct[], - res: any + res: unknown ): void { sp.clearPointPair(); + //@ts-ignore selectRow!.fixedList = relationDataList; if (FuncStruct.selectFuncStruct === undefined || FuncStruct.selectFuncStruct === null) { return; @@ -290,9 +328,11 @@ function taskPoolOtherRelationData( // allocation to execute const selectY = (FuncStruct.selectFuncStruct!.depth! + 0.5) * 20; const offSetY = (value.depth! + 0.5) * 20; + //@ts-ignore const selectRowY = selectRow?.translateY!; const selectStartTs = FuncStruct.selectFuncStruct!.startTs!; const selectDur = FuncStruct.selectFuncStruct!.dur!; + //@ts-ignore if (value.id === res[0].allocation_task_row) { sp.addPointPair( sp.makePoint(value.startTs!, 0, selectRowY, selectRow, offSetY, 'task', LineType.bezierCurve, true), @@ -311,14 +351,16 @@ function taskPoolOtherRelationData( function taskPoolRelationDataAllocation( executeRow: TraceRow | null | undefined, sp: SpSystemTrace, - row: TraceRow, + //@ts-ignore + row: TraceRow, relationDataList: FuncStruct[], - res: any + res: unknown ): void { sp.clearPointPair(); if (FuncStruct.selectFuncStruct === undefined || FuncStruct.selectFuncStruct === null) { return; } + //@ts-ignore let executeStruct = relationDataList.filter((item) => item.id === res[0].execute_task_row)[0]; relationDataList.forEach((value) => { const selectY = (FuncStruct.selectFuncStruct!.depth! + 0.5) * 20; @@ -327,6 +369,7 @@ function taskPoolRelationDataAllocation( const selectStartTs = FuncStruct.selectFuncStruct!.startTs!; const executeY = (executeStruct.depth! + 0.5) * 20; TabPaneTaskFrames.TaskArray.push(value); + //@ts-ignore if (value.id === res[0].execute_task_row) { sp.addPointPair( sp.makePoint(selectStartTs, 0, row?.translateY!, row, selectY, 'task', LineType.bezierCurve, true), @@ -353,14 +396,16 @@ function taskPoolRelationDataAllocation( function taskPoolRelationDataPerformTask( executeRow: TraceRow | null | undefined, sp: SpSystemTrace, - row: TraceRow, + //@ts-ignore + row: TraceRow, relationDataList: FuncStruct[], - res: any + res: unknown ): void { sp.clearPointPair(); if (FuncStruct.selectFuncStruct === undefined || FuncStruct.selectFuncStruct === null) { return; } + //@ts-ignore let executeStruct = relationDataList.filter((item) => item.id === res[0].execute_task_row)[0]; relationDataList.forEach((value) => { const executeRowY = executeRow?.translateY!; @@ -369,6 +414,7 @@ function taskPoolRelationDataPerformTask( const selectY = (FuncStruct.selectFuncStruct!.depth! + 0.5) * 20; const offSetY = (value.depth! + 0.5) * 20; TabPaneTaskFrames.TaskArray.push(value); + //@ts-ignore if (value.id === res[0].execute_task_row) { sp.addPointPair( sp.makePoint( @@ -393,7 +439,8 @@ function taskPoolRelationDataPerformTask( sp.refreshCanvas(true); } -function taskAllocationOrPerformTask(sp: SpSystemTrace, row: TraceRow, executeID: string): void { +//@ts-ignore +function taskAllocationOrPerformTask(sp: SpSystemTrace, row: TraceRow, executeID: string): void { TabPaneTaskFrames.IsShowConcurrency = false; sp.clearPointPair(); queryBySelectAllocationOrReturn(executeID, FuncStruct.selectFuncStruct!.itid!).then((res) => { @@ -442,7 +489,8 @@ function taskAllocationOrPerformTask(sp: SpSystemTrace, row: TraceRow, exec }); } -export function spSystemTraceDrawTaskPollLine(sp: SpSystemTrace, row?: TraceRow): void { +//@ts-ignore +export function spSystemTraceDrawTaskPollLine(sp: SpSystemTrace, row?: TraceRow): void { if (FuncStruct.selectFuncStruct === undefined || FuncStruct.selectFuncStruct === null) { return; } @@ -486,12 +534,13 @@ export function spSystemTraceDrawTaskPollLine(sp: SpSystemTrace, row?: TraceRow< } function jankPoint( - endRowStruct: any, + endRowStruct: unknown, selectThreadStruct: ThreadStruct, - startRow: any, - endParentRow: any, + startRow: unknown, + endParentRow: unknown, sp: SpSystemTrace ): void { + //@ts-ignore let findJankEntry = endRowStruct!.fixedList[0]; let ts: number = 0; if (findJankEntry) { @@ -525,9 +574,9 @@ function jankPoint( export function spSystemTraceDrawThreadLine( sp: SpSystemTrace, - endParentRow: any, + endParentRow: unknown, selectThreadStruct: ThreadStruct | undefined, - data: any + data: unknown ): void { let collectList = sp.favoriteChartListEL!.getCollectRows(); if (!selectThreadStruct) { @@ -537,16 +586,21 @@ export function spSystemTraceDrawThreadLine( let startRow = sp.getStartRow(selectRowId, collectList); if (endParentRow) { + //@ts-ignore endParentRow.expansion = true; - let endRowStruct: any = sp.shadowRoot?.querySelector>( + let endRowStruct: unknown = sp.shadowRoot?.querySelector>( + //@ts-ignore `trace-row[row-id='${data.tid}'][row-type='thread']` ); if (!endRowStruct) { + //@ts-ignore endRowStruct = endParentRow.childrenList.find((item: TraceRow) => { + //@ts-ignore return item.rowId === `${data.tid}` && item.rowType === 'thread'; }); } if (endRowStruct) { + //@ts-ignore if (endRowStruct.isComplete) { jankPoint(endRowStruct, selectThreadStruct, startRow, endParentRow, sp); } diff --git a/ide/src/trace/component/SpSystemTrace.ts b/ide/src/trace/component/SpSystemTrace.ts index 55f46dd0e..f81f3effd 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -1430,7 +1430,7 @@ export class SpSystemTrace extends BaseElement { window.publish(window.SmartEvent.UI.Loading, { loading: false, text: 'Downloading trace file with mark' }); } - private subRecordImportListener(): void { + private subRecordImportListener(): void {//@ts-ignore window.subscribe(window.SmartEvent.UI.ImportRecord, (data: string) => { let record = JSON.parse(data); if (record.leftNS !== undefined && record.rightNS !== undefined) { @@ -1587,21 +1587,22 @@ export class SpSystemTrace extends BaseElement { }); window.subscribe(window.SmartEvent.UI.KeyPath, (data): void => { this.invisibleRows.forEach((it) => (it.needRefresh = true)); - this.visibleRows.forEach((it) => (it.needRefresh = true)); + this.visibleRows.forEach((it) => (it.needRefresh = true));//@ts-ignore if (data.length === 0) { // clear SpSystemTrace.keyPathList = []; this.refreshCanvas(false); } else { // draw + //@ts-ignore queryCpuKeyPathData(data).then((res): void => { SpSystemTrace.keyPathList = res; this.refreshCanvas(false); }); } }); - window.subscribe(window.SmartEvent.UI.CheckALL, (data): void => { - this.getCollectRows((row) => row.rowParentId === data.rowId).forEach((it) => { + window.subscribe(window.SmartEvent.UI.CheckALL, (data): void => {//@ts-ignore + this.getCollectRows((row) => row.rowParentId === data.rowId).forEach((it) => {//@ts-ignore it.checkType = data.isCheck ? '2' : '0'; }); }); @@ -1611,7 +1612,7 @@ export class SpSystemTrace extends BaseElement { private scrollH: number = 0; - subscribeBottomTabVisibleEvent(): void { + subscribeBottomTabVisibleEvent(): void {//@ts-ignore window.subscribe(window.SmartEvent.UI.ShowBottomTab, (data: { show: number; delta: number }): void => { if (data.show === 1) { //显示底部tab diff --git a/ide/src/trace/component/chart/SpEBPFChart.ts b/ide/src/trace/component/chart/SpEBPFChart.ts index 90abc0692..60cfd013b 100644 --- a/ide/src/trace/component/chart/SpEBPFChart.ts +++ b/ide/src/trace/component/chart/SpEBPFChart.ts @@ -56,15 +56,16 @@ export class SpEBPFChart { } } - async initFileCallchain(): Promise { - return new Promise((resolve, reject) => { - procedurePool.submitWithName('logic0', 'fileSystem-init', null, undefined, (res: any) => { + async initFileCallchain(): Promise { + return new Promise((resolve, reject) => { + procedurePool.submitWithName('logic0', 'fileSystem-init', null, undefined, (res: unknown) => { resolve(res); }); }); } - async initFolder(): Promise> { + //@ts-ignore + async initFolder(): Promise> { let fsFolder = TraceRow.skeleton(); fsFolder.rowId = 'FileSystem'; fsFolder.index = 0; @@ -75,8 +76,8 @@ export class SpEBPFChart { fsFolder.name = 'EBPF'; /* & I/O Latency */ fsFolder.addTemplateTypes('HiEBpf'); fsFolder.favoriteChangeHandler = this.trace.favoriteChangeHandler; - fsFolder.selectChangeHandler = this.trace.selectChangeHandler; - fsFolder.supplierFrame = (): Promise> => new Promise>((resolve) => resolve([])); + fsFolder.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + fsFolder.supplierFrame = (): Promise> => new Promise>((resolve) => resolve([])); fsFolder.onThreadHandler = (useCache): void => { fsFolder.canvasSave(this.trace.canvasPanelCtx!); if (fsFolder.expansion) { @@ -97,7 +98,8 @@ export class SpEBPFChart { return fsFolder; } - async initLogicalRead(folder: TraceRow): Promise { + //@ts-ignore + async initLogicalRead(folder: TraceRow): Promise { let logicalReadRow = TraceRow.skeleton(); logicalReadRow.rowId = 'FileSystemLogicalRead'; logicalReadRow.index = 1; @@ -139,7 +141,8 @@ export class SpEBPFChart { folder.addChildTraceRow(logicalReadRow); } - async initLogicalWrite(folder: TraceRow): Promise { + //@ts-ignore + async initLogicalWrite(folder: TraceRow): Promise { let logicalWriteRow = TraceRow.skeleton(); logicalWriteRow.rowId = 'FileSystemLogicalWrite'; logicalWriteRow.index = 2; @@ -181,7 +184,8 @@ export class SpEBPFChart { folder.addChildTraceRow(logicalWriteRow); } - async initDiskIOLatency(folder: TraceRow): Promise { + //@ts-ignore + async initDiskIOLatency(folder: TraceRow): Promise { let diskIoRow = TraceRow.skeleton(); diskIoRow.rowId = 'FileSystemDiskIOLatency'; diskIoRow.index = 4; @@ -224,18 +228,19 @@ export class SpEBPFChart { folder.addChildTraceRow(diskIoRow); } - initProcessDiskIOLatencyRead(i: number, folder: TraceRow, process: any): TraceRow { + //@ts-ignore + initProcessDiskIOLatencyRead(i: number, folder: TraceRow, process: unknown): TraceRow { let rowRead = TraceRow.skeleton(); - rowRead.index = 5 + 2 * i; + rowRead.index = 5 + 2 * i;//@ts-ignore rowRead.rowId = `FileSystemDiskIOLatency-read-${process['ipid']}`; rowRead.rowType = TraceRow.ROW_TYPE_FILE_SYSTEM; rowRead.rowParentId = folder.rowId; rowRead.rowHidden = !folder.expansion; rowRead.style.height = '40px'; rowRead.style.width = '100%'; - rowRead.setAttribute('children', ''); + rowRead.setAttribute('children', '');//@ts-ignore rowRead.name = `${process['name'] ?? 'Process'}(${process['pid']}) Max Read Latency`; - rowRead.supplierFrame = async (): Promise => { + rowRead.supplierFrame = async (): Promise => {//@ts-ignore const res = await diskIoSender(false, process['ipid'], [1, 3], TraceRow.range?.scale || 50, rowRead); return res; }; @@ -256,7 +261,7 @@ export class SpEBPFChart { (renders[TraceRow.ROW_TYPE_FILE_SYSTEM] as EBPFRender).renderMainThread( { context: context, - useCache: useCache, + useCache: useCache,//@ts-ignore type: `${TraceRow.ROW_TYPE_FILE_SYSTEM}-disk-io-process-read-${process['pid']}`, chartColor: ColorUtils.MD_PALETTE[0], }, @@ -267,18 +272,19 @@ export class SpEBPFChart { return rowRead; } - private initProcessDiskIOLatencyWrite(i: number, folder: TraceRow, process: any): TraceRow { + //@ts-ignore + private initProcessDiskIOLatencyWrite(i: number, folder: TraceRow, process: unknown): TraceRow { let rowWrite = TraceRow.skeleton(); - rowWrite.index = 5 + 2 * i + 1; + rowWrite.index = 5 + 2 * i + 1;//@ts-ignore rowWrite.rowId = `FileSystemDiskIOLatency-write-${process['ipid']}`; rowWrite.rowType = TraceRow.ROW_TYPE_FILE_SYSTEM; rowWrite.rowParentId = folder.rowId; rowWrite.rowHidden = !folder.expansion; rowWrite.style.height = '40px'; rowWrite.style.width = '100%'; - rowWrite.setAttribute('children', ''); + rowWrite.setAttribute('children', '');//@ts-ignore rowWrite.name = `${process['name'] ?? 'Process'}(${process['pid']}) Max Write Latency`; - rowWrite.supplierFrame = async (): Promise => { + rowWrite.supplierFrame = async (): Promise => {//@ts-ignore const res = await diskIoSender(false, process['ipid'], [2, 4], TraceRow.range?.scale || 50, rowWrite); return res; }; @@ -299,7 +305,7 @@ export class SpEBPFChart { (renders[TraceRow.ROW_TYPE_FILE_SYSTEM] as EBPFRender).renderMainThread( { context: context, - useCache: useCache, + useCache: useCache,//@ts-ignore type: `${TraceRow.ROW_TYPE_FILE_SYSTEM}-disk-io-process-write-${process['pid']}`, chartColor: ColorUtils.MD_PALETTE[8], }, @@ -310,7 +316,8 @@ export class SpEBPFChart { return rowWrite; } - async initProcessDiskIOLatency(folder: TraceRow): Promise { + //@ts-ignore + async initProcessDiskIOLatency(folder: TraceRow): Promise { let processes = (await getDiskIOProcess()) || []; for (let i = 0, len = processes.length; i < len; i++) { let process = processes[i]; @@ -321,7 +328,8 @@ export class SpEBPFChart { } } - async initVirtualMemoryTrace(folder: TraceRow): Promise { + //@ts-ignore + async initVirtualMemoryTrace(folder: TraceRow): Promise { let vmTraceRow = TraceRow.skeleton(); vmTraceRow.rowId = 'FileSystemVirtualMemory'; vmTraceRow.index = 3; diff --git a/ide/src/trace/component/chart/SpFpsChart.ts b/ide/src/trace/component/chart/SpFpsChart.ts index e72077388..845f81592 100644 --- a/ide/src/trace/component/chart/SpFpsChart.ts +++ b/ide/src/trace/component/chart/SpFpsChart.ts @@ -40,8 +40,8 @@ export class SpFpsChart { fpsRow.rowParentId = ''; FpsStruct.maxFps = 0; fpsRow.style.height = '40px'; - fpsRow.name = 'FPS'; - fpsRow.supplier = () : Promise> => new Promise>((resolve, reject) => resolve(res)); + fpsRow.name = 'FPS';//@ts-ignore + fpsRow.supplier = () : Promise> => new Promise>((resolve, reject) => resolve(res)); fpsRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; fpsRow.selectChangeHandler = this.trace.selectChangeHandler; fpsRow.focusHandler = (ev) : void => { diff --git a/ide/src/trace/component/chart/SpFrameTimeChart.ts b/ide/src/trace/component/chart/SpFrameTimeChart.ts index 5dac42468..d25f29a9e 100644 --- a/ide/src/trace/component/chart/SpFrameTimeChart.ts +++ b/ide/src/trace/component/chart/SpFrameTimeChart.ts @@ -553,7 +553,7 @@ export class SpFrameTimeChart { }; } - private frameNoExpandTimeOut(event: CustomEventInit, frameTimeLineRow: TraceRow): number { + private frameNoExpandTimeOut(event: CustomEventInit, frameTimeLineRow: TraceRow): number { if (JankStruct!.selectJankStruct) { JankStruct.selectJankStructList?.push(JankStruct!.selectJankStruct); } @@ -574,14 +574,14 @@ export class SpFrameTimeChart { } else { linkNode[1].rowEL.translateY = linkNode[1].rowEL.offsetTop - this.trace.rowsPaneEL!.scrollTop; } - linkNode[1].y = linkNode[1].rowEL!.translateY! + linkNode[1].offsetY; + linkNode[1].y = linkNode[1].rowEL!.translateY! + linkNode[1].offsetY;//@ts-ignore if (linkNode[0].rowEL.rowParentId === event.detail?.rowId) { if (!linkNode[0].rowEL.collect) { linkNode[0].x = ns2xByTimeShaft(linkNode[0].ns, this.trace.timerShaftEL!); linkNode[0].y = frameTimeLineRow!.translateY! + linkNode[0].offsetY / halfNumber; linkNode[0].offsetY = linkNode[0].offsetY / halfNumber; linkNode[0].rowEL = frameTimeLineRow; - } + }//@ts-ignore } else if (linkNode[1].rowEL.rowParentId === event.detail?.rowId) { if (!linkNode[1].rowEL.collect) { linkNode[1].x = ns2xByTimeShaft(linkNode[1].ns, this.trace.timerShaftEL!); diff --git a/ide/src/trace/component/chart/SpFreqChart.ts b/ide/src/trace/component/chart/SpFreqChart.ts index 453846f5d..2cbf3e4fd 100644 --- a/ide/src/trace/component/chart/SpFreqChart.ts +++ b/ide/src/trace/component/chart/SpFreqChart.ts @@ -35,10 +35,10 @@ import { import { promises } from 'dns'; export class SpFreqChart { - private trace: SpSystemTrace; - private folderRow: TraceRow | undefined; - private folderRowState: TraceRow | undefined; - private folderRowLimit: TraceRow | undefined; + private trace: SpSystemTrace;//@ts-ignore + private folderRow: TraceRow | undefined;//@ts-ignore + private folderRowState: TraceRow | undefined;//@ts-ignore + private folderRowLimit: TraceRow | undefined; constructor(trace: SpSystemTrace) { this.trace = trace; @@ -77,8 +77,9 @@ export class SpFreqChart { } } - createFolderRow(): TraceRow { - let folder = new TraceRow(); + //@ts-ignore + createFolderRow(): TraceRow {//@ts-ignore + let folder = new TraceRow(); folder.rowParentId = ''; folder.folder = true; folder.style.height = '40px'; @@ -89,7 +90,7 @@ export class SpFreqChart { return folder; } - async addFreqRows(freqList: Array): Promise { + async addFreqRows(freqList: Array): Promise { let freqMaxList = await queryCpuMaxFreq(); CpuFreqStruct.maxFreq = freqMaxList[0].maxFreq; let maxFreqObj = Utils.getFrequencyWithUnit(freqMaxList[0].maxFreq); @@ -97,14 +98,14 @@ export class SpFreqChart { CpuFreqStruct.maxFreqName = maxFreqObj.maxFreqName; for (let i = 0; i < freqList.length; i++) { const it = freqList[i]; - let traceRow = TraceRow.skeleton(); + let traceRow = TraceRow.skeleton();//@ts-ignore traceRow.rowId = `${it.filterId}`; traceRow.rowType = TraceRow.ROW_TYPE_CPU_FREQ; traceRow.rowParentId = ''; - traceRow.style.height = '40px'; + traceRow.style.height = '40px';//@ts-ignore traceRow.name = `Cpu ${it.cpu} Frequency`; traceRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; - traceRow.selectChangeHandler = this.trace.selectChangeHandler; + traceRow.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore traceRow.supplierFrame = (): Promise => cpuFreqDataSender(it.cpu, traceRow); //queryCpuFreqData traceRow.focusHandler = (ev): void => { this.trace?.displayTip( @@ -119,7 +120,7 @@ export class SpFreqChart { traceRow.onThreadHandler = rowThreadHandler( 'freq', 'context', - { + {//@ts-ignore type: `freq${it.cpu}`, }, traceRow, @@ -129,18 +130,18 @@ export class SpFreqChart { } } - addStateRows(cpuStateFilterIds: Array): void { + addStateRows(cpuStateFilterIds: Array): void { for (let it of cpuStateFilterIds) { - let cpuStateRow = TraceRow.skeleton(); + let cpuStateRow = TraceRow.skeleton();//@ts-ignore cpuStateRow.rowId = `${it.filterId}`; cpuStateRow.rowType = TraceRow.ROW_TYPE_CPU_STATE; cpuStateRow.rowParentId = ''; - cpuStateRow.style.height = '40px'; + cpuStateRow.style.height = '40px';//@ts-ignore cpuStateRow.name = `Cpu ${it.cpu} State`; cpuStateRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; cpuStateRow.selectChangeHandler = this.trace.selectChangeHandler; - cpuStateRow.supplierFrame = async (): Promise => { - let rs = await cpuStateSender(it.filterId, cpuStateRow); + cpuStateRow.supplierFrame = async (): Promise => {//@ts-ignore + let rs = await cpuStateSender(it.filterId, cpuStateRow);//@ts-ignore rs.forEach((t) => (t.cpu = it.cpu)); return rs; }; @@ -157,8 +158,8 @@ export class SpFreqChart { cpuStateRow.onThreadHandler = rowThreadHandler( 'cpu-state', 'cpuStateContext', - { - type: `cpu-state-${it.cpu}`, + {//@ts-ignore + type: `cpu-state-${it.cpu}`,//@ts-ignore cpu: it.cpu, }, cpuStateRow, @@ -168,24 +169,24 @@ export class SpFreqChart { } } - addFreqLimitRows(cpuFreqLimits: Array, cpuFreqLimitsMax: Array): void { + addFreqLimitRows(cpuFreqLimits: Array, cpuFreqLimitsMax: Array): void { for (let limit of cpuFreqLimits) { - let findMax = Utils.getFrequencyWithUnit( + let findMax = Utils.getFrequencyWithUnit(//@ts-ignore cpuFreqLimitsMax.find((maxLimit) => maxLimit.filterId === limit.maxFilterId)?.maxValue || 0 ); - let cpuFreqLimitRow = TraceRow.skeleton(); + let cpuFreqLimitRow = TraceRow.skeleton();//@ts-ignore cpuFreqLimitRow.rowId = `${limit.cpu}`; cpuFreqLimitRow.rowType = TraceRow.ROW_TYPE_CPU_FREQ_LIMIT; cpuFreqLimitRow.rowParentId = ''; - cpuFreqLimitRow.style.height = '40px'; + cpuFreqLimitRow.style.height = '40px';//@ts-ignore cpuFreqLimitRow.name = `Cpu ${limit.cpu} Freq Limit`; cpuFreqLimitRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; - cpuFreqLimitRow.selectChangeHandler = this.trace.selectChangeHandler; - cpuFreqLimitRow.setAttribute('maxFilterId', `${limit.maxFilterId}`); - cpuFreqLimitRow.setAttribute('minFilterId', `${limit.minFilterId}`); + cpuFreqLimitRow.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + cpuFreqLimitRow.setAttribute('maxFilterId', `${limit.maxFilterId}`);//@ts-ignore + cpuFreqLimitRow.setAttribute('minFilterId', `${limit.minFilterId}`);//@ts-ignore cpuFreqLimitRow.setAttribute('cpu', `${limit.cpu}`); - cpuFreqLimitRow.supplierFrame = async (): Promise => { - const res = await cpuFreqLimitSender(limit.maxFilterId, limit.minFilterId, limit.cpu, cpuFreqLimitRow); + cpuFreqLimitRow.supplierFrame = async (): Promise => {//@ts-ignore + const res = await cpuFreqLimitSender(limit.maxFilterId, limit.minFilterId, limit.cpu, cpuFreqLimitRow);//@ts-ignore res.forEach((item) => (item.cpu = limit.cpu)); return res; }; @@ -206,8 +207,8 @@ export class SpFreqChart { cpuFreqLimitRow.onThreadHandler = rowThreadHandler( 'cpu-limit-freq', 'context', - { - type: `cpu-limit-freq-${limit.cpu}`, + {//@ts-ignore + type: `cpu-limit-freq-${limit.cpu}`,//@ts-ignore cpu: limit.cpu, maxFreq: findMax?.maxFreq || 0, maxFreqName: findMax?.maxFreqName || '', diff --git a/ide/src/trace/component/chart/SpHiPerf.ts b/ide/src/trace/component/chart/SpHiPerf.ts index 42f9ff4db..a6b3f49d9 100644 --- a/ide/src/trace/component/chart/SpHiPerf.ts +++ b/ide/src/trace/component/chart/SpHiPerf.ts @@ -58,13 +58,13 @@ export class SpHiPerf { static selectCpuStruct: HiPerfCpuStruct | undefined; static stringResult: ResultData | undefined; - private cpuData: Array | undefined; - public maxCpuId: number = 0; - private rowFolder!: TraceRow; + private cpuData: Array | undefined; + public maxCpuId: number = 0;//@ts-ignore + private rowFolder!: TraceRow; private perfThreads: Array | undefined; private trace: SpSystemTrace; - private group: any; - private rowList: TraceRow[] | undefined; + private group: unknown;//@ts-ignore + private rowList: TraceRow[] | undefined; private eventTypeList: Array<{ id: number; report: string }> = []; private callChartType: number = 0; private callChartId: number = 0; @@ -84,7 +84,7 @@ export class SpHiPerf { this.cpuData = await queryHiPerfCpuMergeData2(); this.callChartType = 0; this.callChartId = 0; - this.eventTypeId = -2; + this.eventTypeId = -2;//@ts-ignore this.maxCpuId = this.cpuData.length > 0 ? this.cpuData[0].cpu_id : -Infinity; if (this.cpuData.length > 0) { await this.initFolder(); @@ -136,23 +136,24 @@ export class SpHiPerf { this.folderRowSettingConfig(row); if (SpHiPerf.stringResult?.existA === true) { row.name = 'HiPerf (All)'; - } else { + } else {//@ts-ignore let names = Reflect.ownKeys(this.group) - .map((pid: any) => { + .map((pid: unknown) => {//@ts-ignore let array = this.group[pid] as Array; let process = array.filter((th) => th.pid === th.tid)[0]; return process.processName; }) .join(','); row.name = `HiPerf (${names})`; - } - row.supplier = (): Promise> => new Promise>((resolve) => resolve([])); + }//@ts-ignore + row.supplier = (): Promise> => new Promise>((resolve) => resolve([])); row.onThreadHandler = folderThreadHandler(row, this.trace); this.rowFolder = row; this.trace.rowsEL?.appendChild(row); } - folderRowSettingConfig(row: TraceRow): void { + //@ts-ignore + folderRowSettingConfig(row: TraceRow): void { row.rowSettingList = [ { key: '-2', @@ -209,8 +210,8 @@ export class SpHiPerf { this.rowFolder.addChildTraceRow(perfCallCutRow); perfCallCutRow.focusHandler = (): void => { this.callChartRowFocusHandler(perfCallCutRow); - }; - perfCallCutRow.supplierFrame = async (): Promise => { + };//@ts-ignore + perfCallCutRow.supplierFrame = async (): Promise => { const res = await hiperfCallChartDataSender(perfCallCutRow, { startTime: window.recordStartNS, eventTypeId: this.eventTypeId, @@ -258,21 +259,22 @@ export class SpHiPerf { } } - async setCallTotalRow(row: TraceRow, cpuData: any = Array, threadData: any = Array): Promise { - let pt: Map = threadData.reduce((map: Map, current: any) => { + //@ts-ignore + async setCallTotalRow(row: TraceRow, cpuData: unknown = Array, threadData: unknown = Array): Promise {//@ts-ignore + let pt: Map = threadData.reduce((map: Map, current: unknown) => {//@ts-ignore const key = `${current.processName || 'Process'}(${current.pid})`; - const thread = { - key: `${current.tid}-t`, + const thread = {//@ts-ignore + key: `${current.tid}-t`,//@ts-ignore title: `${current.threadName || 'Thread'}(${current.tid})`, }; - if (map.has(key)) { - if (map.get(key).children) { + if (map.has(key)) {//@ts-ignore + if (map.get(key).children) {//@ts-ignore map.get(key).children.push(thread); - } else { + } else {//@ts-ignore map.get(key).children = [thread]; } } else { - map.set(key, { + map.set(key, {//@ts-ignore key: `${current.pid}-p`, title: key, children: [thread], @@ -280,10 +282,10 @@ export class SpHiPerf { }); } return map; - }, new Map()); + }, new Map()); row.addTemplateTypes('hiperf-callchart'); row.addRowSettingPop(); - row.rowSetting = 'enable'; + row.rowSetting = 'enable';//@ts-ignore this.setCallChartRowSetting(row, cpuData, pt); row.onThreadHandler = rowThreadHandler( 'HiPerf-callchart', @@ -296,7 +298,7 @@ export class SpHiPerf { ); } - setCallChartRowSetting(row: TraceRow, cpuData: Array, pt: Map): void { + setCallChartRowSetting(row: TraceRow, cpuData: Array, pt: Map): void {//@ts-ignore row.rowSettingList = [ ...cpuData.reverse().map( ( @@ -315,9 +317,10 @@ export class SpHiPerf { ), ...Array.from(pt.values()), ]; - row.onRowSettingChangeHandler = (setting: any, nodes): void => { + row.onRowSettingChangeHandler = (setting: unknown, nodes): void => {//@ts-ignore if (setting && setting.length > 0) { //type 0:cpu,1:process,2:thread + //@ts-ignore let key: string = setting[0]; let type = this.callChartType; if (key.includes('p')) { @@ -354,8 +357,8 @@ export class SpHiPerf { cpuMergeRow.style.height = '40px'; cpuMergeRow.setAttribute('children', ''); cpuMergeRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; - cpuMergeRow.selectChangeHandler = this.trace.selectChangeHandler; - cpuMergeRow.supplierFrame = (): Promise => { + cpuMergeRow.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + cpuMergeRow.supplierFrame = (): Promise => { return hiperfCpuDataSender( -1, cpuMergeRow.drawType, @@ -384,17 +387,18 @@ export class SpHiPerf { this.rowList?.push(cpuMergeRow); } - rowThreadHandler(tag: string, contextField: string, arg: any, row: TraceRow, trace: SpSystemTrace) { + //@ts-ignore + rowThreadHandler(tag: string, contextField: string, arg: unknown, row: TraceRow, trace: SpSystemTrace) { return (useCache: boolean): void => { let context: CanvasRenderingContext2D = getRowContext(row, trace); - row.canvasSave(context); - arg.useCache = useCache; - arg.scale = TraceRow.range?.scale || 50; + row.canvasSave(context);//@ts-ignore + arg.useCache = useCache;//@ts-ignore + arg.scale = TraceRow.range?.scale || 50;//@ts-ignore arg.range = TraceRow.range; - if (contextField) { + if (contextField) {//@ts-ignore arg[contextField] = context; - } - (renders[tag] as any).renderMainThread(arg, row); + }//@ts-ignore + (renders[tag] as unknown).renderMainThread(arg, row); row.canvasRestore(context, trace); }; } @@ -413,8 +417,8 @@ export class SpHiPerf { perfCpuRow.setAttribute('children', ''); perfCpuRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; perfCpuRow.selectChangeHandler = this.trace.selectChangeHandler; - perfCpuRow.style.height = '40px'; - perfCpuRow.supplierFrame = (): Promise => { + perfCpuRow.style.height = '40px';//@ts-ignore + perfCpuRow.supplierFrame = (): Promise => { return hiperfCpuDataSender( i, perfCpuRow.drawType, @@ -444,8 +448,8 @@ export class SpHiPerf { } } - async initProcess(): Promise { - Reflect.ownKeys(this.group).forEach((key, index): void => { + async initProcess(): Promise {//@ts-ignore + Reflect.ownKeys(this.group).forEach((key, index): void => {//@ts-ignore let array = this.group[key] as Array; let process = array.filter((th): boolean => th.pid === th.tid)[0]; let row = TraceRow.skeleton(); @@ -464,8 +468,8 @@ export class SpHiPerf { row.folderPaddingLeft = 6; row.style.height = '40px'; row.favoriteChangeHandler = this.trace.favoriteChangeHandler; - row.selectChangeHandler = this.trace.selectChangeHandler; - row.supplierFrame = (): Promise => { + row.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + row.supplierFrame = (): Promise => { return hiperfProcessDataSender( process.pid, row.drawType, @@ -510,8 +514,8 @@ export class SpHiPerf { thread.folderPaddingLeft = 0; thread.style.height = '40px'; thread.favoriteChangeHandler = this.trace.favoriteChangeHandler; - thread.selectChangeHandler = this.trace.selectChangeHandler; - thread.supplierFrame = (): Promise => { + thread.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + thread.supplierFrame = (): Promise => { return hiperfThreadDataSender( thObj.tid, thread.drawType, @@ -540,7 +544,8 @@ export class SpHiPerf { }); } - resetChartData(row: TraceRow): void { + //@ts-ignore + resetChartData(row: TraceRow): void { row.dataList = []; row.dataList2 = []; row.dataListCache = []; @@ -551,8 +556,8 @@ export class SpHiPerf { this.rowList?.forEach((row) => this.resetChartData(row)); } - hoverTip( - row: TraceRow, + hoverTip(//@ts-ignore + row: TraceRow, struct: | HiPerfThreadStruct | HiPerfProcessStruct diff --git a/ide/src/trace/component/chart/SpHiSysEnergyChart.ts b/ide/src/trace/component/chart/SpHiSysEnergyChart.ts index 88b32c054..84efeb81b 100644 --- a/ide/src/trace/component/chart/SpHiSysEnergyChart.ts +++ b/ide/src/trace/component/chart/SpHiSysEnergyChart.ts @@ -537,30 +537,30 @@ export class SpHiSysEnergyChart { return powerTraceRow; } - private getPowerData(items: any): EnergyPowerStruct[] { - let powerDataMap: any = {}; - let appNameList: string[] = []; + private getPowerData(items: unknown): EnergyPowerStruct[] { + let powerDataMap: unknown = {}; + let appNameList: string[] = [];//@ts-ignore items.forEach( - (item: { id: number; startNS: number; eventName: string; appKey: string; eventValue: string }): void => { + (item: { id: number; startNS: number; eventName: string; appKey: string; eventValue: string }): void => {//@ts-ignore let dataItem = powerDataMap[item.startNS]; if (dataItem === undefined) { if (item.appKey === 'APPNAME') { - let appMap: any = {}; + let appMap: unknown = {}; let appNames = item.eventValue.split(','); appNameList = appNames; if (appNames.length > 0) { - for (let appNamesKey of appNames) { - appMap[appNamesKey] = new EnergyPowerStruct(); - appMap[appNamesKey].name = appNamesKey; + for (let appNamesKey of appNames) {//@ts-ignore + appMap[appNamesKey] = new EnergyPowerStruct();//@ts-ignore + appMap[appNamesKey].name = appNamesKey;//@ts-ignore appMap[appNamesKey].ts = item.startNS; - } + }//@ts-ignore powerDataMap[item.startNS] = appMap; } } } else { if (item.appKey !== 'APPNAME') { this.powerDataMap(item.eventName, item.eventValue, appNameList, dataItem); - } else { + } else {//@ts-ignore let dataMap = powerDataMap[item.startNS]; let appNames = item.eventValue.split(','); appNameList = appNames; @@ -575,13 +575,14 @@ export class SpHiSysEnergyChart { } } ); + //@ts-ignore return Object.values(powerDataMap); } - private powerDataMap(name: string, eventValue: string, appNameList: string[], dataItem: any): void { + private powerDataMap(name: string, eventValue: string, appNameList: string[], dataItem: unknown): void { let values = eventValue.split(','); for (let i = 0; i < values.length; i++) { - let appName = appNameList[i]; + let appName = appNameList[i];//@ts-ignore let obj = dataItem[appName]; if (obj !== undefined) { let eventName = name.split('_'); diff --git a/ide/src/trace/component/chart/SpIrqChart.ts b/ide/src/trace/component/chart/SpIrqChart.ts index 3a816ecb7..69940e236 100644 --- a/ide/src/trace/component/chart/SpIrqChart.ts +++ b/ide/src/trace/component/chart/SpIrqChart.ts @@ -36,7 +36,8 @@ export class SpIrqChart { await this.initData(folder); } - async initData(folder: TraceRow): Promise { + //@ts-ignore + async initData(folder: TraceRow): Promise { let irqStartTime = new Date().getTime(); let irqList = await queryIrqList(); if (irqList.length === 0) { @@ -57,23 +58,25 @@ export class SpIrqChart { info('The time to load the ClockData is: ', durTime); } - addIrqRow(it: any, index: number, folder: TraceRow): void { + //@ts-ignore + addIrqRow(it: unknown, index: number, folder: TraceRow): void { let traceRow = TraceRow.skeleton(); + //@ts-ignore traceRow.rowId = it.name + it.cpu; traceRow.rowType = TraceRow.ROW_TYPE_IRQ; traceRow.rowParentId = folder.rowId; - traceRow.style.height = '40px'; + traceRow.style.height = '40px';//@ts-ignore traceRow.name = `${it.name} Cpu ${it.cpu}`; traceRow.rowHidden = !folder.expansion; - traceRow.setAttribute('children', ''); - traceRow.setAttribute('callId', `${it.cpu}`); + traceRow.setAttribute('children', '');//@ts-ignore + traceRow.setAttribute('callId', `${it.cpu}`);//@ts-ignore traceRow.setAttribute('cat', `${it.name}`); traceRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; traceRow.selectChangeHandler = this.trace.selectChangeHandler; - traceRow.supplierFrame = (): Promise => { + traceRow.supplierFrame = (): Promise => {//@ts-ignore return irqDataSender(it.cpu, it.name, traceRow).then((irqs) => { irqs.forEach((irq): void => { - let irqData = this.irqNameMap.get(irq.id!); + let irqData = this.irqNameMap.get(irq.id!);//@ts-ignore irq.name = (it.name === 'irq' ? irqData?.ipiName : irqData?.name) || ''; }); return irqs; @@ -92,7 +95,7 @@ export class SpIrqChart { traceRow.onThreadHandler = rowThreadHandler( 'irq', 'context', - { + {//@ts-ignore type: it.name, index: index, }, @@ -102,7 +105,8 @@ export class SpIrqChart { folder.addChildTraceRow(traceRow); } - async initFolder(): Promise> { + //@ts-ignore + async initFolder(): Promise> { let irqFolder = TraceRow.skeleton(); irqFolder.rowId = 'Irs'; irqFolder.index = 0; @@ -112,8 +116,8 @@ export class SpIrqChart { irqFolder.folder = true; irqFolder.name = 'Irs'; /* & I/O Latency */ irqFolder.favoriteChangeHandler = this.trace.favoriteChangeHandler; - irqFolder.selectChangeHandler = this.trace.selectChangeHandler; - irqFolder.supplier = (): Promise> => new Promise>((resolve) => resolve([])); + irqFolder.selectChangeHandler = this.trace.selectChangeHandler;//@ts-ignore + irqFolder.supplier = (): Promise> => new Promise>((resolve) => resolve([])); irqFolder.onThreadHandler = (useCache): void => { irqFolder.canvasSave(this.trace.canvasPanelCtx!); if (irqFolder.expansion) { diff --git a/ide/src/trace/component/chart/SpLTPO.ts b/ide/src/trace/component/chart/SpLTPO.ts index dba63d40e..638b34d4e 100644 --- a/ide/src/trace/component/chart/SpLTPO.ts +++ b/ide/src/trace/component/chart/SpLTPO.ts @@ -304,7 +304,7 @@ export class SpLtpoChart { } } pushLtpoData( - lptoArr: any[] | undefined, + lptoArr: unknown[] | undefined, fanceId: Number, fps: Number, signaled: Number, @@ -333,17 +333,17 @@ export class SpLtpoChart { this.deleteUselessFence(presentArr, ltpoDataArr); while (presentIndex < presentArr.length) { if (presentArr[presentIndex] && ltpoDataArr[ltpoIndex]) { - if ( - presentArr[presentIndex].startTime! + presentArr[presentIndex].dur! - (window as any).recordStartNS === + if (//@ts-ignore + presentArr[presentIndex].startTime! + presentArr[presentIndex].dur! - (window as unknown).recordStartNS === TraceRow.range!.totalNS ) { presentArr.splice(presentIndex, 1); } - if (presentArr[presentIndex].presentId === ltpoDataArr[ltpoIndex].fanceId) { - ltpoDataArr[ltpoIndex].startTs = Number(presentArr[presentIndex].startTime) - (window as any).recordStartNS; + if (presentArr[presentIndex].presentId === ltpoDataArr[ltpoIndex].fanceId) {//@ts-ignore + ltpoDataArr[ltpoIndex].startTs = Number(presentArr[presentIndex].startTime) - (window as unknown).recordStartNS; ltpoDataArr[ltpoIndex].dur = presentArr[presentIndex].dur; - ltpoDataArr[ltpoIndex].nextStartTs = presentArr[presentIndex + 1] - ? Number(presentArr[presentIndex + 1].startTime) - (window as any).recordStartNS + ltpoDataArr[ltpoIndex].nextStartTs = presentArr[presentIndex + 1]//@ts-ignore + ? Number(presentArr[presentIndex + 1].startTime) - (window as unknown).recordStartNS : ''; ltpoDataArr[ltpoIndex].nextDur = presentArr[presentIndex + 1] ? presentArr[presentIndex + 1].dur : 0; presentIndex++; diff --git a/ide/src/trace/component/chart/SpNativeMemoryChart.ts b/ide/src/trace/component/chart/SpNativeMemoryChart.ts index cf2d836a8..9d02a0fca 100644 --- a/ide/src/trace/component/chart/SpNativeMemoryChart.ts +++ b/ide/src/trace/component/chart/SpNativeMemoryChart.ts @@ -155,8 +155,8 @@ export class SpNativeMemoryChart { }; allHeapRow.findHoverStruct = (): void => { HeapStruct.hoverHeapStruct = allHeapRow.getHoverStruct(); - }; - allHeapRow.supplierFrame = (): Promise => + };//@ts-ignore + allHeapRow.supplierFrame = (): Promise => nativeMemoryChartDataSender(allHeapRow, { eventType: i, ipid: process.ipid, @@ -208,13 +208,13 @@ export class SpNativeMemoryChart { realTimeDif = queryTime[0].ts - bootTime[0].ts; SpNativeMemoryChart.REAL_TIME_DIF = realTimeDif; } - await new Promise((resolve) => { + await new Promise((resolve) => { procedurePool.submitWithName( 'logic0', 'native-memory-init', { isRealtime, realTimeDif }, undefined, - (res: any) => { + (res: unknown) => { resolve(res); } ); diff --git a/ide/src/trace/component/chart/SpProcessChart.ts b/ide/src/trace/component/chart/SpProcessChart.ts index a8c77ecd4..ed0c1836c 100644 --- a/ide/src/trace/component/chart/SpProcessChart.ts +++ b/ide/src/trace/component/chart/SpProcessChart.ts @@ -56,11 +56,11 @@ import { BaseStruct } from '../../bean/BaseStruct'; export class SpProcessChart { private readonly trace: SpSystemTrace; - private processAsyncFuncMap: any = {}; - private processAsyncFuncArray: any[] = []; - private eventCountMap: any; + private processAsyncFuncMap: unknown = {}; + private processAsyncFuncArray: unknown[] = []; + private eventCountMap: unknown; private processThreads: Array = []; - private processMem: Array = []; + private processMem: Array = []; private processThreadCountMap: Map = new Map(); private processThreadDataCountMap: Map = new Map(); private processFuncDataCountMap: Map = new Map(); @@ -83,9 +83,9 @@ export class SpProcessChart { funcNamesArray.forEach((it) => { this.funcNameMap.set(it.id, it.name); }); - let asyncFuncList: any[] = await queryProcessAsyncFunc(traceRange); - for (const func of asyncFuncList) { - func.funName = this.funcNameMap.get(func.id); + let asyncFuncList: unknown[] = await queryProcessAsyncFunc(traceRange); + for (const func of asyncFuncList) {//@ts-ignore + func.funName = this.funcNameMap.get(func.id);//@ts-ignore func.threadName = Utils.THREAD_MAP.get(func.tid); } info('AsyncFuncData Count is: ', asyncFuncList!.length); @@ -106,35 +106,35 @@ export class SpProcessChart { row.supplier = folderSupplier(); row.onThreadHandler = folderThreadHandler(row, this.trace); - let asyncFuncGroup = Utils.groupBy( + let asyncFuncGroup = Utils.groupBy(//@ts-ignore this.processAsyncFuncArray.filter((it) => it.funName === 'deliverInputEvent'), 'tid' ); if (Reflect.ownKeys(asyncFuncGroup).length > 0) { this.trace.rowsEL?.appendChild(row); } - Reflect.ownKeys(asyncFuncGroup).map((key: any) => { - let asyncFuncGroups: Array = asyncFuncGroup[key]; - if (asyncFuncGroups.length > 0) { + Reflect.ownKeys(asyncFuncGroup).map((key: unknown) => {//@ts-ignore + let asyncFuncGroups: Array = asyncFuncGroup[key]; + if (asyncFuncGroups.length > 0) {//@ts-ignore row.addChildTraceRow(this.createDeliverInputEventRow(row, key, asyncFuncGroups)); } }); }; - private createDeliverInputEventRow( - parentRow: TraceRow, + private createDeliverInputEventRow(//@ts-ignore + parentRow: TraceRow, key: number, - asyncFuncGroups: Array + asyncFuncGroups: Array ): TraceRow { - let funcRow = TraceRow.skeleton(); - funcRow.rowId = `${asyncFuncGroups[0].funName}-${key}`; + let funcRow = TraceRow.skeleton();//@ts-ignore + funcRow.rowId = `${asyncFuncGroups[0].funName}-${key}`;//@ts-ignore funcRow.asyncFuncName = asyncFuncGroups[0].funName; funcRow.asyncFuncNamePID = key; funcRow.rowType = TraceRow.ROW_TYPE_FUNC; funcRow.enableCollapseChart(); //允许折叠泳道图 funcRow.rowParentId = `${parentRow.rowId}`; funcRow.rowHidden = !parentRow.expansion; - funcRow.style.width = '100%'; + funcRow.style.width = '100%';//@ts-ignore funcRow.name = `${asyncFuncGroups[0].funName} ${key}`; funcRow.setAttribute('children', ''); funcRow.supplierFrame = async (): Promise => { @@ -150,7 +150,7 @@ export class SpProcessChart { funcRow.onThreadHandler = rowThreadHandler( 'func', 'context', - { + {//@ts-ignore type: `func-${asyncFuncGroups[0].funName}-${key}`, }, funcRow, @@ -158,29 +158,30 @@ export class SpProcessChart { ); return funcRow; } - private deliverInputEventSendCallback(res: Array, funcRow: TraceRow, asyncFuncGroups: Array): void { - let isIntersect = (left: any, right: any): boolean => - Math.max(left.startTs + left.dur, right.startTs + right.dur) - Math.min(left.startTs, right.startTs) < + //@ts-ignore + private deliverInputEventSendCallback(res: Array, funcRow: TraceRow, asyncFuncGroups: Array): void { + let isIntersect = (left: unknown, right: unknown): boolean =>//@ts-ignore + Math.max(left.startTs + left.dur, right.startTs + right.dur) - Math.min(left.startTs, right.startTs) { - if (depths[currentDepth] === undefined || !isIntersect(depths[currentDepth], res[index])) { - res[index].depth = currentDepth; + let depths: unknown = []; + let createDepth = (currentDepth: number, index: number): void => {//@ts-ignore + if (depths[currentDepth] === undefined || !isIntersect(depths[currentDepth], res[index])) {//@ts-ignore + res[index].depth = currentDepth;//@ts-ignore depths[currentDepth] = res[index]; } else { createDepth(++currentDepth, index); } }; - res.forEach((it, i): void => { - res[i].funName = this.funcNameMap.get(res[i].id!); - res[i].threadName = Utils.THREAD_MAP.get(res[i].tid!); - if (it.dur === -1 || it.dur === null || it.dur === undefined) { - it.dur = (TraceRow.range?.endNS || 0) - it.startTs; + res.forEach((it, i): void => {//@ts-ignore + res[i].funName = this.funcNameMap.get(res[i].id!);//@ts-ignore + res[i].threadName = Utils.THREAD_MAP.get(res[i].tid!);//@ts-ignore + if (it.dur === -1 || it.dur === null || it.dur === undefined) {//@ts-ignore + it.dur = (TraceRow.range?.endNS || 0) - it.startTs;//@ts-ignore it.flag = 'Did not end'; } createDepth(0, i); }); - if (funcRow && !funcRow.isComplete) { + if (funcRow && !funcRow.isComplete) {//@ts-ignore let max = Math.max(...asyncFuncGroups.map((it) => it.depth || 0)) + 1; let maxHeight = max * 18 + 6; funcRow.style.height = `${maxHeight}px`; @@ -190,9 +191,9 @@ export class SpProcessChart { async init(): Promise { await this.prepareData(); - if ( - this.eventCountMap.print === 0 && - this.eventCountMap.tracing_mark_write === 0 && + if (//@ts-ignore + this.eventCountMap.print === 0 &&//@ts-ignore + this.eventCountMap.tracing_mark_write === 0 &&//@ts-ignore this.eventCountMap.sched_switch === 0 ) { return; @@ -255,8 +256,8 @@ export class SpProcessChart { this.startupProcessArr = await queryStartupPidArray(); this.processSoMaxDepth = await queryProcessSoMaxDepth(); } - let eventCountList: Array = await queryEventCountMap(); - this.eventCountMap = eventCountList.reduce((pre, current) => { + let eventCountList: Array = await queryEventCountMap(); + this.eventCountMap = eventCountList.reduce((pre, current) => {//@ts-ignore pre[`${current.eventName}`] = current.count; return pre; }, {}); @@ -267,17 +268,17 @@ export class SpProcessChart { } private async initProcessRow( - pArr: Array, + pArr: Array, allTaskPoolPid: Array<{ pid: number }>, jankArr: Array, - rsProcess: Array + rsProcess: Array ): Promise { for (let i = 0; i < pArr.length; i++) { const it = pArr[i]; - if ( - (this.processThreadDataCountMap.get(it.pid) || 0) === 0 && - (this.processThreadCountMap.get(it.pid) || 0) === 0 && - (this.processFuncDataCountMap.get(it.pid) || 0) === 0 && + if (//@ts-ignore + (this.processThreadDataCountMap.get(it.pid) || 0) === 0 &&//@ts-ignore + (this.processThreadCountMap.get(it.pid) || 0) === 0 &&//@ts-ignore + (this.processFuncDataCountMap.get(it.pid) || 0) === 0 &&//@ts-ignore (this.processMemDataCountMap.get(it.pid) || 0) === 0 ) { continue; @@ -287,10 +288,10 @@ export class SpProcessChart { /* App Startup row*/ let startupRow: TraceRow | undefined = undefined; let soRow: TraceRow | undefined = undefined; - if (this.loadAppStartup) { + if (this.loadAppStartup) {//@ts-ignore if (this.startupProcessArr.find((sp) => sp.pid === it.pid)) { startupRow = this.addStartUpRow(processRow); - } + }//@ts-ignore let maxSoDepth = this.processSoMaxDepth.find((md) => md.pid === it.pid); if (maxSoDepth) { soRow = this.addSoInitRow(processRow, maxSoDepth.maxDepth); @@ -299,54 +300,55 @@ export class SpProcessChart { let actualRow: TraceRow | null = null; let expectedRow: TraceRow | null = null; - this.renderRow = null; - if (it.processName === 'render_service') { - this.addThreadList(it, processRow, expectedRow, actualRow, soRow, startupRow); - this.addProcessMemInfo(it, processRow); + this.renderRow = null;//@ts-ignore + if (it.processName === 'render_service') {//@ts-ignore + this.addThreadList(it, processRow, expectedRow, actualRow, soRow, startupRow);//@ts-ignore + this.addProcessMemInfo(it, processRow);//@ts-ignore if (jankArr.indexOf(it.pid!) > -1) { expectedRow = this.addExpectedRow(it, processRow, rsProcess); actualRow = this.addActualRow(it, processRow, rsProcess); } - this.addProcessRowListener(processRow, actualRow); + this.addProcessRowListener(processRow, actualRow);//@ts-ignore this.addAsyncFunction(it, processRow); - } else { + } else {//@ts-ignore if (jankArr.indexOf(it.pid!) > -1) { expectedRow = this.addExpectedRow(it, processRow, rsProcess); actualRow = this.addActualRow(it, processRow, rsProcess); } - this.addProcessRowListener(processRow, actualRow); - this.addAsyncFunction(it, processRow); - this.addProcessMemInfo(it, processRow); + this.addProcessRowListener(processRow, actualRow);//@ts-ignore + this.addAsyncFunction(it, processRow);//@ts-ignore + this.addProcessMemInfo(it, processRow);//@ts-ignore this.addThreadList(it, processRow, expectedRow, actualRow, soRow, startupRow); } + //@ts-ignore await this.trace.chartManager?.frameTimeChart.initAnimatedScenesChart(processRow, it, expectedRow!, actualRow!); } } private createProcessRow( index: number, - process: any, + process: unknown, allTaskPoolPid: Array<{ pid: number }> ): TraceRow { - let processRow = TraceRow.skeleton(); + let processRow = TraceRow.skeleton();//@ts-ignore processRow.rowId = `${process.pid}`; processRow.index = index; processRow.rowType = TraceRow.ROW_TYPE_PROCESS; processRow.rowParentId = ''; processRow.style.height = '40px'; processRow.folder = true; - if ( - SpChartManager.APP_STARTUP_PID_ARR.find((pid) => pid === process.pid) !== undefined || + if (//@ts-ignore + SpChartManager.APP_STARTUP_PID_ARR.find((pid) => pid === process.pid) !== undefined ||//@ts-ignore process.processName === 'render_service' ) { processRow.addTemplateTypes('AppStartup'); } if (allTaskPoolPid.find((process) => process.pid === process.pid) !== undefined) { processRow.addTemplateTypes('TaskPool'); - } - processRow.name = `${process.processName || 'Process'} ${process.pid}`; - processRow.supplierFrame = (): Promise> => { + }//@ts-ignore + processRow.name = `${process.processName || 'Process'} ${process.pid}`;//@ts-ignore + processRow.supplierFrame = (): Promise> => {//@ts-ignore return processDataSender(process.pid || -1, processRow); }; processRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; @@ -354,8 +356,8 @@ export class SpProcessChart { processRow.onThreadHandler = rowThreadHandler( 'process', 'context', - { - pid: process.pid, + {//@ts-ignore + pid: process.pid,//@ts-ignore type: `process ${processRow.index} ${process.processName}`, }, processRow, @@ -365,13 +367,13 @@ export class SpProcessChart { } addProcessRowListener(processRow: TraceRow, actualRow: TraceRow | null): void { - let offsetYTimeOut: any = undefined; - processRow.addEventListener('expansion-change', (e: any) => { + let offsetYTimeOut: unknown = undefined; + processRow.addEventListener('expansion-change', (e: unknown) => { JankStruct.delJankLineFlag = false; - if (offsetYTimeOut) { + if (offsetYTimeOut) {//@ts-ignore clearTimeout(offsetYTimeOut); } - if (JankStruct.selectJankStruct !== null && JankStruct.selectJankStruct !== undefined) { + if (JankStruct.selectJankStruct !== null && JankStruct.selectJankStruct !== undefined) {//@ts-ignore if (e.detail.expansion) { offsetYTimeOut = setTimeout(() => { this.trace.linkNodes.forEach((linkNodeItem) => this.handler1(e, linkNodeItem, actualRow)); @@ -384,7 +386,7 @@ export class SpProcessChart { this.trace.linkNodes?.forEach((linkProcessItem) => this.handler2(e, linkProcessItem, processRow)); }, 300); } - } else { + } else {//@ts-ignore if (e.detail.expansion) { offsetYTimeOut = setTimeout(() => { this.trace.linkNodes.forEach((linkNodeItem) => this.handler3(e, linkNodeItem)); @@ -408,10 +410,10 @@ export class SpProcessChart { }); } - handler1(e: any, linkItem: PairPoint[], actualRow: TraceRow | null): void { - JankStruct.selectJankStructList?.forEach((selectProcessStruct: any) => { - if (e.detail.rowId === selectProcessStruct.pid) { - JankStruct.selectJankStruct = selectProcessStruct; + handler1(e: unknown, linkItem: PairPoint[], actualRow: TraceRow | null): void { + JankStruct.selectJankStructList?.forEach((selectProcessStruct: unknown) => {//@ts-ignore + if (e.detail.rowId === selectProcessStruct.pid) {//@ts-ignore + JankStruct.selectJankStruct = selectProcessStruct;//@ts-ignore JankStruct.hoverJankStruct = selectProcessStruct; } }); @@ -419,12 +421,12 @@ export class SpProcessChart { linkItem[0].y = linkItem[0].rowEL!.translateY! + linkItem[0].offsetY; this.updatePairPointTranslateY(linkItem[1]); linkItem[1].y = linkItem[1].rowEL!.translateY! + linkItem[1].offsetY; - if (actualRow) { + if (actualRow) {//@ts-ignore if (linkItem[0].rowEL.rowId === e.detail.rowId) { linkItem[0].x = ns2xByTimeShaft(linkItem[0].ns, this.trace.timerShaftEL!); linkItem[0].y = actualRow!.translateY! + linkItem[0].offsetY * 2; linkItem[0].offsetY = linkItem[0].offsetY * 2; - linkItem[0].rowEL = actualRow!; + linkItem[0].rowEL = actualRow!;//@ts-ignore } else if (linkItem[1].rowEL.rowId === e.detail.rowId) { linkItem[1].x = ns2xByTimeShaft(linkItem[1].ns, this.trace.timerShaftEL!); linkItem[1].y = actualRow!.translateY! + linkItem[1].offsetY * 2; @@ -434,22 +436,22 @@ export class SpProcessChart { } } - handler2(e: any, linkItem: PairPoint[], processRow: TraceRow): void { + handler2(e: unknown, linkItem: PairPoint[], processRow: TraceRow): void { this.updatePairPointTranslateY(linkItem[0]); linkItem[0].y = linkItem[0].rowEL!.translateY! + linkItem[0].offsetY; this.updatePairPointTranslateY(linkItem[1]); - linkItem[1].y = linkItem[1].rowEL!.translateY! + linkItem[1].offsetY; + linkItem[1].y = linkItem[1].rowEL!.translateY! + linkItem[1].offsetY;//@ts-ignore if (linkItem[0].rowEL.rowParentId === e.detail.rowId) { - this.updatePairPoint(linkItem[0], processRow); + this.updatePairPoint(linkItem[0], processRow);//@ts-ignore } else if (linkItem[1].rowEL.rowParentId === e.detail.rowId) { this.updatePairPoint(linkItem[1], processRow); } } - handler3(e: any, linkItem: PairPoint[]): void { - ThreadStruct.selectThreadStructList?.forEach((selectProcessStruct: any) => { - if (e.detail.rowId === selectProcessStruct.pid) { - ThreadStruct.selectThreadStruct = selectProcessStruct; + handler3(e: unknown, linkItem: PairPoint[]): void { + ThreadStruct.selectThreadStructList?.forEach((selectProcessStruct: unknown) => {//@ts-ignore + if (e.detail.rowId === selectProcessStruct.pid) {//@ts-ignore + ThreadStruct.selectThreadStruct = selectProcessStruct;//@ts-ignore ThreadStruct.hoverThreadStruct = selectProcessStruct; } }); @@ -469,14 +471,14 @@ export class SpProcessChart { } } - handler4(e: any, linkItem: PairPoint[], processRow: TraceRow): void { + handler4(e: unknown, linkItem: PairPoint[], processRow: TraceRow): void { this.updatePairPointTranslateY(linkItem[0]); linkItem[0].y = processRow!.translateY + linkItem[0].offsetY; this.updatePairPointTranslateY(linkItem[1]); - linkItem[1].y = linkItem[1].rowEL!.translateY + linkItem[1].offsetY; - if (linkItem[0].rowEL.rowParentId === e.detail.rowId) { + linkItem[1].y = linkItem[1].rowEL!.translateY + linkItem[1].offsetY;//@ts-ignore + if (linkItem[0].rowEL.rowParentId === e.detail.rowId) {//@ts-ignore this.updatePairPoint(linkItem[0], processRow); - } + }//@ts-ignore if (linkItem[1].rowEL.rowParentId === e.detail.rowId) { this.updatePairPoint(linkItem[1], processRow); } @@ -499,18 +501,19 @@ export class SpProcessChart { } } /* Janks Frames */ - addExpectedRow(process: any, processRow: TraceRow, renderServiceProcess: Array): TraceRow { - let expectedRow = TraceRow.skeleton(); - expectedRow.asyncFuncName = process.processName; + //@ts-ignore + addExpectedRow(process: unknown, processRow: TraceRow, renderServiceProcess: Array): TraceRow { + let expectedRow = TraceRow.skeleton();//@ts-ignore + expectedRow.asyncFuncName = process.processName;//@ts-ignore expectedRow.asyncFuncNamePID = process.pid; - expectedRow.rowType = TraceRow.ROW_TYPE_JANK; + expectedRow.rowType = TraceRow.ROW_TYPE_JANK;//@ts-ignore expectedRow.rowParentId = `${process.pid}`; expectedRow.rowHidden = !processRow.expansion; expectedRow.style.width = '100%'; expectedRow.name = 'Expected Timeline'; expectedRow.addTemplateTypes('FrameTimeline'); expectedRow.setAttribute('children', ''); - expectedRow.supplierFrame = async (): Promise => { + expectedRow.supplierFrame = async (): Promise => {//@ts-ignore let res = await processExpectedDataSender(process.pid, expectedRow!); this.jankSenderCallback(res, 'expected', process, expectedRow, renderServiceProcess); return res; @@ -534,16 +537,17 @@ export class SpProcessChart { return expectedRow; } - addActualRow(process: any, processRow: TraceRow, renderServiceProcess: Array): TraceRow { + //@ts-ignore + addActualRow(process: unknown, processRow: TraceRow, renderServiceProcess: Array): TraceRow { let actualRow = TraceRow.skeleton(); - actualRow.rowType = TraceRow.ROW_TYPE_JANK; + actualRow.rowType = TraceRow.ROW_TYPE_JANK;//@ts-ignore actualRow.rowParentId = `${process.pid}`; actualRow.rowHidden = !processRow.expansion; actualRow.style.width = '100%'; actualRow.name = 'Actual Timeline'; actualRow.addTemplateTypes('FrameTimeline'); actualRow.setAttribute('children', ''); - actualRow.supplierFrame = async (): Promise => { + actualRow.supplierFrame = async (): Promise => {//@ts-ignore let res = await processActualDataSender(process.pid, actualRow!); this.jankSenderCallback(res, 'actual', process, actualRow, renderServiceProcess); return res; @@ -570,9 +574,9 @@ export class SpProcessChart { jankSenderCallback( res: JankStruct[], type: string, - process: any, + process: unknown, row: TraceRow, - renderServiceProcess: Array + renderServiceProcess: Array ): void { let maxDepth: number = 1; let unitHeight: number = 20; @@ -584,7 +588,7 @@ export class SpProcessChart { if (type === 'actual') { struct.src_slice = this.processSrcSliceMap.get(res[j].id!); } - struct.cmdline = Utils.PROCESS_MAP.get(res[j].pid!); + struct.cmdline = Utils.PROCESS_MAP.get(res[j].pid!);//@ts-ignore if (res[j].pid! === renderServiceProcess[0].pid) { struct.cmdline = 'render_service'; struct.frame_type = struct.cmdline; @@ -597,7 +601,7 @@ export class SpProcessChart { row.style.height = `${maxHeight}px`; row.setAttribute('height', `${maxHeight}`); if (res[0]) { - let timeLineType = res[0].type; + let timeLineType = res[0].type;//@ts-ignore row.rowId = `${timeLineType}-${process.pid}`; row.setAttribute('frame_type', res[0].frame_type || ''); if (type === 'actual') { @@ -777,23 +781,23 @@ export class SpProcessChart { } insertRowToDoc( - it: any, + it: unknown, index: number, thread: ThreadStruct, processRow: TraceRow, threadRow: TraceRow, - threads: ThreadStruct[], - threadRowArr: TraceRow[], - actualRow: TraceRow | null, - expectedRow: TraceRow | null, + threads: ThreadStruct[],//@ts-ignore + threadRowArr: TraceRow[],//@ts-ignore + actualRow: TraceRow | null,//@ts-ignore + expectedRow: TraceRow | null, startupRow: TraceRow | null | undefined, soRow: TraceRow | null | undefined - ): void { - if (it.processName === 'render_service') { + ): void {//@ts-ignore + if (it.processName === 'render_service') {//@ts-ignore if (threadRow.name === `${it.processName} ${it.pid}`) { this.renderRow = threadRow; } - let flag = threads.length === index + 1 && !this.threadFuncMaxDepthMap.has(`${thread.upid}-${thread.tid}`); + let flag = threads.length === index + 1 && !this.threadFuncMaxDepthMap.has(`${thread.upid}-${thread.tid}`);//@ts-ignore processRow.sortRenderServiceData(threadRow, threadRow, threadRowArr, flag); } else { if (threadRow.rowId === threadRow.rowParentId) { @@ -815,31 +819,32 @@ export class SpProcessChart { } addFuncStackRow( - process: any, - thread: any, + process: unknown, + thread: unknown, index: number, - threads: Array, - threadRowArr: Array, + threads: Array, + threadRowArr: Array, threadRow: TraceRow, processRow: TraceRow - ): void { - if (this.threadFuncMaxDepthMap.get(`${thread.upid}-${thread.tid}`) !== undefined) { + ): void {//@ts-ignore + if (this.threadFuncMaxDepthMap.get(`${thread.upid}-${thread.tid}`) !== undefined) {//@ts-ignore let max = this.threadFuncMaxDepthMap.get(`${thread.upid}-${thread.tid}`) || 1; let maxHeight = max * 18 + 6; - let funcRow = TraceRow.skeleton(); + let funcRow = TraceRow.skeleton();//@ts-ignore funcRow.rowId = `${thread.tid}`; funcRow.rowType = TraceRow.ROW_TYPE_FUNC; funcRow.enableCollapseChart(); //允许折叠泳道图 + //@ts-ignore funcRow.rowParentId = `${process.pid}`; funcRow.rowHidden = !processRow.expansion; funcRow.checkType = threadRow.checkType; funcRow.style.width = '100%'; - funcRow.style.height = `${maxHeight}px`; - funcRow.name = `${thread.threadName || 'Thread'} ${thread.tid}`; + funcRow.style.height = `${maxHeight}px`;//@ts-ignore + funcRow.name = `${thread.threadName || 'Thread'} ${thread.tid}`;//@ts-ignore funcRow.namePrefix = `${thread.threadName || 'Thread'}`; funcRow.setAttribute('children', ''); - funcRow.supplierFrame = async (): Promise> => { - const rs = await funcDataSender(thread.tid || 0, thread.upid || 0, funcRow); + funcRow.supplierFrame = async (): Promise> => {//@ts-ignore + const rs = await funcDataSender(thread.tid || 0, thread.upid || 0, funcRow);//@ts-ignore return this.funDataSenderCallback(rs, funcRow, thread); }; funcRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; @@ -850,14 +855,14 @@ export class SpProcessChart { funcRow.onThreadHandler = rowThreadHandler( 'func', 'context', - { + {//@ts-ignore type: `func${thread.tid}${thread.threadName}`, }, funcRow, this.trace - ); + );//@ts-ignore if (process.processName === 'render_service') { - let flag = threads.length === index + 1; + let flag = threads.length === index + 1;//@ts-ignore processRow.sortRenderServiceData(funcRow, threadRow, threadRowArr, flag); } else { processRow.addChildTraceRowAfter(funcRow, threadRow); @@ -865,7 +870,7 @@ export class SpProcessChart { } } - funDataSenderCallback(rs: Array | boolean, funcRow: TraceRow, thread: ThreadStruct): FuncStruct[] { + funDataSenderCallback(rs: Array | boolean, funcRow: TraceRow, thread: ThreadStruct): FuncStruct[] { if (rs === true) { funcRow.rowDiscard = true; return []; @@ -891,16 +896,16 @@ export class SpProcessChart { } //进程内存信息 - addProcessMemInfo(it: { pid: number | null; processName: string | null }, processRow: TraceRow): void { + addProcessMemInfo(it: { pid: number | null; processName: string | null }, processRow: TraceRow): void {//@ts-ignore let processMem = this.processMem.filter((mem) => mem.pid === it.pid); processMem.forEach((mem) => { - let row = TraceRow.skeleton(); + let row = TraceRow.skeleton();//@ts-ignore row.rowId = `${mem.trackId}`; row.rowType = TraceRow.ROW_TYPE_MEM; row.rowParentId = `${it.pid}`; row.rowHidden = !processRow.expansion; row.style.height = '40px'; - row.style.width = '100%'; + row.style.width = '100%';//@ts-ignore row.name = `${mem.trackName}`; row.setAttribute('children', ''); row.favoriteChangeHandler = this.trace.favoriteChangeHandler; @@ -915,8 +920,8 @@ export class SpProcessChart { row.findHoverStruct = (): void => { ProcessMemStruct.hoverProcessMemStruct = row.getHoverStruct(false); }; - row.supplierFrame = (): Promise> => - processMemDataSender(mem.trackId, row).then((resultProcess) => { + row.supplierFrame = (): Promise> =>//@ts-ignore + processMemDataSender(mem.trackId, row).then((resultProcess) => {//@ts-ignore let maxValue = this.filterIdMaxValue.get(mem.trackId) || 0; for (let j = 0; j < resultProcess.length; j++) { resultProcess[j].maxValue = maxValue; @@ -936,7 +941,7 @@ export class SpProcessChart { row.onThreadHandler = rowThreadHandler( 'mem', 'context', - { + {//@ts-ignore type: `mem ${mem.trackId} ${mem.trackName}`, }, row, @@ -949,9 +954,9 @@ export class SpProcessChart { } }); } - private calMaxHeight(asyncFunctions: any[]): number { + private calMaxHeight(asyncFunctions: unknown[]): number { let max = 0; - asyncFunctions.forEach((it) => { + asyncFunctions.forEach((it) => {//@ts-ignore const depth = it.depth || 0; if (depth > max) { max = depth; @@ -962,34 +967,34 @@ export class SpProcessChart { } //Async Function - addAsyncFunction(it: { pid: number; processName: string | null }, processRow: TraceRow): void { + addAsyncFunction(it: { pid: number; processName: string | null }, processRow: TraceRow): void {//@ts-ignore let asyncFuncList = this.processAsyncFuncMap[it.pid] || []; let asyncFuncGroup = Utils.groupBy(asyncFuncList, 'funName'); - Reflect.ownKeys(asyncFuncGroup).map((key: any) => { - let asyncFunctions: Array = asyncFuncGroup[key]; + Reflect.ownKeys(asyncFuncGroup).map((key: unknown) => {//@ts-ignore + let asyncFunctions: Array = asyncFuncGroup[key]; if (asyncFunctions.length > 0) { - let isIntersect = (a: any, b: any): boolean => + let isIntersect = (a: unknown, b: unknown): boolean =>//@ts-ignore Math.max(a.startTs + a.dur, b.startTs + b.dur) - Math.min(a.startTs, b.startTs) < a.dur + b.dur; - let depthArray: any = []; - asyncFunctions.forEach((it, i) => { - if (it.dur === -1 || it.dur === null || it.dur === undefined) { - it.dur = (TraceRow.range?.endNS || 0) - it.startTs; + let depthArray: unknown = []; + asyncFunctions.forEach((it, i) => {//@ts-ignore + if (it.dur === -1 || it.dur === null || it.dur === undefined) {//@ts-ignore + it.dur = (TraceRow.range?.endNS || 0) - it.startTs;//@ts-ignore it.flag = 'Did not end'; } let currentDepth = 0; let index = i; - while ( - depthArray[currentDepth] !== undefined && + while (//@ts-ignore + depthArray[currentDepth] !== undefined &&//@ts-ignore isIntersect(depthArray[currentDepth], asyncFunctions[index]) ) { currentDepth++; - } - asyncFunctions[index].depth = currentDepth; + }//@ts-ignore + asyncFunctions[index].depth = currentDepth;//@ts-ignore depthArray[currentDepth] = asyncFunctions[index]; }); const maxHeight = this.calMaxHeight(asyncFunctions); - let funcRow = TraceRow.skeleton(); - funcRow.rowId = `${asyncFunctions[0].funName}-${it.pid}`; + let funcRow = TraceRow.skeleton();//@ts-ignore + funcRow.rowId = `${asyncFunctions[0].funName}-${it.pid}`;//@ts-ignore funcRow.asyncFuncName = asyncFunctions[0].funName; funcRow.asyncFuncNamePID = it.pid; funcRow.rowType = TraceRow.ROW_TYPE_FUNC; @@ -998,19 +1003,19 @@ export class SpProcessChart { funcRow.rowHidden = !processRow.expansion; funcRow.style.width = '100%'; funcRow.style.height = `${maxHeight}px`; - funcRow.setAttribute('height', `${maxHeight}`); + funcRow.setAttribute('height', `${maxHeight}`);//@ts-ignore funcRow.name = `${asyncFunctions[0].funName}`; funcRow.setAttribute('children', ''); funcRow.findHoverStruct = (): void => { FuncStruct.hoverFuncStruct = funcRow.getHoverStruct(); - }; - funcRow.supplier = (): Promise => new Promise((resolve) => resolve(asyncFunctions)); + };//@ts-ignore + funcRow.supplier = (): Promise => new Promise((resolve) => resolve(asyncFunctions)); funcRow.favoriteChangeHandler = this.trace.favoriteChangeHandler; funcRow.selectChangeHandler = this.trace.selectChangeHandler; funcRow.onThreadHandler = rowThreadHandler( 'func', 'context', - { + {//@ts-ignore type: `func-${asyncFunctions[0].funName}-${it.pid}`, }, funcRow, diff --git a/ide/src/trace/component/chart/SpSdkChart.ts b/ide/src/trace/component/chart/SpSdkChart.ts index 3fc0d9ca5..f74121ec1 100644 --- a/ide/src/trace/component/chart/SpSdkChart.ts +++ b/ide/src/trace/component/chart/SpSdkChart.ts @@ -34,36 +34,36 @@ export class SpSdkChart { this.trace = trace; } - private parseJsonByCounterType(startTime: number, showType: any, configObj: any, table: any): void { + private parseJsonByCounterType(startTime: number, showType: unknown, configObj: unknown, table: unknown): void { let chartSql = this.createSql( - startTime, - showType.tableName, + startTime,//@ts-ignore + showType.tableName,//@ts-ignore showType.columns, 'where counter_id' + ' = $counter_id' - ); - let maxValue = this.createMaxValueSql(showType.tableName, 'where counter_id = $counter_id'); + );//@ts-ignore + let maxValue = this.createMaxValueSql(showType.tableName, 'where counter_id = $counter_id');//@ts-ignore let innerTable = showType.inner; - let countSql = this.createSql(startTime, innerTable.tableName, innerTable.columns); + let countSql = this.createSql(startTime, innerTable.tableName, innerTable.columns);//@ts-ignore table.push({ countSql: countSql, chartSql: chartSql, maxSql: maxValue, - type: 'counter', - name: configObj.disPlayName, + type: 'counter',//@ts-ignore + name: configObj.disPlayName,//@ts-ignore pluginName: configObj.pluginName, }); } - private parseJsonBySliceType(startTime: number, showType: any, configObj: any, table: any[]): void { + private parseJsonBySliceType(startTime: number, showType: unknown, configObj: unknown, table: unknown[]): void { let chartSql = this.createSliceSql( - startTime, - showType.tableName, + startTime,//@ts-ignore + showType.tableName,//@ts-ignore showType.columns, 'where' + ` slice_id = $column_id and (start_ts - ${startTime}) between $startNS and $endNS;` - ); + );//@ts-ignore let innerTable = showType.inner; let countSql; - let countOtherSql = ''; + let countOtherSql = '';//@ts-ignore if (configObj.pluginName === this.pluginName) { countSql = this.createSql(startTime, innerTable.tableName, innerTable.columns, 'where slice_name like $suffix'); countOtherSql = this.createSql( @@ -82,20 +82,20 @@ export class SpSdkChart { table.push({ countSql: countSql, chartSql: chartSql, - type: 'slice', - name: configObj.disPlayName, + type: 'slice',//@ts-ignore + name: configObj.disPlayName,//@ts-ignore pluginName: configObj.pluginName, countOtherSql: countOtherSql, }); } - parseJson(startTime: number, map: Map): Map { + parseJson(startTime: number, map: Map): Map { let tablesMap = new Map(); let keys = map.keys(); for (let key of keys) { - let table: any[] = []; - let configObj: any = map.get(key); - if (configObj !== undefined) { + let table: unknown[] = []; + let configObj: unknown = map.get(key); + if (configObj !== undefined) {//@ts-ignore let configStr = configObj.jsonConfig; let json = JSON.parse(configStr); let tableConfig = json.tableConfig; @@ -117,19 +117,19 @@ export class SpSdkChart { return tablesMap; } - private createSliceSql(startTime: number, tableName: string, columns: Array, where?: string): string { + private createSliceSql(startTime: number, tableName: string, columns: Array, where?: string): string { let sliceSelectSql = 'select '; for (let i = 0; i < columns.length; i++) { - let column = columns[i]; - if (column.column === 'start_ts') { + let column = columns[i];//@ts-ignore + if (column.column === 'start_ts') {//@ts-ignore column.column = `(start_ts - ${startTime}) AS start_ts`; - } - if (column.column === 'end_ts') { + }//@ts-ignore + if (column.column === 'end_ts') {//@ts-ignore column.column = `(end_ts - ${startTime}) AS end_ts`; } - if (i === columns.length - 1) { + if (i === columns.length - 1) {//@ts-ignore sliceSelectSql = `${sliceSelectSql + column.column} `; - } else { + } else {//@ts-ignore sliceSelectSql = `${sliceSelectSql + column.column}, `; } } @@ -148,16 +148,16 @@ export class SpSdkChart { return selectSql; } - private createSql(startTime: number, tableName: string, columns: Array, where?: string): string { + private createSql(startTime: number, tableName: string, columns: Array, where?: string): string { let selectSql = 'select '; for (let i = 0; i < columns.length; i++) { - let column = columns[i]; - if (column.column === 'ts') { + let column = columns[i];//@ts-ignore + if (column.column === 'ts') {//@ts-ignore column.column = `ts - ${startTime} AS ts`; } - if (i === columns.length - 1) { + if (i === columns.length - 1) {//@ts-ignore selectSql = `${selectSql + column.column} `; - } else { + } else {//@ts-ignore selectSql = `${selectSql + column.column}, `; } } @@ -179,9 +179,9 @@ export class SpSdkChart { let tableKeys = tablesMap.keys(); for (let componentId of tableKeys) { let table = tablesMap.get(componentId); - if (table !== null) { - let nodeRow = this.initNodeRow(componentId, table[0].name); - for (let index = 0; index < table.length; index++) { + if (table !== null) {//@ts-ignore + let nodeRow = this.initNodeRow(componentId, table[0].name);//@ts-ignore + for (let index = 0; index < table.length; index++) {//@ts-ignore let sqlMap = table[index]; if (sqlMap.type === 'counter') { let result = await querySdkCount(sqlMap.countSql, componentId); @@ -241,12 +241,12 @@ export class SpSdkChart { private initCounter = async ( nodeRow: TraceRow, index: number, - result: any, - sqlMap: any, + result: unknown, + sqlMap: unknown, componentId: number - ): Promise => { + ): Promise => {//@ts-ignore let traceRow = this.initCounterChartRow(componentId, nodeRow.expansion, result.counter_id, result.counter_name); - traceRow.supplier = async (): Promise => + traceRow.supplier = async (): Promise =>//@ts-ignore querySdkCounterData(sqlMap.chartSql, result.counter_id, componentId); traceRow.focusHandler = (): void => { this.trace?.displayTip( @@ -257,7 +257,7 @@ export class SpSdkChart { }; traceRow.findHoverStruct = (): void => { CounterStruct.hoverCounterStruct = traceRow.getHoverStruct(); - }; + };//@ts-ignore let maxList = await queryCounterMax(sqlMap.maxSql, result.counter_id, componentId); let maxCounter = maxList[0].max_value; traceRow.onThreadHandler = (useCache: boolean): void => { @@ -378,20 +378,20 @@ export class SpSdkChart { private initSlice = async ( nodeRow: TraceRow, index: number, - result: any, - sqlMap: any, + result: unknown, + sqlMap: unknown, componentId: number ): Promise => { let traceRow = this.initSliceChartRow( nodeRow.expansion, - nodeRow.rowId!, - result.slice_id, + nodeRow.rowId!,//@ts-ignore + result.slice_id,//@ts-ignore result.slice_name, componentId ); traceRow.supplier = async (): Promise => - querySdkSliceData( - sqlMap.chartSql, + querySdkSliceData(//@ts-ignore + sqlMap.chartSql,//@ts-ignore result.slice_id, TraceRow.range?.startNS || 0, TraceRow.range?.endNS || 0, diff --git a/ide/src/trace/component/chart/SpVmTrackerChart.ts b/ide/src/trace/component/chart/SpVmTrackerChart.ts index ab8c8bd4f..5f18fec14 100644 --- a/ide/src/trace/component/chart/SpVmTrackerChart.ts +++ b/ide/src/trace/component/chart/SpVmTrackerChart.ts @@ -285,8 +285,8 @@ export class VmTrackerChart { let sMapsTraceRow = this.initTraceRow(rowName, TraceRow.ROW_TYPE_VM_TRACKER_SMAPS, 'smapsRow'); sMapsTraceRow.rowHidden = !this.sMapsFolder.expansion; sMapsTraceRow.folderTextLeft = 40; - sMapsTraceRow.supplierFrame = (): Promise> => { - return sMapsDataSender(this.getSmapsKeyName(rowName), sMapsTraceRow).then((sMaps: any[]) => { + sMapsTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return sMapsDataSender(this.getSmapsKeyName(rowName), sMapsTraceRow).then((sMaps: unknown[]) => { this.setName(sMaps); return sMaps; }); @@ -296,8 +296,8 @@ export class VmTrackerChart { private initShmRows = async (): Promise => { let shmTraceRow = this.initTraceRow('SHM', TraceRow.ROW_TYPE_VMTRACKER_SHM, 'VmTrackerRow'); - shmTraceRow.supplierFrame = (): Promise> => { - return shmDataSender(this.memoryConfig.iPid, shmTraceRow).then((shmData: any[]) => { + shmTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return shmDataSender(this.memoryConfig.iPid, shmTraceRow).then((shmData: unknown[]) => { this.setName(shmData); return shmData; }); @@ -307,8 +307,8 @@ export class VmTrackerChart { private async initPurgeableTotal(): Promise { let totalTraceRow = this.initTraceRow('Purgeable Total', TraceRow.ROW_TYPE_PURGEABLE_TOTAL_VM, 'VmTrackerRow'); - totalTraceRow.supplierFrame = (): Promise> => { - return purgeableDataSender(this.memoryConfig.iPid, totalTraceRow, false).then((purgeableTotalData: any[]) => { + totalTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return purgeableDataSender(this.memoryConfig.iPid, totalTraceRow, false).then((purgeableTotalData: unknown[]) => { this.setName(purgeableTotalData); return purgeableTotalData; }); @@ -318,8 +318,8 @@ export class VmTrackerChart { private async initPurgeablePin(): Promise { let pinTraceRow = this.initTraceRow('Purgeable Pin', TraceRow.ROW_TYPE_PURGEABLE_PIN_VM, 'VmTrackerRow'); - pinTraceRow.supplierFrame = (): Promise> => { - return purgeableDataSender(this.memoryConfig.iPid, pinTraceRow, true).then((purgeablePinData: any[]) => { + pinTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return purgeableDataSender(this.memoryConfig.iPid, pinTraceRow, true).then((purgeablePinData: unknown[]) => { this.setName(purgeablePinData); return purgeablePinData; }); @@ -343,8 +343,8 @@ export class VmTrackerChart { private initDmaRow = async (): Promise => { let dmaTraceRow = this.initTraceRow('DMA', TraceRow.ROW_TYPE_DMA_VMTRACKER, 'VmTrackerRow'); - dmaTraceRow.supplierFrame = (): Promise> => { - return dmaDataSender(this.memoryConfig.iPid, dmaTraceRow).then((dmaData: any[]) => { + dmaTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return dmaDataSender(this.memoryConfig.iPid, dmaTraceRow).then((dmaData: unknown[]) => { this.setName(dmaData); return dmaData; }); @@ -360,8 +360,8 @@ export class VmTrackerChart { ); gpuMemoryTraceRow.rowHidden = !this.gpuFolder.expansion; gpuMemoryTraceRow.folderTextLeft = 40; - gpuMemoryTraceRow.supplierFrame = (): Promise> => { - return gpuMemoryDataSender(this.memoryConfig.iPid, gpuMemoryTraceRow).then((gpuMemoryData: any[]) => { + gpuMemoryTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return gpuMemoryDataSender(this.memoryConfig.iPid, gpuMemoryTraceRow).then((gpuMemoryData: unknown[]) => { this.setName(gpuMemoryData); return gpuMemoryData; }); @@ -377,10 +377,11 @@ export class VmTrackerChart { ); gpuMemoryTraceRow.rowHidden = !this.gpuFolder.expansion; gpuMemoryTraceRow.folderTextLeft = 40; - gpuMemoryTraceRow.supplierFrame = (): Promise> => { - return gpuResourceDataSender(scratchId, gpuMemoryTraceRow).then((gpuResourceData: any[]) => { + gpuMemoryTraceRow.supplierFrame = (): Promise> => {//@ts-ignore + return gpuResourceDataSender(scratchId, gpuMemoryTraceRow).then((gpuResourceData: unknown[]) => { this.setName(gpuResourceData); - // 将泳道图数据传递给Native Heap Tab页 + // 将泳道图数据传递给Native Heap Tab页 + //@ts-ignore this.smapsRecordTab!.GLESHostCache = gpuResourceData; return gpuResourceData; }); @@ -392,8 +393,8 @@ export class VmTrackerChart { let graphRow = this.initTraceRow('Graph', TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GRAPH, this.gpuFolder.rowId!); graphRow.addTemplateTypes('sys-memory'); graphRow.folderTextLeft = 40; - graphRow.supplierFrame = (): Promise => { - return gpuGpuDataSender(this.memoryConfig.iPid, '\'mem.graph_pss\'', graphRow).then((graphData: any[]) => { + graphRow.supplierFrame = (): Promise => {//@ts-ignore + return gpuGpuDataSender(this.memoryConfig.iPid, '\'mem.graph_pss\'', graphRow).then((graphData: unknown[]) => { this.setName(graphData); return graphData; }); @@ -405,8 +406,8 @@ export class VmTrackerChart { let glRow = this.initTraceRow('GL', TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GL, this.gpuFolder.rowId!); glRow.addTemplateTypes('sys-memory'); glRow.folderTextLeft = 40; - glRow.supplierFrame = (): Promise => { - return gpuGpuDataSender(this.memoryConfig.iPid, '\'mem.gl_pss\'', glRow).then((glData: any[]) => { + glRow.supplierFrame = (): Promise => {//@ts-ignore + return gpuGpuDataSender(this.memoryConfig.iPid, '\'mem.gl_pss\'', glRow).then((glData: unknown[]) => { this.setName(glData); return glData; }); @@ -463,8 +464,8 @@ export class VmTrackerChart { gpuTotalRow.drawFrame(); } }; - gpuTotalRow.supplierFrame = (): Promise> => { - return gpuTotalDataSender(VmTrackerChart.gpuTotalModule, gpuTotalRow).then((gpuTotalData: any[]) => { + gpuTotalRow.supplierFrame = (): Promise> => {//@ts-ignore + return gpuTotalDataSender(VmTrackerChart.gpuTotalModule, gpuTotalRow).then((gpuTotalData: unknown[]) => { this.setName(gpuTotalData); return gpuTotalData; }); @@ -525,9 +526,9 @@ export class VmTrackerChart { gpuWindowRow.drawFrame(); } }; - gpuWindowRow.supplierFrame = (): Promise => { + gpuWindowRow.supplierFrame = (): Promise => {//@ts-ignore return gpuWindowDataSender(VmTrackerChart.gpuWindow!, VmTrackerChart.gpuWindowModule, gpuWindowRow).then( - (gpuWindowData: any[]) => { + (gpuWindowData: unknown[]) => { this.setName(gpuWindowData); return gpuWindowData; } @@ -583,9 +584,9 @@ export class VmTrackerChart { ); } - private setName(data: Array): void { + private setName(data: Array): void { if (data.length > 0) { - data.forEach((item, index) => { + data.forEach((item, index) => {//@ts-ignore item.name = `SnapShot ${index}`; }); } diff --git a/ide/src/trace/component/chart/VSync.ts b/ide/src/trace/component/chart/VSync.ts index ffbf14e2c..2fd1ff587 100644 --- a/ide/src/trace/component/chart/VSync.ts +++ b/ide/src/trace/component/chart/VSync.ts @@ -145,8 +145,8 @@ export function enableVSync(press: boolean, ev: KeyboardEvent, handler?: Functio function ns2x(ns: number, width: number): number { let startNS = TraceRow.range?.startNS || 0; let endNS = TraceRow.range?.endNS || 0; - if (endNS === 0) { - endNS = (window as any).totalNS; + if (endNS === 0) {//@ts-ignore + endNS = (window as unknown).totalNS; } let xWidth: number = ((ns - startNS) * width) / (endNS - startNS); if (xWidth < 0) { diff --git a/ide/src/trace/component/schedulingAnalysis/CheckCpuSetting.ts b/ide/src/trace/component/schedulingAnalysis/CheckCpuSetting.ts index 64cd1df71..493a97f5b 100644 --- a/ide/src/trace/component/schedulingAnalysis/CheckCpuSetting.ts +++ b/ide/src/trace/component/schedulingAnalysis/CheckCpuSetting.ts @@ -57,7 +57,7 @@ export class CheckCpuSetting extends BaseElement { init(): void { this.initDefaultSetting(); - let data: any[] = []; + let data: unknown[] = []; this.table!.innerHTML = ''; this.createHeaderDiv(); for (let i = 0; i < SpSchedulingAnalysis.cpuCount; i++) { diff --git a/ide/src/trace/component/schedulingAnalysis/DrawerCpuTabs.ts b/ide/src/trace/component/schedulingAnalysis/DrawerCpuTabs.ts index 66263b73c..76723ac52 100644 --- a/ide/src/trace/component/schedulingAnalysis/DrawerCpuTabs.ts +++ b/ide/src/trace/component/schedulingAnalysis/DrawerCpuTabs.ts @@ -36,11 +36,11 @@ export class DrawerCpuTabs extends BaseElement { this.tabCpuDetailsIdle = this.shadowRoot?.querySelector('#tab-cpu-details-idle'); this.tabCpuDetailsIrq = this.shadowRoot?.querySelector('#tab-cpu-details-irq'); - this.tabs!.onTabClick = (e: any): void => { - if (e.detail.key === '1') { - this.tabCpuDetailsIdle?.init(this.cpuNumber); + this.tabs!.onTabClick = (e: unknown): void => {//@ts-ignore + if (e.detail.key === '1') {//@ts-ignore + this.tabCpuDetailsIdle?.init(this.cpuNumber);//@ts-ignore } else if (e.detail.key === '2') { - this.tabCpuDetailsFrequency?.init(this.cpuNumber); + this.tabCpuDetailsFrequency?.init(this.cpuNumber);//@ts-ignore } else if (e.detail.key === '3') { this.tabCpuDetailsIrq?.init(this.cpuNumber); } diff --git a/ide/src/trace/component/schedulingAnalysis/SpSchedulingAnalysis.ts b/ide/src/trace/component/schedulingAnalysis/SpSchedulingAnalysis.ts index c1d706bed..43c92bc20 100644 --- a/ide/src/trace/component/schedulingAnalysis/SpSchedulingAnalysis.ts +++ b/ide/src/trace/component/schedulingAnalysis/SpSchedulingAnalysis.ts @@ -44,17 +44,17 @@ export class SpSchedulingAnalysis extends BaseElement { SpSchedulingAnalysis.traceChange = true; CheckCpuSetting.resetCpuSettings(); Top20FrequencyThread.threads = undefined; - procedurePool.submitWithName('logic0', 'scheduling-clearData', {}, undefined, (res: any): void => {}); + procedurePool.submitWithName('logic0', 'scheduling-clearData', {}, undefined, (res: unknown): void => {}); } init(): void { if (SpSchedulingAnalysis.traceChange) { SpSchedulingAnalysis.traceChange = false; - this.tabs!.activekey = '1'; - SpSchedulingAnalysis.startTs = (window as any).recordStartNS; - SpSchedulingAnalysis.endTs = (window as any).recordEndNS; - SpSchedulingAnalysis.totalDur = SpSchedulingAnalysis.endTs - SpSchedulingAnalysis.startTs; - SpSchedulingAnalysis.cpuCount = (window as any).cpuCount; + this.tabs!.activekey = '1';//@ts-ignore + SpSchedulingAnalysis.startTs = (window as unknown).recordStartNS;//@ts-ignore + SpSchedulingAnalysis.endTs = (window as unknown).recordEndNS; + SpSchedulingAnalysis.totalDur = SpSchedulingAnalysis.endTs - SpSchedulingAnalysis.startTs;//@ts-ignore + SpSchedulingAnalysis.cpuCount = (window as unknown).cpuCount; this.tabCpuAnalysis?.init(); this.tabThreadAnalysis?.init(); } diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts index 43a833e7c..562ad7db5 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuAnalysis.ts @@ -50,8 +50,8 @@ export class TabCpuAnalysis extends BaseElement { this.drawerCpuTabs = this.shadowRoot?.querySelector('#drawer-cpu-tabs'); this.schedulingSelect!.onchange = (e): void => { this.loadingPieData = true; - this.progress!.loading = this.loadingUsage || this.loadingPieData; - this.queryPieChartDataByType((e as any).detail.text); + this.progress!.loading = this.loadingUsage || this.loadingPieData;//@ts-ignore + this.queryPieChartDataByType((e as unknown).detail.text); }; this.drawer!.onClose = (): void => { this.drawerCpuTabs!.clearData(); @@ -74,7 +74,7 @@ export class TabCpuAnalysis extends BaseElement { this.loadingUsage = true; this.loadingPieData = true; this.progress!.loading = this.loadingUsage || this.loadingPieData; - this.queryLogicWorker('scheduling-getCpuUsage', 'query Cpu Usage Time:', (res): void => { + this.queryLogicWorker('scheduling-getCpuUsage', 'query Cpu Usage Time:', (res): void => {//@ts-ignore if (res && res.length > 0) { this.cpuUsageGrid!.innerHTML = ''; this.cpuUsageGrid!.append(this.createUsageItem('usage', '%')); @@ -110,7 +110,7 @@ export class TabCpuAnalysis extends BaseElement { this.queryLogicWorker(`scheduling-${type}`, `query ${type} Analysis Time:`, (res): void => { for (let key of this.cpuPieMap.keys()) { this.cpuPieMap.get(key)!.config = { - appendPadding: 10, + appendPadding: 10,//@ts-ignore data: res.get(key) || [], angleField: 'sum', colorField: 'value', @@ -125,8 +125,8 @@ export class TabCpuAnalysis extends BaseElement { label: { type: 'outer', color: - type !== 'CPU Idle' ? undefined : (it): string => { - return pieChartColors[(it as any).value]; + type !== 'CPU Idle' ? undefined : (it): string => {//@ts-ignore + return pieChartColors[(it as unknown).value]; }, }, interactions: [ @@ -141,7 +141,7 @@ export class TabCpuAnalysis extends BaseElement { }); } - queryLogicWorker(cpuAnalysisType: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(cpuAnalysisType: string, log: string, handler: (res: unknown) => void): void { let cpuAnalysisTime = new Date().getTime(); procedurePool.submitWithName( 'logic0', @@ -157,7 +157,7 @@ export class TabCpuAnalysis extends BaseElement { info(log, durTime); } - createUsageItem(name: string, value: any): HTMLDivElement { + createUsageItem(name: string, value: unknown): HTMLDivElement { let div = document.createElement('div'); div.className = 'usage_item_box'; div.innerHTML = `
${name}
${value}
`; diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts index a266c3282..551208875 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsFrequency.ts @@ -37,7 +37,7 @@ export class TabCpuDetailsFrequency extends BaseElement { private cpuDetailsFrequencyUsageTbl: LitTable | null | undefined; private tabCpuDetailsThreads: TabCpuDetailsThreads | null | undefined; private cpu: number = 0; - private cpuDetailsFrequencyData: Array = []; + private cpuDetailsFrequencyData: Array = []; private cpuDetailsFrequencySortColumn: string = ''; private sortType: number = 0; @@ -48,28 +48,28 @@ export class TabCpuDetailsFrequency extends BaseElement { this.cpuDetailsFrequencyUsageTbl = this.shadowRoot!.querySelector('#fre-tb-cpu-usage'); this.tabCpuDetailsThreads = this.shadowRoot!.querySelector('#tab-cpu-details-threads'); - this.cpuDetailsFrequencyUsageTbl!.addEventListener('row-click', (evt: any): void => { + this.cpuDetailsFrequencyUsageTbl!.addEventListener('row-click', (evt: unknown): void => {//@ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - this.cpuDetailsFrequencyUsageTbl!.addEventListener('column-click', (evt: any): void => { - this.cpuDetailsFrequencySortColumn = evt.detail.key; + this.cpuDetailsFrequencyUsageTbl!.addEventListener('column-click', (evt: unknown): void => {//@ts-ignore + this.cpuDetailsFrequencySortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); }); - this.cpuDetailsFrequencyUsageTbl!.addEventListener('row-hover', (evt: any): void => { - if (evt.detail.data) { + this.cpuDetailsFrequencyUsageTbl!.addEventListener('row-hover', (evt: unknown): void => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.cpuDetailsFrequencyPie?.showHover(); @@ -88,7 +88,7 @@ export class TabCpuDetailsFrequency extends BaseElement { this.cpuDetailsFrequencyProgress!.loading = true; this.queryLoginWorker(`scheduling-${type}`, 'query Cpu Frequency Analysis Time:', (res) => { this.traceChange = true; - this.cpuDetailsFrequencyProgress!.loading = false; + this.cpuDetailsFrequencyProgress!.loading = false;//@ts-ignore this.cpuDetailsFrequencyData = res.get(cpu) || []; this.cpuDetailsFrequencyData = getDataNo(this.cpuDetailsFrequencyData); this.tableNoData!.noData = this.cpuDetailsFrequencyData.length === 0; @@ -169,7 +169,7 @@ export class TabCpuDetailsFrequency extends BaseElement { } } - queryLoginWorker(cpuFrequencyType: string, log: string, handler: (res: any) => void): void { + queryLoginWorker(cpuFrequencyType: string, log: string, handler: (res: unknown) => void): void { let cpuDetailsFrequencyTime = new Date().getTime(); procedurePool.submitWithName( 'logic0', @@ -185,39 +185,40 @@ export class TabCpuDetailsFrequency extends BaseElement { info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(cpuDetailsFrequencyProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[cpuDetailsFrequencyProperty]) - parseFloat(a[cpuDetailsFrequencyProperty]) : + return sort === 2 ? parseFloat(b[cpuDetailsFrequencyProperty]) - parseFloat(a[cpuDetailsFrequencyProperty]) ://@ts-ignore parseFloat(a[cpuDetailsFrequencyProperty]) - parseFloat(b[cpuDetailsFrequencyProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[cpuDetailsFrequencyProperty].toString().localeCompare(a[cpuDetailsFrequencyProperty].toString()); - } else { + } else {//@ts-ignore return a[cpuDetailsFrequencyProperty].toString().localeCompare(b[cpuDetailsFrequencyProperty].toString()); } } }; } - if (detail.key === 'min') { - detail.key = 'minValue'; + //@ts-ignore + if (detail.key === 'min') {//@ts-ignore + detail.key = 'minValue';//@ts-ignore + this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'max') {//@ts-ignore + detail.key = 'maxValue';//@ts-ignore + this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'avg') {//@ts-ignore + detail.key = 'avgValue';//@ts-ignore + this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'sumTimeStr') {//@ts-ignore + detail.key = 'sum';//@ts-ignore + this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'value' || detail.key === 'ratio' || detail.key === 'index') {//@ts-ignore this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'max') { - detail.key = 'maxValue'; - this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'avg') { - detail.key = 'avgValue'; - this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'sumTimeStr') { - detail.key = 'sum'; - this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'value' || detail.key === 'ratio' || detail.key === 'index') { - this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.cpuDetailsFrequencyData.sort(compare(detail.key, detail.sort, 'string')); } this.cpuDetailsFrequencyUsageTbl!.recycleDataSource = this.cpuDetailsFrequencyData; diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts index 05d11bdf6..9b4c3ee6c 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIdle.ts @@ -34,7 +34,7 @@ export class TabCpuDetailsIdle extends BaseElement { private cpuDetailsLdlProgress: LitProgressBar | null | undefined; traceChange: boolean = false; private cpuDetailsLdlPie: LitChartPie | null | undefined; - private cpuDetailsLdlData: Array = []; + private cpuDetailsLdlData: Array = []; private cpuDetailsLdlSortColumn: string = ''; private sortType: number = 0; @@ -44,29 +44,29 @@ export class TabCpuDetailsIdle extends BaseElement { this.cpuDetailsLdlPie = this.shadowRoot!.querySelector('#cpu_idle_chart-pie'); this.cpuDetailsLdlUsageTbl = this.shadowRoot!.querySelector('#idle-tb-cpu-usage'); - this.cpuDetailsLdlUsageTbl!.addEventListener('row-click', (evt: any): void => { + this.cpuDetailsLdlUsageTbl!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - this.cpuDetailsLdlUsageTbl!.addEventListener('column-click', (evt: any): void => { - this.cpuDetailsLdlSortColumn = evt.detail.key; + this.cpuDetailsLdlUsageTbl!.addEventListener('column-click', (evt: unknown): void => {//@ts-ignore + this.cpuDetailsLdlSortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); }); - this.cpuDetailsLdlUsageTbl!.addEventListener('row-hover', (evt: any): void => { - if (evt.detail.data) { + this.cpuDetailsLdlUsageTbl!.addEventListener('row-hover', (evt: unknown): void => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.cpuDetailsLdlPie?.showHover(); @@ -84,7 +84,7 @@ export class TabCpuDetailsIdle extends BaseElement { this.cpuDetailsLdlProgress!.loading = true; this.queryLoginWorker(`scheduling-${type}`, 'query Cpu Frequency Analysis Time:', (res): void => { this.traceChange = true; - this.cpuDetailsLdlProgress!.loading = false; + this.cpuDetailsLdlProgress!.loading = false;//@ts-ignore this.cpuDetailsLdlData = res.get(cpu) || []; this.cpuDetailsLdlData = getDataNo(this.cpuDetailsLdlData); this.tableNoData!.noData = this.cpuDetailsLdlData.length === 0; @@ -112,8 +112,8 @@ export class TabCpuDetailsIdle extends BaseElement { label: { type: 'outer', color: - type !== 'CPU Idle' ? undefined : (it): string => { - return pieChartColors[(it as any).value]; + type !== 'CPU Idle' ? undefined : (it): string => {//@ts-ignore + return pieChartColors[(it as unknown).value]; }, }, hoverHandler: (data): void => { @@ -154,7 +154,7 @@ export class TabCpuDetailsIdle extends BaseElement { this.noData(false); } - queryLoginWorker(idleType: string, log: string, handler: (res: any) => void): void { + queryLoginWorker(idleType: string, log: string, handler: (res: unknown) => void): void { let cpuDetailsldleTime = new Date().getTime(); procedurePool.submitWithName( 'logic0', @@ -170,39 +170,40 @@ export class TabCpuDetailsIdle extends BaseElement { info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(cpuDetailsLdlProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[cpuDetailsLdlProperty]) - parseFloat(a[cpuDetailsLdlProperty]) : + return sort === 2 ? parseFloat(b[cpuDetailsLdlProperty]) - parseFloat(a[cpuDetailsLdlProperty]) ://@ts-ignore parseFloat(a[cpuDetailsLdlProperty]) - parseFloat(b[cpuDetailsLdlProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[cpuDetailsLdlProperty].toString().localeCompare(a[cpuDetailsLdlProperty].toString()); - } else { + } else {//@ts-ignore return a[cpuDetailsLdlProperty].toString().localeCompare(b[cpuDetailsLdlProperty].toString()); } } }; } - if (detail.key === 'min') { - detail.key = 'minValue'; + //@ts-ignore + if (detail.key === 'min') {//@ts-ignore + detail.key = 'minValue';//@ts-ignore + this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'max') {//@ts-ignore + detail.key = 'maxValue';//@ts-ignore + this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'avg') {//@ts-ignore + detail.key = 'avgValue';//@ts-ignore + this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'sumTimeStr') {//@ts-ignore + detail.key = 'sum';//@ts-ignore + this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'value' || detail.key === 'ratio' || detail.key === 'index') {//@ts-ignore this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'max') { - detail.key = 'maxValue'; - this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'avg') { - detail.key = 'avgValue'; - this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'sumTimeStr') { - detail.key = 'sum'; - this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'value' || detail.key === 'ratio' || detail.key === 'index') { - this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.cpuDetailsLdlData.sort(compare(detail.key, detail.sort, 'string')); } this.cpuDetailsLdlUsageTbl!.recycleDataSource = this.cpuDetailsLdlData; diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts index 58d994cb0..225283a3e 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsIrq.ts @@ -33,7 +33,7 @@ export class TabCpuDetailsIrq extends BaseElement { private cpuDetailsLrqProgress: LitProgressBar | null | undefined; traceChange: boolean = false; private cpuDetailsLrqPie: LitChartPie | null | undefined; - private cpuDetailsLrqData: Array = []; + private cpuDetailsLrqData: Array = []; private cpuDetailsLrqSortColumn: string = ''; private sortType: number = 0; @@ -43,29 +43,29 @@ export class TabCpuDetailsIrq extends BaseElement { this.cpuDetailsLrqPie = this.shadowRoot!.querySelector('#chart-pie'); this.cpuDetailsLrqUsageTbl = this.shadowRoot!.querySelector('#tb-cpu-irq'); - this.cpuDetailsLrqUsageTbl!.addEventListener('row-click', (evt: any) => { + this.cpuDetailsLrqUsageTbl!.addEventListener('row-click', (evt: unknown) => { // @ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - this.cpuDetailsLrqUsageTbl!.addEventListener('column-click', (evt: any) => { - this.cpuDetailsLrqSortColumn = evt.detail.key; + this.cpuDetailsLrqUsageTbl!.addEventListener('column-click', (evt: unknown) => {//@ts-ignore + this.cpuDetailsLrqSortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); }); - this.cpuDetailsLrqUsageTbl!.addEventListener('row-hover', (evt: any) => { - if (evt.detail.data) { + this.cpuDetailsLrqUsageTbl!.addEventListener('row-hover', (evt: unknown) => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.cpuDetailsLrqPie?.showHover(); @@ -83,7 +83,7 @@ export class TabCpuDetailsIrq extends BaseElement { this.cpuDetailsLrqProgress!.loading = true; this.queryLoginWorker(`scheduling-${type}`, 'query Cpu Frequency Analysis Time:', (res) => { this.traceChange = true; - this.cpuDetailsLrqProgress!.loading = false; + this.cpuDetailsLrqProgress!.loading = false;//@ts-ignore this.cpuDetailsLrqData = res.get(cpu) || []; this.cpuDetailsLrqData = getDataNo(this.cpuDetailsLrqData); this.tableNoData!.noData = this.cpuDetailsLrqData.length === 0; @@ -150,7 +150,7 @@ export class TabCpuDetailsIrq extends BaseElement { this.noData(false); } - queryLoginWorker(irqType: string, log: string, handler: (res: any) => void): void { + queryLoginWorker(irqType: string, log: string, handler: (res: unknown) => void): void { let cpuDetailsLrqTime = new Date().getTime(); procedurePool.submitWithName( 'logic0', @@ -166,39 +166,40 @@ export class TabCpuDetailsIrq extends BaseElement { info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(cpuDetailsLrqProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[cpuDetailsLrqProperty]) - parseFloat(a[cpuDetailsLrqProperty]) : + return sort === 2 ? parseFloat(b[cpuDetailsLrqProperty]) - parseFloat(a[cpuDetailsLrqProperty]) ://@ts-ignore parseFloat(a[cpuDetailsLrqProperty]) - parseFloat(b[cpuDetailsLrqProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[cpuDetailsLrqProperty].toString().localeCompare(a[cpuDetailsLrqProperty].toString()); - } else { + } else {//@ts-ignore return a[cpuDetailsLrqProperty].toString().localeCompare(b[cpuDetailsLrqProperty].toString()); } } }; } - if (detail.key === 'min') { - detail.key = 'minValue'; + //@ts-ignore + if (detail.key === 'min') {//@ts-ignore + detail.key = 'minValue';//@ts-ignore + this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'max') {//@ts-ignore + detail.key = 'maxValue';//@ts-ignore + this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'avg') {//@ts-ignore + detail.key = 'avgValue';//@ts-ignore + this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'sumTimeStr') {//@ts-ignore + detail.key = 'sum';//@ts-ignore + this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'ratio' || detail.key === 'index') {//@ts-ignore this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'max') { - detail.key = 'maxValue'; - this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'avg') { - detail.key = 'avgValue'; - this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'sumTimeStr') { - detail.key = 'sum'; - this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'ratio' || detail.key === 'index') { - this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.cpuDetailsLrqData.sort(compare(detail.key, detail.sort, 'string')); } this.cpuDetailsLrqUsageTbl!.recycleDataSource = this.cpuDetailsLrqData; diff --git a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts index d79b6cae7..d13d73bb7 100644 --- a/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts +++ b/ide/src/trace/component/schedulingAnalysis/TabCpuDetailsThreads.ts @@ -30,7 +30,7 @@ export class TabCpuDetailsThreads extends BaseElement { private cpuDetailsThreadUsageTbl: LitTable | null | undefined; private progress: LitProgressBar | null | undefined; private cpuDetailsThreadPie: LitChartPie | null | undefined; - private data: Array = []; + private data: Array = []; private cpuDetailsThreadSortColumn: string = ''; private sortType: number = 0; @@ -47,45 +47,45 @@ export class TabCpuDetailsThreads extends BaseElement { } }; - this.cpuDetailsThreadUsageTbl!.addEventListener('row-click', (evt: any): void => { + this.cpuDetailsThreadUsageTbl!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - this.cpuDetailsThreadUsageTbl!.addEventListener('column-click', (evt: any): void => { - this.cpuDetailsThreadSortColumn = evt.detail.key; + this.cpuDetailsThreadUsageTbl!.addEventListener('column-click', (evt: unknown): void => {//@ts-ignore + this.cpuDetailsThreadSortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); }); - this.cpuDetailsThreadUsageTbl!.addEventListener('row-hover', (evt: any): void => { - if (evt.detail.data) { + this.cpuDetailsThreadUsageTbl!.addEventListener('row-hover', (evt: unknown): void => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.cpuDetailsThreadPie?.showHover(); }); } - init(cpu: number, it: any): void { - this.shadowRoot!.querySelector('.cpu-thread-subheading')!.textContent = + init(cpu: number, it: unknown): void { + this.shadowRoot!.querySelector('.cpu-thread-subheading')!.textContent = //@ts-ignore `Threads in Freq ${it.value}`; this.progress!.loading = true; procedurePool.submitWithName( 'logic0', - 'scheduling-CPU Frequency Thread', - { cpu: cpu, freq: (it as any).value }, + 'scheduling-CPU Frequency Thread',//@ts-ignore + { cpu: cpu, freq: (it as unknown).value }, undefined, - (res: any): void => { + (res: unknown): void => { this.progress!.loading = false; this.queryPieChartDataByType(res); } @@ -101,7 +101,7 @@ export class TabCpuDetailsThreads extends BaseElement { } } - queryPieChartDataByType(res: any): void { + queryPieChartDataByType(res: unknown): void {//@ts-ignore this.data = res || []; this.data = getDataNo(this.data); this.tableNoData!.noData = this.data.length === 0; @@ -158,36 +158,37 @@ export class TabCpuDetailsThreads extends BaseElement { this.noData(false); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(cpuDetailsThreadProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[cpuDetailsThreadProperty]) - parseFloat(a[cpuDetailsThreadProperty]) : + return sort === 2 ? parseFloat(b[cpuDetailsThreadProperty]) - parseFloat(a[cpuDetailsThreadProperty]) ://@ts-ignore parseFloat(a[cpuDetailsThreadProperty]) - parseFloat(b[cpuDetailsThreadProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[cpuDetailsThreadProperty].toString().localeCompare(a[cpuDetailsThreadProperty].toString()); - } else { + } else {//@ts-ignore return a[cpuDetailsThreadProperty].toString().localeCompare(b[cpuDetailsThreadProperty].toString()); } } }; } - if (detail.key === 'durStr') { - detail.key = 'dur'; + //@ts-ignore + if (detail.key === 'durStr') {//@ts-ignore + detail.key = 'dur';//@ts-ignore this.data.sort(compare(detail.key, detail.sort, 'number')); - } else if ( - detail.key === 'value' || - detail.key === 'ratio' || - detail.key === 'index' || - detail.key === 'tid' || + } else if (//@ts-ignore + detail.key === 'value' ||//@ts-ignore + detail.key === 'ratio' ||//@ts-ignore + detail.key === 'index' ||//@ts-ignore + detail.key === 'tid' ||//@ts-ignore detail.key === 'pid' - ) { + ) {//@ts-ignore this.data.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.data.sort(compare(detail.key, detail.sort, 'string')); } this.cpuDetailsThreadUsageTbl!.recycleDataSource = this.data; diff --git a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts index 6e690334c..507975047 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts @@ -40,7 +40,7 @@ export class Top20FrequencyThread extends BaseElement { private frequencyThreadProgress: LitProgressBar | null | undefined; private nodata: TableNoData | null | undefined; private currentTid: number = 0; - private frequencyThreadData: Array = []; + private frequencyThreadData: Array = []; private sortColumn: string = ''; private sortType: number = 0; @@ -52,33 +52,33 @@ export class Top20FrequencyThread extends BaseElement { this.threadSelect = this.shadowRoot!.querySelector('#thread_select'); this.frequencyThreadPie = this.shadowRoot!.querySelector('#pie'); - this.threadSelect!.onchange = (e): void => { - this.currentThread!.textContent = (e as any).detail.text; - this.currentTid = parseInt((e as any).detail.value); + this.threadSelect!.onchange = (e): void => {//@ts-ignore + this.currentThread!.textContent = (e as unknown).detail.text;//@ts-ignore + this.currentTid = parseInt((e as unknown).detail.value); this.frequencyThreadProgress!.loading = true; this.queryData(); }; - this.frequencyThreadTbl!.addEventListener('row-click', (evt: any): void => { + this.frequencyThreadTbl!.addEventListener('row-click', (evt: unknown): void => {//@ts-ignore let data = evt.detail.data; - data.isSelected = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isSelected = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } }); - this.frequencyThreadTbl!.addEventListener('column-click', (evt: any): void => { - this.sortColumn = evt.detail.key; + this.frequencyThreadTbl!.addEventListener('column-click', (evt: unknown): void => {//@ts-ignore + this.sortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); }); - this.frequencyThreadTbl!.addEventListener('row-hover', (evt: any): void => { - if (evt.detail.data) { + this.frequencyThreadTbl!.addEventListener('row-hover', (evt: unknown): void => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.frequencyThreadPie?.showHover(); @@ -86,30 +86,31 @@ export class Top20FrequencyThread extends BaseElement { this.frequencyThreadTbl!.itemTextHandleMap.set('freq', (value) => (value === -1 ? 'unknown' : value)); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(frequencyThreadProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[frequencyThreadProperty]) - parseFloat(a[frequencyThreadProperty]) : + return sort === 2 ? parseFloat(b[frequencyThreadProperty]) - parseFloat(a[frequencyThreadProperty]) ://@ts-ignore parseFloat(a[frequencyThreadProperty]) - parseFloat(b[frequencyThreadProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[frequencyThreadProperty].toString().localeCompare(a[frequencyThreadProperty].toString()); - } else { + } else {//@ts-ignore return a[frequencyThreadProperty].toString().localeCompare(b[frequencyThreadProperty].toString()); } } }; } - if (detail.key === 'timeStr') { - detail.key = 'time'; + //@ts-ignore + if (detail.key === 'timeStr') {//@ts-ignore + detail.key = 'time';//@ts-ignore + this.frequencyThreadData.sort(compare(detail.key, detail.sort, 'number'));//@ts-ignore + } else if (detail.key === 'no' || detail.key === 'cpu' || detail.key === 'freq' || detail.key === 'ratio') {//@ts-ignore this.frequencyThreadData.sort(compare(detail.key, detail.sort, 'number')); - } else if (detail.key === 'no' || detail.key === 'cpu' || detail.key === 'freq' || detail.key === 'ratio') { - this.frequencyThreadData.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.frequencyThreadData.sort(compare(detail.key, detail.sort, 'string')); } this.frequencyThreadTbl!.recycleDataSource = this.frequencyThreadData; @@ -148,18 +149,18 @@ export class Top20FrequencyThread extends BaseElement { this.nodata!.noData = Top20FrequencyThread.threads === undefined || Top20FrequencyThread.threads.length === 0 || - res === undefined || + res === undefined ||//@ts-ignore res.length === 0; - (res as any[]).map((it: any, index: number): void => { + (res as unknown[]).map((it: unknown, index: number): void => {//@ts-ignore it.no = index + 1; - }); + });//@ts-ignore this.frequencyThreadData = res; if (this.sortColumn !== '') { this.sortByColumn({ key: this.sortColumn, sort: this.sortType, }); - } else { + } else {//@ts-ignore this.frequencyThreadTbl!.recycleDataSource = res; } this.frequencyThreadTbl!.reMeauseHeight(); @@ -169,9 +170,9 @@ export class Top20FrequencyThread extends BaseElement { }); } - private setThreadPieConfig(res: any): void { + private setThreadPieConfig(res: unknown): void { this.frequencyThreadPie!.config = { - appendPadding: 10, + appendPadding: 10,//@ts-ignore data: this.getPieChartData(res), angleField: 'time', colorField: 'freq', @@ -204,10 +205,10 @@ export class Top20FrequencyThread extends BaseElement { }; } - getPieChartData(res: any[]): any[] { + getPieChartData(res: unknown[]): unknown[] { if (res.length > 20) { - let pieChartArr: any[] = []; - let other: any = { + let pieChartArr: unknown[] = []; + let other: unknown = { cpu: '-', freq: 'other', time: 0, @@ -217,10 +218,10 @@ export class Top20FrequencyThread extends BaseElement { for (let i = 0; i < res.length; i++) { if (i < 19) { pieChartArr.push(res[i]); - } else { - other.time += res[i].time; - other.timeStr = getProbablyTime(other.time); - other.totalDur = res[i].totalDur; + } else {//@ts-ignore + other.time += res[i].time;//@ts-ignore + other.timeStr = getProbablyTime(other.time);//@ts-ignore + other.totalDur = res[i].totalDur;//@ts-ignore other.ratio = ((other.time / other.totalDur) * 100).toFixed(2); } } @@ -237,7 +238,7 @@ export class Top20FrequencyThread extends BaseElement { this.frequencyThreadTbl!.recycleDataSource = []; } - queryLogicWorker(option: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(option: string, log: string, handler: (res: unknown) => void): void { let frequencyThreadTime = new Date().getTime(); procedurePool.submitWithName('logic0', option, { tid: this.currentTid }, undefined, handler); let durTime = new Date().getTime() - frequencyThreadTime; diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts b/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts index e41dbafdc..191255984 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ProcessSwitchCount.ts @@ -30,7 +30,7 @@ export class Top20ProcessSwitchCount extends BaseElement { private processSwitchCountPie: LitChartPie | null | undefined; private processSwitchCountProgress: LitProgressBar | null | undefined; private nodata: TableNoData | null | undefined; - private processSwitchCountData: Array = []; + private processSwitchCountData: Array = []; initElements(): void { this.nodata = this.shadowRoot!.querySelector('#nodata'); @@ -38,13 +38,13 @@ export class Top20ProcessSwitchCount extends BaseElement { this.processSwitchCountTbl = this.shadowRoot!.querySelector('#tb-process-switch-count'); this.processSwitchCountPie = this.shadowRoot!.querySelector('#pie'); - this.processSwitchCountTbl!.addEventListener('row-click', (evt: any): void => { + this.processSwitchCountTbl!.addEventListener('row-click', (evt: unknown): void => {//@ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); @@ -52,12 +52,12 @@ export class Top20ProcessSwitchCount extends BaseElement { // @ts-ignore this.sortByColumn(evt.detail); }); - this.processSwitchCountTbl!.addEventListener('row-hover', (evt: any): void => { - if (evt.detail.data) { + this.processSwitchCountTbl!.addEventListener('row-hover', (evt: unknown): void => {//@ts-ignore + if (evt.detail.data) {//@ts-ignore let data = evt.detail.data; - data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + data.isHover = true;//@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.processSwitchCountPie?.showHover(); @@ -73,13 +73,13 @@ export class Top20ProcessSwitchCount extends BaseElement { } this.traceChange = false; this.processSwitchCountProgress!.loading = true; - this.queryLogicWorker('scheduling-Process SwitchCount', 'query Process Switch Count Analysis Time:', (res): void => { - this.nodata!.noData = res === undefined || res.length === 0; - this.processSwitchCountTbl!.recycleDataSource = res; + this.queryLogicWorker('scheduling-Process SwitchCount', 'query Process Switch Count Analysis Time:', (res): void => {//@ts-ignore + this.nodata!.noData = res === undefined || res.length === 0;//@ts-ignore + this.processSwitchCountTbl!.recycleDataSource = res;//@ts-ignore this.processSwitchCountData = res; this.processSwitchCountTbl?.reMeauseHeight(); this.processSwitchCountPie!.config = { - appendPadding: 10, + appendPadding: 10,//@ts-ignore data: res, angleField: 'switchCount', colorField: 'pid', @@ -118,34 +118,35 @@ export class Top20ProcessSwitchCount extends BaseElement { this.processSwitchCountTbl!.recycleDataSource = []; } - queryLogicWorker(option: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(option: string, log: string, handler: (res: unknown) => void): void { let processSwitchCountTime = new Date().getTime(); procedurePool.submitWithName('logic0', option, {}, undefined, handler); let durTime = new Date().getTime() - processSwitchCountTime; info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(processSwitchCountProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore - return sort === 2 ? parseFloat(b[processSwitchCountProperty]) - parseFloat(a[processSwitchCountProperty]) : + return sort === 2 ? parseFloat(b[processSwitchCountProperty]) - parseFloat(a[processSwitchCountProperty]) ://@ts-ignore parseFloat(a[processSwitchCountProperty]) - parseFloat(b[processSwitchCountProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[processSwitchCountProperty].toString().localeCompare(a[processSwitchCountProperty].toString()); - } else { + } else {//@ts-ignore return a[processSwitchCountProperty].toString().localeCompare(b[processSwitchCountProperty].toString()); } } }; } - if (detail.key === 'NO' || detail.key === 'pid' || detail.key === 'switchCount' || detail.key === 'tid') { + //@ts-ignore + if (detail.key === 'NO' || detail.key === 'pid' || detail.key === 'switchCount' || detail.key === 'tid') {//@ts-ignore this.processSwitchCountData.sort(compare(detail.key, detail.sort, 'number')); - } else { + } else {//@ts-ignore this.processSwitchCountData.sort(compare(detail.key, detail.sort, 'string')); } this.processSwitchCountTbl!.recycleDataSource = this.processSwitchCountData; diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts b/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts index f7fc9acba..41d68add2 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ProcessThreadCount.ts @@ -31,7 +31,7 @@ export class Top20ProcessThreadCount extends BaseElement { private processThreadCountPie: LitChartPie | null | undefined; private processThreadCountProgress: LitProgressBar | null | undefined; private nodata: TableNoData | null | undefined; - private processThreadCountData: Array = []; + private processThreadCountData: Array = []; initElements(): void { this.nodata = this.shadowRoot!.querySelector('#nodata'); @@ -39,13 +39,14 @@ export class Top20ProcessThreadCount extends BaseElement { this.processThreadCountTbl = this.shadowRoot!.querySelector('#tb-process-thread-count'); this.processThreadCountPie = this.shadowRoot!.querySelector('#pie'); - this.processThreadCountTbl!.addEventListener('row-click', (evt: any): void => { + this.processThreadCountTbl!.addEventListener('row-click', (evt: unknown): void => { + //@ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); @@ -53,12 +54,15 @@ export class Top20ProcessThreadCount extends BaseElement { // @ts-ignore this.sortByColumn(evt.detail); }); - this.processThreadCountTbl!.addEventListener('row-hover', (evt: any): void => { + this.processThreadCountTbl!.addEventListener('row-hover', (evt: unknown): void => { + //@ts-ignore if (evt.detail.data) { + //@ts-ignore let data = evt.detail.data; data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + //@ts-ignore + if ((evt.detail as unknown).callBack) {//@ts-ignore + (evt.detail as unknown).callBack(true); } } this.processThreadCountPie?.showHover(); @@ -75,12 +79,16 @@ export class Top20ProcessThreadCount extends BaseElement { this.traceChange = false; this.processThreadCountProgress!.loading = true; this.queryLogicWorker('scheduling-Process ThreadCount', 'query Process Thread Count Analysis Time:', (res): void => { + //@ts-ignore this.nodata!.noData = res === undefined || res.length === 0; + //@ts-ignore this.processThreadCountTbl!.recycleDataSource = res; this.processThreadCountTbl!.reMeauseHeight(); + //@ts-ignore this.processThreadCountData = res; this.processThreadCountPie!.config = { appendPadding: 10, + //@ts-ignore data: res, angleField: 'threadNumber', colorField: 'pid', @@ -119,34 +127,38 @@ export class Top20ProcessThreadCount extends BaseElement { this.processThreadCountTbl!.recycleDataSource = []; } - queryLogicWorker(option: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(option: string, log: string, handler: (res: unknown) => void): void { let processThreadCountTime = new Date().getTime(); procedurePool.submitWithName('logic0', option, {}, undefined, handler); let durTime = new Date().getTime() - processThreadCountTime; info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(processThreadCountProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore return sort === 2 ? parseFloat(b[processThreadCountProperty]) - parseFloat(a[processThreadCountProperty]) : + //@ts-ignore parseFloat(a[processThreadCountProperty]) - parseFloat(b[processThreadCountProperty]); } else { - if (sort === 2) { + if (sort === 2) {//@ts-ignore return b[processThreadCountProperty].toString().localeCompare(a[processThreadCountProperty].toString()); - } else { + } else {//@ts-ignore return a[processThreadCountProperty].toString().localeCompare(b[processThreadCountProperty].toString()); } } }; } + //@ts-ignore if (detail.key === 'NO' || detail.key === 'pid' || detail.key === 'threadNumber') { + //@ts-ignore this.processThreadCountData.sort(compare(detail.key, detail.sort, 'number')); } else { + //@ts-ignore this.processThreadCountData.sort(compare(detail.key, detail.sort, 'string')); } this.processThreadCountTbl!.recycleDataSource = this.processThreadCountData; diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ThreadCpuUsage.ts b/ide/src/trace/component/schedulingAnalysis/Top20ThreadCpuUsage.ts index a189b7692..a479b5918 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ThreadCpuUsage.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ThreadCpuUsage.ts @@ -46,11 +46,11 @@ export class Top20ThreadCpuUsage extends BaseElement { private progress: LitProgressBar | null | undefined; private nodata: TableNoData | null | undefined; private map: Map | undefined; - private data: Array = []; - private dataBig: Array = []; - private dataMid: Array = []; - private dataSmall: Array = []; - private sort: any = { + private data: Array = []; + private dataBig: Array = []; + private dataMid: Array = []; + private dataSmall: Array = []; + private sort: unknown = { total: { key: '', sort: 0 }, small: { key: '', sort: 0 }, mid: { key: '', sort: 0 }, @@ -107,18 +107,23 @@ export class Top20ThreadCpuUsage extends BaseElement { this.cpuSetting = this.shadowRoot!.querySelector('#cpu_setting'); this.cpuSetting!.cpuSetListener = (): void => { this.cpuSetting!.style.display = 'none'; - (this.shadowRoot!.querySelector('#total')! as any).style.display = 'grid'; - (this.shadowRoot!.querySelector('#small')! as any).style.display = + //@ts-ignore + (this.shadowRoot!.querySelector('#total')! as unknown).style.display = 'grid'; + //@ts-ignore + (this.shadowRoot!.querySelector('#small')! as unknown).style.display = CheckCpuSetting.small_cores.length > 0 ? 'grid' : 'none'; - (this.shadowRoot!.querySelector('#mid')! as any).style.display = + //@ts-ignore + (this.shadowRoot!.querySelector('#mid')! as unknown).style.display = CheckCpuSetting.mid_cores.length > 0 ? 'grid' : 'none'; - (this.shadowRoot!.querySelector('#big')! as any).style.display = + //@ts-ignore + (this.shadowRoot!.querySelector('#big')! as unknown).style.display = CheckCpuSetting.big_cores.length > 0 ? 'grid' : 'none'; this.queryData(); }; this.setting?.addEventListener('click', (): void => { for (let node of this.shadowRoot!.querySelectorAll('.content_grid')) { - (node as any).style.display = 'none'; + //@ts-ignore + (node as unknown).style.display = 'none'; } this.cpuSetting!.style.display = 'inline'; this.cpuSetting?.init(); @@ -130,34 +135,45 @@ export class Top20ThreadCpuUsage extends BaseElement { for (let key of this.map!.keys()) { let tab = this.map!.get(key)!.table; let chart = this.map!.get(key)!.chart; - tab!.addEventListener('row-click', (evt: any): void => { + tab!.addEventListener('row-click', (evt: unknown): void => { + //@ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); - tab!.addEventListener('column-click', (evt: any): void => { + tab!.addEventListener('column-click', (evt: unknown): void => { + //@ts-ignore this.sort[key].key = evt.detail.key; + //@ts-ignore this.sort[key].sort = evt.detail.sort; if (key === 'total') { + //@ts-ignore this.sortByColumn(evt.detail, tab, this.data); } else if (key === 'small') { + //@ts-ignore this.sortByColumn(evt.detail, tab, this.dataSmall); } else if (key === 'mid') { + //@ts-ignore this.sortByColumn(evt.detail, tab, this.dataMid); } else if (key === 'big') { + //@ts-ignore this.sortByColumn(evt.detail, tab, this.dataBig); } }); - tab!.addEventListener('row-hover', (evt: any): void => { + tab!.addEventListener('row-hover', (evt: unknown): void => { + //@ts-ignore if (evt.detail.data) { + //@ts-ignore let data = evt.detail.data; data.isHover = true; - if ((evt.detail as any).callBack) { - (evt.detail as any).callBack(true); + //@ts-ignore + if ((evt.detail as unknown).callBack) { + //@ts-ignore + (evt.detail as unknown).callBack(true); } chart.showHoverColumn(data.no); } @@ -165,18 +181,21 @@ export class Top20ThreadCpuUsage extends BaseElement { } } - sortByColumn(detail: any, table: LitTable | null | undefined, data: Array): void { + sortByColumn(detail: unknown, table: LitTable | null | undefined, data: Array): void { // @ts-ignore function compare(threadCpuUsageProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore return sort === 2 ? parseFloat(b[threadCpuUsageProperty]) - parseFloat(a[threadCpuUsageProperty]) : + //@ts-ignore parseFloat(a[threadCpuUsageProperty]) - parseFloat(b[threadCpuUsageProperty]); } else { if (sort === 2) { + //@ts-ignore return b[threadCpuUsageProperty].toString().localeCompare(a[threadCpuUsageProperty].toString()); } else { + //@ts-ignore return a[threadCpuUsageProperty].toString().localeCompare(b[threadCpuUsageProperty].toString()); } } @@ -185,23 +204,36 @@ export class Top20ThreadCpuUsage extends BaseElement { let type = 'number'; + //@ts-ignore if (detail.key === 'bigTimeStr') { + //@ts-ignore detail.key = 'big'; + //@ts-ignore } else if (detail.key === 'midTimeStr') { + //@ts-ignore detail.key = 'mid'; + //@ts-ignore } else if (detail.key === 'smallTimeStr') { + //@ts-ignore detail.key = 'small'; } else if ( + //@ts-ignore detail.key === 'bigPercent' || + //@ts-ignore detail.key === 'ratio' || + //@ts-ignore detail.key === 'tid' || + //@ts-ignore detail.key === 'pid' || + //@ts-ignore detail.key === 'midPercent' || + //@ts-ignore detail.key.includes('cpu') ) { } else { type = 'string'; } + //@ts-ignore data.sort(compare(detail.key, detail.sort, type)); table!.recycleDataSource = data; } @@ -229,7 +261,8 @@ export class Top20ThreadCpuUsage extends BaseElement { if (!CheckCpuSetting.init_setting) { for (let node of this.shadowRoot!.querySelectorAll('.content_grid')) { - (node as any).style.display = 'none'; + //@ts-ignore + (node as unknown).style.display = 'none'; } this.cpuSetting!.style.display = 'inline'; this.cpuSetting?.init(); @@ -249,34 +282,52 @@ export class Top20ThreadCpuUsage extends BaseElement { queryData(): void { this.progress!.loading = true; this.queryLogicWorker('scheduling-Thread CpuUsage', 'query Thread Cpu Usage Analysis Time:', (res): void => { + //@ts-ignore this.nodata!.noData = res.keys().length === 0; for (let key of this.map!.keys()) { let obj = this.map!.get(key)!; - let source: any[] = res.get(key) || []; - source = source.map((it: any, index: number) => { - let data: any = { + //@ts-ignore + let source: unknown[] = res.get(key) || []; + source = source.map((it: unknown, index: number) => { + let data: unknown = { + //@ts-ignore pid: it.pid, + //@ts-ignore pName: it.pName, + //@ts-ignore tid: it.tid, + //@ts-ignore tName: it.tName, + //@ts-ignore total: it.total, + //@ts-ignore big: it.big, + //@ts-ignore mid: it.mid, + //@ts-ignore small: it.small, no: index + 1, visible: 1, + //@ts-ignore bigPercent: it.bigPercent, + //@ts-ignore midPercent: it.midPercent, + //@ts-ignore smallPercent: it.smallPercent, + //@ts-ignore bigTimeStr: it.bigTimeStr, + //@ts-ignore midTimeStr: it.midTimeStr, + //@ts-ignore smallTimeStr: it.smallTimeStr, hideHandler: (): void => { + //@ts-ignore let arr = source.filter((o) => o.visible === 1); obj.chart.dataSource = this.getArrayDataBySize(key, arr); }, }; for (let i = 0; i < SpSchedulingAnalysis.cpuCount; i++) { + //@ts-ignore data[`cpu${i}`] = (it[`cpu${i}`] || 0) / 1000; } return data; @@ -288,7 +339,7 @@ export class Top20ThreadCpuUsage extends BaseElement { }); } - private assignmentData(key: string, source: any[], obj: { chart: LitChartColumn; table: LitTable }): void { + private assignmentData(key: string, source: unknown[], obj: { chart: LitChartColumn; table: LitTable }): void { if (key === 'total') { this.data = source; } else if (key === 'small') { @@ -298,25 +349,27 @@ export class Top20ThreadCpuUsage extends BaseElement { } else if (key === 'big') { this.dataBig = source; } + //@ts-ignore if (this.sort[key].key !== '') { + //@ts-ignore this.sortByColumn(this.sort[key], obj.table, source); } else { obj.table.recycleDataSource = source; } } - private setChartConfig(obj: { chart: LitChartColumn; table: LitTable }, key: string, source: any[]): void { + private setChartConfig(obj: { chart: LitChartColumn; table: LitTable }, key: string, source: unknown[]): void { obj.chart.config = { data: this.getArrayDataBySize(key, source), appendPadding: 10, xField: 'tid', yField: 'total', seriesField: key === 'total' ? 'size' : '', - color: (a): string => { + color: (a): string => {//@ts-ignore if (a.size === 'big core') { - return '#2f72f8'; + return '#2f72f8';//@ts-ignore } else if (a.size === 'middle core') { - return '#ffab67'; + return '#ffab67';//@ts-ignore } else if (a.size === 'small core') { return '#a285d2'; } else { @@ -326,10 +379,10 @@ export class Top20ThreadCpuUsage extends BaseElement { hoverHandler: (no): void => { this.setHover(source, no, obj); }, - tip: (a): string => { + tip: (a): string => {//@ts-ignore if (a && a[0]) { let tip = ''; - let total = 0; + let total = 0;//@ts-ignore for (let obj of a) { total += obj.obj.total; tip = `${tip} @@ -341,9 +394,11 @@ export class Top20ThreadCpuUsage extends BaseElement { `; } tip = `
-
tid:${a[0].obj.tid}
+
tid:${//@ts-ignore + a[0].obj.tid}
${tip} - ${a.length > 1 ? `
total:${getProbablyTime(total)}
` : ''} + ${//@ts-ignore + a.length > 1 ? `
total:${getProbablyTime(total)}
` : ''}
`; return tip; } else { @@ -354,9 +409,11 @@ export class Top20ThreadCpuUsage extends BaseElement { }; } - private setHover(source: any[], no: number, obj: { chart: LitChartColumn; table: LitTable }): void { + private setHover(source: unknown[], no: number, obj: { chart: LitChartColumn; table: LitTable }): void { + //@ts-ignore let data = source.find((it) => it.no === no); if (data) { + //@ts-ignore data.isHover = true; obj.table!.setCurrentHover(data); } else { @@ -364,48 +421,48 @@ export class Top20ThreadCpuUsage extends BaseElement { } } - getArrayDataBySize(type: string, arr: Array): any[] { - let data: any[] = []; + getArrayDataBySize(type: string, arr: Array): unknown[] { + let data: unknown[] = []; for (let obj of arr) { if (type === 'total') { - data.push({ - pid: obj.pid, - pName: obj.pName, - tid: obj.tid, - tName: obj.tName, + data.push({//@ts-ignore + pid: obj.pid,//@ts-ignore + pName: obj.pName,//@ts-ignore + tid: obj.tid,//@ts-ignore + tName: obj.tName,//@ts-ignore total: obj.big, - size: 'big core', - no: obj.no, + size: 'big core',//@ts-ignore + no: obj.no,//@ts-ignore timeStr: obj.bigTimeStr, }); - data.push({ - pid: obj.pid, - pName: obj.pName, - tid: obj.tid, - tName: obj.tName, + data.push({//@ts-ignore + pid: obj.pid,//@ts-ignore + pName: obj.pName,//@ts-ignore + tid: obj.tid,//@ts-ignore + tName: obj.tName,//@ts-ignore total: obj.mid, - size: 'middle core', - no: obj.no, + size: 'middle core',//@ts-ignore + no: obj.no,//@ts-ignore timeStr: obj.midTimeStr, }); - data.push({ - pid: obj.pid, - pName: obj.pName, - tid: obj.tid, - tName: obj.tName, + data.push({//@ts-ignore + pid: obj.pid,//@ts-ignore + pName: obj.pName,//@ts-ignore + tid: obj.tid,//@ts-ignore + tName: obj.tName,//@ts-ignore total: obj.small, - size: 'small core', - no: obj.no, + size: 'small core',//@ts-ignore + no: obj.no,//@ts-ignore timeStr: obj.smallTimeStr, }); } else { - data.push({ - pid: obj.pid, - pName: obj.pName, - tid: obj.tid, - tName: obj.tName, - total: obj[type], - no: obj.no, + data.push({//@ts-ignore + pid: obj.pid,//@ts-ignore + pName: obj.pName,//@ts-ignore + tid: obj.tid,//@ts-ignore + tName: obj.tName,//@ts-ignore + total: obj[type],//@ts-ignore + no: obj.no,//@ts-ignore timeStr: obj[`${type}TimeStr`], }); } @@ -413,7 +470,7 @@ export class Top20ThreadCpuUsage extends BaseElement { return data; } - queryLogicWorker(option: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(option: string, log: string, handler: (res: unknown) => void): void { let time = new Date().getTime(); procedurePool.submitWithName( 'logic0', diff --git a/ide/src/trace/component/schedulingAnalysis/Top20ThreadRunTime.ts b/ide/src/trace/component/schedulingAnalysis/Top20ThreadRunTime.ts index c50f3edeb..8fc544447 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20ThreadRunTime.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20ThreadRunTime.ts @@ -29,20 +29,21 @@ export class Top20ThreadRunTime extends BaseElement { private threadRunTimeTbl: LitTable | null | undefined; private threadRunTimeProgress: LitProgressBar | null | undefined; private nodata: TableNoData | null | undefined; - private threadRunTimeData: Array = []; + private threadRunTimeData: Array = []; initElements(): void { this.threadRunTimeProgress = this.shadowRoot!.querySelector('#loading'); this.threadRunTimeTbl = this.shadowRoot!.querySelector('#tb-thread-run-time'); this.nodata = this.shadowRoot!.querySelector('#nodata'); - this.threadRunTimeTbl!.addEventListener('row-click', (evt: any): void => { + this.threadRunTimeTbl!.addEventListener('row-click', (evt: unknown): void => { + //@ts-ignore let data = evt.detail.data; data.isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }); @@ -62,10 +63,13 @@ export class Top20ThreadRunTime extends BaseElement { this.threadRunTimeProgress!.loading = true; this.traceChange = false; this.queryLogicWorker('scheduling-Thread RunTime', 'query Thread Cpu Run Time Analysis Time:', (res): void => { + //@ts-ignore this.nodata!.noData = res === undefined || res.length === 0; + //@ts-ignore this.threadRunTimeTbl!.recycleDataSource = res; this.threadRunTimeTbl?.reMeauseHeight(); this.threadRunTimeProgress!.loading = false; + //@ts-ignore this.threadRunTimeData = res; }); } @@ -75,43 +79,56 @@ export class Top20ThreadRunTime extends BaseElement { this.threadRunTimeTbl!.recycleDataSource = []; } - queryLogicWorker(option: string, log: string, handler: (res: any) => void): void { + queryLogicWorker(option: string, log: string, handler: (res: unknown) => void): void { let threadRunTime = new Date().getTime(); procedurePool.submitWithName('logic0', option, { cpuMax: SpSchedulingAnalysis.cpuCount - 1 }, undefined, handler); let durTime = new Date().getTime() - threadRunTime; info(log, durTime); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(threadRunTimeProperty, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { if (type === 'number') { // @ts-ignore return sort === 2 ? parseFloat(b[threadRunTimeProperty]) - parseFloat(a[threadRunTimeProperty]) : + //@ts-ignore parseFloat(a[threadRunTimeProperty]) - parseFloat(b[threadRunTimeProperty]); } else { if (sort === 2) { + //@ts-ignore return b[threadRunTimeProperty].toString().localeCompare(a[threadRunTimeProperty].toString()); } else { + //@ts-ignore return a[threadRunTimeProperty].toString().localeCompare(b[threadRunTimeProperty].toString()); } } }; } + //@ts-ignore if (detail.key === 'maxDurationStr') { + //@ts-ignore detail.key = 'maxDuration'; + //@ts-ignore this.threadRunTimeData.sort(compare(detail.key, detail.sort, 'number')); } else if ( + //@ts-ignore detail.key === 'cpu' || + //@ts-ignore detail.key === 'no' || + //@ts-ignore detail.key === 'pid' || + //@ts-ignore detail.key === 'tid' || + //@ts-ignore detail.key === 'timestamp' ) { + //@ts-ignore this.threadRunTimeData.sort(compare(detail.key, detail.sort, 'number')); } else { + //@ts-ignore this.threadRunTimeData.sort(compare(detail.key, detail.sort, 'string')); } this.threadRunTimeTbl!.recycleDataSource = this.threadRunTimeData; diff --git a/ide/src/trace/component/schedulingAnalysis/utils/Utils.ts b/ide/src/trace/component/schedulingAnalysis/utils/Utils.ts index 79faf2e17..48bc8c661 100644 --- a/ide/src/trace/component/schedulingAnalysis/utils/Utils.ts +++ b/ide/src/trace/component/schedulingAnalysis/utils/Utils.ts @@ -15,26 +15,32 @@ import { Utils } from '../../trace/base/Utils'; -export const getFormatData = (data: Array): unknown[] => { - let arrData: Array = []; +export const getFormatData = (data: Array): unknown[] => { + let arrData: Array = []; data.forEach((item, idx): void => { arrData.push({ index: idx + 1, + //@ts-ignore ...item, + //@ts-ignore avg: Utils.getProbablyTime(item.avg), + //@ts-ignore max: Utils.getProbablyTime(item.max), + //@ts-ignore min: Utils.getProbablyTime(item.min), + //@ts-ignore sum: Utils.getProbablyTime(item.sum), }); }); return arrData; }; -export const getDataNo = (data: Array): any[] => { - let arrData: Array = []; +export const getDataNo = (data: Array): unknown[] => { + let arrData: Array = []; data.forEach((item, idx): void => { arrData.push({ index: idx + 1, + //@ts-ignore ...item, }); }); diff --git a/ide/src/trace/component/setting/SpHisysEvent.ts b/ide/src/trace/component/setting/SpHisysEvent.ts index b4dd116a4..db403d528 100644 --- a/ide/src/trace/component/setting/SpHisysEvent.ts +++ b/ide/src/trace/component/setting/SpHisysEvent.ts @@ -30,7 +30,7 @@ export class SpHisysEvent extends BaseElement { private sysEventSwitch: LitSwitch | undefined | null; private domainInputEl: HTMLInputElement | undefined | null; private nameInputEl: HTMLInputElement | undefined | null; - private eventConfig: any = {}; + private eventConfig: unknown = {}; set startSamp(start: boolean) { if (start) { @@ -140,8 +140,10 @@ export class SpHisysEvent extends BaseElement { } else { let currentData: string[] = []; if (domain === '' || domain === 'ALL-Domain') { + //@ts-ignore let domainKey = Object.keys(this.eventConfig); domainKey.forEach((item) => { + //@ts-ignore let currentEvent = this.eventConfig[item]; let eventList = Object.keys(currentEvent); currentData.push(...eventList); diff --git a/ide/src/trace/component/setting/SpProbesConfig.ts b/ide/src/trace/component/setting/SpProbesConfig.ts index 69aca33fe..f9c55673f 100644 --- a/ide/src/trace/component/setting/SpProbesConfig.ts +++ b/ide/src/trace/component/setting/SpProbesConfig.ts @@ -152,10 +152,12 @@ export class SpProbesConfig extends BaseElement { private initHiTraceConfigList(): void { this.hitrace = this.shadowRoot?.getElementById('hitrace') as SpCheckDesBox; let parent = this.shadowRoot?.querySelector('.user-events') as Element; - hiTraceConfigList.forEach((hitraceConfig: any) => { + hiTraceConfigList.forEach((hitraceConfig: unknown) => { let litCheckBox = new LitCheckBox(); litCheckBox.setAttribute('name', 'userEvents'); + //@ts-ignore litCheckBox.value = hitraceConfig.value; + //@ts-ignore litCheckBox.checked = hitraceConfig.isSelect; litCheckBox.addEventListener('change', (ev: CustomEventInit) => { let detail = ev.detail; @@ -182,8 +184,10 @@ export class SpProbesConfig extends BaseElement { initElements(): void { this.ftraceBuffSizeResultInput = this.shadowRoot?.querySelector('.ftrace-buff-size-result') as HTMLInputElement; - this.ftraceBuffSizeResultInput!.addEventListener('keydown', (ev: any) => { + this.ftraceBuffSizeResultInput!.addEventListener('keydown', (ev: unknown) => { + //@ts-ignore if (ev.key === '0' && ev.target.value.length === 1 && ev.target.value === '0') { + //@ts-ignore ev.preventDefault(); } }); @@ -194,7 +198,8 @@ export class SpProbesConfig extends BaseElement { this.bufferSizeSliderInit(); let litSwitch = this.shadowRoot?.querySelector('lit-switch') as LitSwitch; this.ftraceSlider = this.shadowRoot?.querySelector('#ftrace-buff-size-slider'); - litSwitch.addEventListener('change', (event: any) => { + litSwitch.addEventListener('change', (event: unknown) => { + //@ts-ignore let detail = event.detail; if (detail!.checked) { this.unDisable(); @@ -290,7 +295,8 @@ export class SpProbesConfig extends BaseElement { this.startSamp = true; let checkDesBoxDis = this.shadowRoot?.querySelectorAll('check-des-box'); let litCheckBoxDis = this.shadowRoot?.querySelectorAll('lit-check-box'); - let defaultSelected: any = []; + let defaultSelected: unknown = []; + //@ts-ignore defaultSelected = defaultSelected.concat(traceConfigList, memoryConfigList, abilityConfigList, hiTraceConfigList); this.shadowRoot?.querySelector('[value=\'Hitrace categories\']')?.setAttribute('checked', 'true'); this.ftraceSlider!.removeAttribute('disabled'); @@ -300,8 +306,11 @@ export class SpProbesConfig extends BaseElement { litCheckBoxDis?.forEach((item: LitCheckBox) => { item.removeAttribute('disabled'); }); - defaultSelected.filter((item: any) => { + //@ts-ignore + defaultSelected.filter((item: unknown) => { + //@ts-ignore if (item.isSelect) { + //@ts-ignore this.shadowRoot?.querySelector(`[value='${item.value}']`)?.setAttribute('checked', 'true'); } }); diff --git a/ide/src/trace/component/setting/SpRecordPerf.ts b/ide/src/trace/component/setting/SpRecordPerf.ts index 03d24cd9d..54cd170cc 100644 --- a/ide/src/trace/component/setting/SpRecordPerf.ts +++ b/ide/src/trace/component/setting/SpRecordPerf.ts @@ -428,11 +428,14 @@ export class SpRecordPerf extends BaseElement { this.disable(); } - private configTypeBySwitch(config: any, recordPerfHeadDiv: HTMLDivElement): void { + private configTypeBySwitch(config: unknown, recordPerfHeadDiv: HTMLDivElement): void { let recordPerfSwitch = document.createElement('lit-switch') as LitSwitch; recordPerfSwitch.className = 'config'; + //@ts-ignore recordPerfSwitch.title = config.title; + //@ts-ignore recordPerfSwitch.checked = !!config.value; + //@ts-ignore if (config.title === 'Start Hiperf Sampling') { recordPerfSwitch.addEventListener('change', (event: CustomEventInit) => { let detail = event.detail; @@ -451,10 +454,12 @@ export class SpRecordPerf extends BaseElement { recordPerfHeadDiv.appendChild(recordPerfSwitch); } - private configTypeBySelect(config: any, recordPerfDiv: HTMLDivElement): void { + private configTypeBySelect(config: unknown, recordPerfDiv: HTMLDivElement): void { let recordPerfSelect = ''; recordPerfSelect += ``; +placement="bottom" title="${//@ts-ignore + config.title}" placeholder="${config.selectArray[0]}">`; + //@ts-ignore config.selectArray.forEach((value: string) => { recordPerfSelect += `${value}`; }); @@ -462,11 +467,14 @@ placement="bottom" title="${config.title}" placeholder="${config.selectArray[0] recordPerfDiv.innerHTML = recordPerfDiv.innerHTML + recordPerfSelect; } - private configTypeByInput(config: any, recordPerfDiv: HTMLDivElement): void { + private configTypeByInput(config: unknown, recordPerfDiv: HTMLDivElement): void { let recordPerfInput = document.createElement('input'); recordPerfInput.className = 'record-perf-input config'; + //@ts-ignore recordPerfInput.textContent = config.value; + //@ts-ignore recordPerfInput.value = config.value; + //@ts-ignore recordPerfInput.title = config.title; recordPerfInput.oninput = (): void => { recordPerfInput.value = recordPerfInput.value.replace(/\D/g, ''); @@ -474,51 +482,66 @@ placement="bottom" title="${config.title}" placeholder="${config.selectArray[0] recordPerfDiv.appendChild(recordPerfInput); } - private configTypeByMmapLitSlider(config: any, recordPerfDiv: HTMLDivElement): void { + private configTypeByMmapLitSlider(config: unknown, recordPerfDiv: HTMLDivElement): void { + //@ts-ignore let defaultValue = Math.pow(2, config.litSliderStyle.defaultValue); let mapsilder = `
`; +class="silderclass config" title="${//@ts-ignore + config.title}">
`; recordPerfDiv.innerHTML = recordPerfDiv.innerHTML + mapsilder; let maplitSlider = recordPerfDiv.querySelector('.silderclass'); + //@ts-ignore maplitSlider!.percent = config.litSliderStyle.defaultValue; let mapsliderBody = recordPerfDiv.querySelector('.sliderBody'); let mapbufferInput = recordPerfDiv?.querySelector('.sliderInput') as HTMLInputElement; maplitSlider!.addEventListener('input', () => { let percnet = mapsliderBody!.getAttribute('percent'); if (percnet !== null) { + //@ts-ignore mapbufferInput.value = Math.pow(2, Number(percnet)) + config.litSliderStyle.resultUnit; } }); + //@ts-ignore maplitSlider!.sliderStyle = config.litSliderStyle; } - private configTypeByLitSlider(config: any, recordPerfDiv: HTMLDivElement): void { + private configTypeByLitSlider(config: unknown, recordPerfDiv: HTMLDivElement): void { let sliderEl = `
+class="silderclass config" title="${//@ts-ignore + config.title}">
`; recordPerfDiv.innerHTML = recordPerfDiv.innerHTML + sliderEl; let litSlider = recordPerfDiv.querySelector('.silderclass'); + //@ts-ignore litSlider!.percent = config.litSliderStyle.defaultValue; let sliderBody = recordPerfDiv.querySelector('.sliderBody'); let bufferInput = recordPerfDiv?.querySelector('.sliderInput') as HTMLInputElement; litSlider!.addEventListener('input', () => { + //@ts-ignore bufferInput.value = sliderBody!.getAttribute('percent') + config.litSliderStyle.resultUnit; }); + //@ts-ignore litSlider!.sliderStyle = config.litSliderStyle; } - private configTypeBySelectMultiple(config: any, recordPerfDiv: HTMLDivElement): void { + private configTypeBySelectMultiple(config: unknown, recordPerfDiv: HTMLDivElement): void { let html = ''; + //@ts-ignore let placeholder = config.selectArray[0]; + //@ts-ignore if (config.title === 'Event List') { placeholder = 'NONE'; } html += ``; +mode="multiple" canInsert="" title="${//@ts-ignore + config.title}" rounded placement = "bottom" placeholder="${placeholder}">`; + //@ts-ignore config.selectArray.forEach((value: string) => { html += `${value}`; }); diff --git a/ide/src/trace/component/setting/SpSdkConfig.ts b/ide/src/trace/component/setting/SpSdkConfig.ts index e40da2b42..10b80565b 100644 --- a/ide/src/trace/component/setting/SpSdkConfig.ts +++ b/ide/src/trace/component/setting/SpSdkConfig.ts @@ -26,7 +26,7 @@ import { SpSdkConfigHtml } from './SpSdkConfig.html'; @element('sp-sdk-config') export class SpSdkConfig extends BaseElement { private worker: Worker | undefined; - private sdkConfigList: any; + private sdkConfigList: unknown; private customConfig: HTMLDivElement | undefined | null; private selectConfig: LitAllocationSelect | undefined | null; private list: Array | undefined; @@ -85,17 +85,22 @@ export class SpSdkConfig extends BaseElement { } } - private wasmMap: Map = new Map(); + private wasmMap: Map = new Map(); private wasmList: Array = []; private changGpu(gpuName: string): void { let config = this.wasmMap.get(gpuName); + //@ts-ignore this.pluginName = config?.pluginName; + //@ts-ignore this.sampleInterval = config?.sampleInterval; let pam = { action: 'open', + //@ts-ignore componentId: config.componentId, + //@ts-ignore wasmJsName: config.wasmJsName, + //@ts-ignore WasmName: config.wasmName, }; this.worker!.postMessage(pam); @@ -156,8 +161,10 @@ export class SpSdkConfig extends BaseElement { this.wasmList = []; let wasmJson = JSON.parse(text); let wasmFiles = wasmJson.WasmFiles; - wasmFiles.forEach((wasmFile: any) => { + wasmFiles.forEach((wasmFile: unknown) => { + //@ts-ignore this.wasmMap.set(wasmFile.disPlayName, wasmFile); + //@ts-ignore this.wasmList.push(wasmFile.disPlayName); }); }); @@ -208,7 +215,9 @@ export class SpSdkConfig extends BaseElement { private sdkConfigByBooleanType(key: string, sdkConfigSwitch: LitSwitch, sdkConfigHeadDiv: HTMLDivElement): void { sdkConfigSwitch.className = 'switch1 config'; sdkConfigSwitch.setAttribute('configName', key); + //@ts-ignore sdkConfigSwitch.setAttribute('type', this.sdkConfigList.configuration[key].type); + //@ts-ignore if (this.sdkConfigList.configuration[key].default === 'true') { sdkConfigSwitch.setAttribute('checked', ''); sdkConfigSwitch.setAttribute('value', 'true'); @@ -223,10 +232,13 @@ export class SpSdkConfig extends BaseElement { private sdkConfigByIntegerType(key: string, sdkConfigDiv: HTMLDivElement, sdkConfigTitle: HTMLSpanElement): void { let input = document.createElement('input'); input.className = 'sdk-config-input config'; + //@ts-ignore if (this.sdkConfigList.configuration[key].default) { + //@ts-ignore input.value = this.sdkConfigList.configuration[key].default; } input.setAttribute('configName', key); + //@ts-ignore input.setAttribute('type', this.sdkConfigList.configuration[key].type); input.oninput = (): void => { input.value = this.checkIntegerInput(input.value); @@ -239,7 +251,9 @@ export class SpSdkConfig extends BaseElement { private sdkConfigByNumberType(key: string, sdkConfigDiv: HTMLDivElement): void { let numberInput = document.createElement('input'); numberInput.className = 'sdk-config-input config'; + //@ts-ignore if (this.sdkConfigList.configuration[key].default) { + //@ts-ignore numberInput.value = this.sdkConfigList.configuration[key].default; } numberInput.setAttribute('configName', key); @@ -253,11 +267,15 @@ export class SpSdkConfig extends BaseElement { private sdkConfigByStringType(key: string, sdkConfigDiv: HTMLDivElement): void { let html = ''; + //@ts-ignore if (this.sdkConfigList.configuration[key].enum) { let placeholder = ''; + //@ts-ignore if (this.sdkConfigList.configuration[key].default) { + //@ts-ignore placeholder = this.sdkConfigList.configuration[key].default; } + //@ts-ignore html += ``; @@ -265,10 +283,13 @@ rounded placement = "bottom" configName ="${key}" placeholder="${placeholder}">< } else { let inputElement = document.createElement('input'); inputElement.className = 'sdk-config-input config'; + //@ts-ignore if (this.sdkConfigList.configuration[key].default) { + //@ts-ignore inputElement.value = this.sdkConfigList.configuration[key].default; } inputElement.setAttribute('configName', key); + //@ts-ignore inputElement.setAttribute('type', this.sdkConfigList.configuration[key].type); sdkConfigDiv.appendChild(inputElement); this.list!.push(inputElement); @@ -280,6 +301,7 @@ rounded placement = "bottom" configName ="${key}" placeholder="${placeholder}">< this.list = []; this.list.push(this.selectConfig!); let sdkConfigSwitch = document.createElement('lit-switch') as LitSwitch; + //@ts-ignore for (let key in this.sdkConfigList.configuration) { let sdkConfigDiv = document.createElement('div'); sdkConfigDiv.className = 'sdk-config-div'; @@ -290,9 +312,11 @@ rounded placement = "bottom" configName ="${key}" placeholder="${placeholder}">< sdkConfigTitle.textContent = key; sdkConfigHeadDiv.appendChild(sdkConfigTitle); let sdkConfigDes = document.createElement('span'); + //@ts-ignore sdkConfigDes.textContent = this.sdkConfigList.configuration[key].description; sdkConfigDes.className = 'sdk-config-des'; sdkConfigHeadDiv.appendChild(sdkConfigDes); + //@ts-ignore switch (this.sdkConfigList.configuration[key].type) { case 'string': this.sdkConfigByStringType(key, sdkConfigDiv); @@ -308,10 +332,13 @@ rounded placement = "bottom" configName ="${key}" placeholder="${placeholder}">< break; } this.customConfig!.appendChild(sdkConfigDiv); + //@ts-ignore if (this.sdkConfigList.configuration[key].enum) { let select = this.shadowRoot!.querySelector(`#${key}`); select!.setAttribute('type', 'enum'); + //@ts-ignore select!.setAttribute('value', this.sdkConfigList.configuration.key.default); + //@ts-ignore select!.dataSource(this.sdkConfigList.configuration.key.enum, ''); this.list.push(select!); select!.addEventListener('click', () => { diff --git a/ide/src/trace/component/setting/SpTraceCommand.ts b/ide/src/trace/component/setting/SpTraceCommand.ts index f3aff15bf..eb3eac999 100644 --- a/ide/src/trace/component/setting/SpTraceCommand.ts +++ b/ide/src/trace/component/setting/SpTraceCommand.ts @@ -49,6 +49,7 @@ export class SpTraceCommand extends BaseElement { document.execCommand('copy'); let allPlugin: Array = []; PluginConvertUtils.pluginConfig.forEach((plugin) => { + //@ts-ignore allPlugin.push(plugin.pluginName); }); SpStatisticsHttpUtil.addOrdinaryVisitAction({ diff --git a/ide/src/trace/component/setting/SpWebHdcShell.ts b/ide/src/trace/component/setting/SpWebHdcShell.ts index 677ac673b..a4b0b3117 100644 --- a/ide/src/trace/component/setting/SpWebHdcShell.ts +++ b/ide/src/trace/component/setting/SpWebHdcShell.ts @@ -79,7 +79,7 @@ export class SpWebHdcShell extends BaseElement { this.sendCallBack(keyboardEvent); } } - }); + });//@ts-ignore window.subscribe(window.SmartEvent.UI.DeviceConnect, (deviceName: string) => { if (deviceName) { this.hdcShellFocus(); diff --git a/ide/src/trace/component/setting/bean/ProfilerServiceTypes.ts b/ide/src/trace/component/setting/bean/ProfilerServiceTypes.ts index 64382a1ec..af47c37b9 100644 --- a/ide/src/trace/component/setting/bean/ProfilerServiceTypes.ts +++ b/ide/src/trace/component/setting/bean/ProfilerServiceTypes.ts @@ -74,7 +74,7 @@ export interface TracePluginConfig { export interface CreateSessionRequest { requestId: number; sessionConfig: ProfilerSessionConfig | undefined; - pluginConfigs: ProfilerPluginConfig[]; + pluginConfigs: ProfilerPluginConfig[]; } export interface ProfilerPluginConfig { @@ -124,7 +124,7 @@ export interface MemoryConfig { reportGpuDumpInfo?: boolean; } -const switchCase = (object: any): SysVMeminfoType => { +const switchCase = (object: unknown): SysVMeminfoType => { if (typeof object === 'number') { let sysVMemInfos = Object.keys(SysVMeminfoType); if (object < 0) { @@ -145,7 +145,7 @@ const switchCase = (object: any): SysVMeminfoType => { } }; -export function sysVMeminfoTypeFromJSON(object: any): SysVMeminfoType { +export function sysVMeminfoTypeFromJSON(object: unknown): SysVMeminfoType { return switchCase(object); } @@ -366,7 +366,7 @@ const sysMemInfo = [ SysMeminfoType.UNRECOGNIZED, ]; -const sysMeminfoCase = (object: any): SysMeminfoType => { +const sysMeminfoCase = (object: unknown): SysMeminfoType => { if (typeof object === 'number') { if (object >= 0) { let sysMemType = sysMemInfo[object]; @@ -385,7 +385,7 @@ const sysMeminfoCase = (object: any): SysMeminfoType => { } }; -export function sysMeminfoTypeFromJSON(object: any): SysMeminfoType { +export function sysMeminfoTypeFromJSON(object: unknown): SysMeminfoType { return sysMeminfoCase(object); } @@ -402,7 +402,7 @@ export interface HilogConfig { needClear: boolean; } -export function levelFromJSON(object: any): Level { +export function levelFromJSON(object: unknown): Level { switch (object) { case 0: case 'LEVEL_UNSPECIFIED': diff --git a/ide/src/trace/component/setting/utils/PluginConvertUtils.ts b/ide/src/trace/component/setting/utils/PluginConvertUtils.ts index da315da4f..cea27c63c 100644 --- a/ide/src/trace/component/setting/utils/PluginConvertUtils.ts +++ b/ide/src/trace/component/setting/utils/PluginConvertUtils.ts @@ -17,38 +17,32 @@ export class PluginConvertUtils { private static crlf: string = '\n'; private static leftBrace: string = '{'; private static rightBrace: string = '}'; - static pluginConfig: any[] = []; + static pluginConfig: unknown[] = []; public static createHdcCmd(requestString: string, outputPath: string, time: number): string { return ( - `hiprofiler_cmd \\${ - this.crlf - } -c - \\${ - this.crlf - } -o ${ - outputPath - } \\${ - this.crlf - } -t ${ - time - } \\${ - this.crlf - } -s \\${ - this.crlf - } -k \\${ - this.crlf - }<= 0 || value.startsWith('IO_REPORT')) { prefixText = `${prefixText + ' '.repeat(spacesNumber).repeat(indentation + 1) + this.humpToSnake(key)}: - ${value.toString()}${this.crlf}`; + + ${//@ts-ignore + value.toString()}${this.crlf}`; } else { prefixText = `${prefixText + ' '.repeat(spacesNumber).repeat(indentation + 1) + - this.humpToSnake(key)}: "${value.toString()}"${this.crlf}`; + this.humpToSnake(key)}: "${ + //@ts-ignore + value.toString()}"${this.crlf}`; } return prefixText; } @@ -189,7 +190,7 @@ export class PluginConvertUtils { key: string, arrValue: any ): string { - return (`${text + ' '.repeat(spacesNumber).repeat(indentation + 1) + + return (`${text + ' '.repeat(spacesNumber).repeat(indentation + 1) + this.humpToSnake(key)}: ${arrValue.toString()}${this.crlf}`); } @@ -224,7 +225,7 @@ export class PluginConvertUtils { ): string { if (arrValue.startsWith('VMEMINFO') || arrValue.startsWith('PMEM')) { text = `${text + ' '.repeat(spacesNumber).repeat(indentation + 1) + - this.humpToSnake(key)}: ${ arrValue.toString()}${this.crlf}`; + this.humpToSnake(key)}: ${arrValue.toString()}${this.crlf}`; } else { text = `${text + ' '.repeat(spacesNumber).repeat(indentation + 1) + this.humpToSnake(key)}: "${arrValue.toString()}"${this.crlf}`; diff --git a/ide/src/trace/component/trace/SpChartList.ts b/ide/src/trace/component/trace/SpChartList.ts index 553fa4da6..a040e7b0b 100644 --- a/ide/src/trace/component/trace/SpChartList.ts +++ b/ide/src/trace/component/trace/SpChartList.ts @@ -77,7 +77,7 @@ export class SpChartList extends BaseElement { this.removeCollectIcon2 = this.shadowRoot?.querySelector('#group_2_collect'); this.rootEl = this.shadowRoot?.querySelector('.root'); this.canvas = this.shadowRoot?.querySelector('.panel-canvas'); - this.canvasCtx = this.canvas?.getContext('2d'); + this.canvasCtx = this.canvas?.getContext('2d');//@ts-ignore window.subscribe(window.SmartEvent.UI.RowHeightChange, (data: { expand: number; value: number }) => { this.resizeHeight(); if (!data.expand) { diff --git a/ide/src/trace/component/trace/TimerShaftElement.ts b/ide/src/trace/component/trace/TimerShaftElement.ts index f67bcd56e..cdce33461 100644 --- a/ide/src/trace/component/trace/TimerShaftElement.ts +++ b/ide/src/trace/component/trace/TimerShaftElement.ts @@ -280,7 +280,7 @@ export class TimerShaftElement extends BaseElement { window.publish(window.SmartEvent.UI.CollectGroupChange, e.target.value); } }); - procedurePool.timelineChange = (a: any): void => this.rangeChangeHandler?.(a); + procedurePool.timelineChange = (a: any): void => this.rangeChangeHandler?.(a);//@ts-ignore window.subscribe(window.SmartEvent.UI.TimeRange, (b) => this.setRangeNS(b.startNS, b.endNS)); // -----------------------------点击负载区展开折叠--------------------------------- this.usageEL = this.shadowRoot?.querySelector('.cpu-usage'); diff --git a/ide/src/trace/component/trace/base/CustomThemeColor.ts b/ide/src/trace/component/trace/base/CustomThemeColor.ts index c6c341e23..b8a884fa9 100644 --- a/ide/src/trace/component/trace/base/CustomThemeColor.ts +++ b/ide/src/trace/component/trace/base/CustomThemeColor.ts @@ -58,8 +58,8 @@ export class CustomThemeColor extends BaseElement { input.value = this.colorsArray![i]; div.appendChild(input); colorsEl?.appendChild(div); - input.addEventListener('change', (evt: any): void => { - input.value = evt?.target.value; + input.addEventListener('change', (evt: unknown): void => {//@ts-ignore + input.value = evt?.target.value;//@ts-ignore this.colorsArray![i] = evt?.target.value; }); } diff --git a/ide/src/trace/component/trace/base/EventCenter.ts b/ide/src/trace/component/trace/base/EventCenter.ts index 004f04a75..a15ecf9c9 100644 --- a/ide/src/trace/component/trace/base/EventCenter.ts +++ b/ide/src/trace/component/trace/base/EventCenter.ts @@ -14,23 +14,23 @@ */ class Event { - map: any; + map: unknown; constructor() { this.map = {}; } - subscribe(event: string, fn: Function): void { - this.map[event] = this.map[event] || []; + subscribe(event: string, fn: Function): void {//@ts-ignore + this.map[event] = this.map[event] || [];//@ts-ignore this.map[event].push(fn); } - publish(event: string, data: any): void { + publish(event: string, data: unknown): void {//@ts-ignore const fnList = this.map[event] || []; if (!fnList || fnList.length === 0) { return; } fnList.forEach((fn: Function) => fn.call(undefined, data)); } - unsubscribe(event: string, fn: Function): void { + unsubscribe(event: string, fn: Function): void {//@ts-ignore const fnList = this.map[event] || []; const index = fnList.indexOf(fn); if (index < 0) { @@ -39,15 +39,15 @@ class Event { fnList.splice(index, 1); } subscribeOnce(event: string, callback: Function): void { - const f = (data: any): void => { + const f = (data: unknown): void => { callback(data); this.unsubscribe(event, f); }; this.subscribe(event, f); } - clearTraceRowComplete(): void { - if (this.map[window.SmartEvent.UI.TraceRowComplete].length > 0) { + clearTraceRowComplete(): void {//@ts-ignore + if (this.map[window.SmartEvent.UI.TraceRowComplete].length > 0) {//@ts-ignore this.map[window.SmartEvent.UI.TraceRowComplete] = []; } } diff --git a/ide/src/trace/component/trace/base/Extension.ts b/ide/src/trace/component/trace/base/Extension.ts index 2652ccbf4..6f642115f 100644 --- a/ide/src/trace/component/trace/base/Extension.ts +++ b/ide/src/trace/component/trace/base/Extension.ts @@ -39,7 +39,7 @@ declare global { } interface Window { - postMessage(message: any, transfer?: Transferable[]): void; + postMessage(message: unknown, transfer?: Transferable[]): void; // queryFromWasm: boolean;//use cache or query from db isLastFrame: boolean; //last frame mast be draw recordStartNS: number; @@ -74,13 +74,13 @@ declare global { }; }; - subscribe(evt: string, fn: (b: any) => void): void; + subscribe(evt: string, fn: (b: unknown) => void): void; - subscribeOnce(evt: string, fn: (b: any) => void): void; + subscribeOnce(evt: string, fn: (b: unknown) => void): void; - unsubscribe(evt: string, fn: (b: any) => void): void; + unsubscribe(evt: string, fn: (b: unknown) => void): void; - publish(evt: string, data: any): void; + publish(evt: string, data: unknown): void; clearTraceRowComplete(): void; } diff --git a/ide/src/trace/component/trace/base/TraceRow.ts b/ide/src/trace/component/trace/base/TraceRow.ts index b674a42d6..a7cd7e072 100644 --- a/ide/src/trace/component/trace/base/TraceRow.ts +++ b/ide/src/trace/component/trace/base/TraceRow.ts @@ -855,7 +855,7 @@ export class TraceRow extends HTMLElement { } else { // @ts-ignore this.rowSettingPop!.visible = false; - } + }//@ts-ignore this.onRowSettingChangeHandler?.(this.rowSettingTree!.getCheckdKeys(), this.rowSettingTree!.getCheckdNodes()); }; } @@ -953,7 +953,7 @@ export class TraceRow extends HTMLElement { isVisible = true; } // @ts-ignore - this.rowSettingPop!.visible = isVisible; + this.rowSettingPop!.visible = isVisible;//@ts-ignore this.onRowSettingChangeHandler?.(this.rowSettingTree!.getCheckdKeys(), this.rowSettingTree!.getCheckdNodes()); }; this.rowSettingPop?.addEventListener('mouseenter', (): void => { @@ -963,7 +963,7 @@ export class TraceRow extends HTMLElement { } getRowSettingKeys(): Array { - if (this.rowSetting === 'enable') { + if (this.rowSetting === 'enable') {//@ts-ignore return this.rowSettingTree!.getCheckdKeys(); } return []; diff --git a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts index 39443acc2..02b7099ac 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts @@ -1649,7 +1649,7 @@ export class TabPaneCurrentSelection extends BaseElement { this.currentSelectionTbl = this.shadowRoot?.querySelector('#selectionTbl'); this.wakeupListTbl = this.shadowRoot?.querySelector('#wakeupListTbl'); this.scrollView = this.shadowRoot?.querySelector('#scroll_view'); - this.currentSelectionTbl?.addEventListener('column-click', (ev: any): void => {}); + this.currentSelectionTbl?.addEventListener('column-click', (ev: any): void => {});//@ts-ignore window.subscribe(window.SmartEvent.UI.WakeupList, (data: Array) => this.showWakeupListTableData(data)); } diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneGpuMemoryAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneGpuMemoryAbility.ts index 0d9134cda..cf4196d17 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneGpuMemoryAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneGpuMemoryAbility.ts @@ -32,10 +32,10 @@ export class TabPaneGpuMemoryAbility extends BaseElement { private gpuMemoryTimeRange: HTMLLabelElement | undefined | null; private total: GpuMemory = new GpuMemory(); - set data(gpuMemoryAbilityValue: SelectionParam | any) { + set data(gpuMemoryAbilityValue: SelectionParam | unknown) {//@ts-ignore if (gpuMemoryAbilityValue.gpuMemoryAbilityData.length > 0) { this.gpuMemoryTimeRange!.textContent = - 'Selected range: ' + + 'Selected range: ' +//@ts-ignore ((gpuMemoryAbilityValue.rightNs - gpuMemoryAbilityValue.leftNs) / 1000000.0).toFixed(5) + ' ms'; this.gpuMemoryTableTbl!.loading = true; @@ -72,7 +72,7 @@ export class TabPaneGpuMemoryAbility extends BaseElement { } } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void {//@ts-ignore getTabGpuMemoryAbilityData(val.leftNs, val.rightNs, (MemoryConfig.getInstance().interval * 1000000) / 5).then( (data) => { this.gpuMemoryTableTbl!.loading = false; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneHistoryProcesses.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneHistoryProcesses.ts index c1cba4ef9..99938a992 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneHistoryProcesses.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneHistoryProcesses.ts @@ -29,7 +29,7 @@ export class TabPaneHistoryProcesses extends BaseElement { private queryHistoryResult: Array = []; private search: HTMLInputElement | undefined | null; - set data(historyProcessValue: SelectionParam | any) { + set data(historyProcessValue: SelectionParam | unknown) { if (this.historyProcessTbl) { // @ts-ignore this.historyProcessTbl.shadowRoot.querySelector('.table').style.height = @@ -54,7 +54,7 @@ export class TabPaneHistoryProcesses extends BaseElement { filterData(): void { if (this.queryHistoryResult.length > 0) { let filterHistory = this.queryHistoryResult.filter((item): boolean => { - let array = this.toProcessHistoryArray(item); + let array = this.toProcessHistoryArray(item);//@ts-ignore let isInclude = array.filter((value): boolean => value.indexOf(this.search!.value) > -1); return isInclude.length > 0; }); @@ -68,7 +68,7 @@ export class TabPaneHistoryProcesses extends BaseElement { } } - toProcessHistoryArray(process: ProcessHistory): any[] { + toProcessHistoryArray(process: ProcessHistory): unknown[] { let array: Array = []; array.push(process.processId.toString()); array.push(process.processName); @@ -81,7 +81,7 @@ export class TabPaneHistoryProcesses extends BaseElement { return array; } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void {//@ts-ignore getTabProcessHistoryData(val.leftNs, val.rightNs, val.processId, val.threadId).then((item): void => { if (item.length !== null && item.length > 0) { log(`getTabProcessHistoryData result size : ${ item.length}`); @@ -162,7 +162,7 @@ export class TabPaneHistoryProcesses extends BaseElement { `; } - compare(property: string, sort: number, type: string): any { + compare(property: string, sort: number, type: string): unknown { let compareValues = (left: number, right: number): number => { if (sort === 2) { return right - left; @@ -195,18 +195,18 @@ export class TabPaneHistoryProcesses extends BaseElement { }; } - sortByColumn(detail: any): void { - let type; + sortByColumn(detail: unknown): void { + let type;//@ts-ignore if (detail.key === 'startTime' || detail.key === 'processName') { - type = 'string'; + type = 'string';//@ts-ignore } else if (detail.key === 'cpuTime') { - type = 'cpuTime'; + type = 'cpuTime';//@ts-ignore } else if (detail.key === 'alive') { type = 'alive'; } else { type = 'number'; - } - let compareFunction = this.compare(detail.key, detail.sort, type); + }//@ts-ignore + let compareFunction = this.compare(detail.key, detail.sort, type);//@ts-ignore this.historyProcessSource.sort(compareFunction); this.historyProcessTbl!.recycleDataSource = this.historyProcessSource; } diff --git a/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts b/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts index 6159b10b2..46f24caa8 100644 --- a/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts +++ b/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts @@ -414,22 +414,23 @@ export class TabPaneBinderDataCut extends BaseElement { seriesField: '', removeUnit: true, notSort: true, - color: (a) => { + color: (a) => {//@ts-ignore if (a.xName === 'Total') { - return '#2f72f8'; + return '#2f72f8';//@ts-ignore } else if (a.xName === 'cycleA') { - return '#ffab67'; + return '#ffab67';//@ts-ignore } else if (a.xName === 'cycleB') { return '#a285d2'; } else { return '#0a59f7'; } }, - tip: (a) => { + tip: (a) => {//@ts-ignore if (a && a[0]) { let tip: string = ''; tip = `
-
Average count: ${a[0].obj.yAverage}
+
Average count: ${//@ts-ignore + a[0].obj.yAverage}
`; return tip; } else { diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts index 764265e1b..b1f6d7436 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts @@ -42,42 +42,42 @@ export class TabPaneNMemory extends BaseElement { private tblData: LitTable | null | undefined; private progressEL: LitProgressBar | null | undefined; private nmMemoryLoadingList: number[] = []; - private loadingPage: any; - private memorySource: Array = []; + private loadingPage: unknown; + private memorySource: Array = []; private nativeType: Array = [...this.defaultNativeTypes]; - private statsticsSelection: Array = []; + private statsticsSelection: Array = []; private filterAllocationType: string = '0'; private filterNativeType: string = '0'; private filterResponseType: number = -1; private filterResponseSelect: string = '0'; private currentSelection: SelectionParam | undefined; - private rowSelectData: any = undefined; + private rowSelectData: unknown = undefined; private sortColumn: string = ''; private sortType: number = 0; - private responseTypes: any[] = []; + private responseTypes: unknown[] = []; private eventTypes: string[] = []; - set data(memoryParam: SelectionParam | any) { + set data(memoryParam: SelectionParam | unknown) { if (memoryParam === this.currentSelection) { return; - } + }//@ts-ignore this.currentSelection = memoryParam; this.queryData(memoryParam); } - queryData(memoryParam: SelectionParam | any, resetFilter: boolean = true): void { - this.eventTypes = []; + queryData(memoryParam: SelectionParam | unknown, resetFilter: boolean = true): void { + this.eventTypes = [];//@ts-ignore if (memoryParam.nativeMemory.indexOf(this.defaultNativeTypes[0]) !== -1) { this.eventTypes.push("'AllocEvent'"); this.eventTypes.push("'MmapEvent'"); - } else { + } else {//@ts-ignore if (memoryParam.nativeMemory.indexOf(this.defaultNativeTypes[1]) !== -1) { this.eventTypes.push("'AllocEvent'"); - } + }//@ts-ignore if (memoryParam.nativeMemory.indexOf(this.defaultNativeTypes[2]) !== -1) { this.eventTypes.push("'MmapEvent'"); } - } + }//@ts-ignore TabPaneNMSampleList.serSelection(memoryParam); if (this.memoryTbl) { // @ts-ignore @@ -101,20 +101,20 @@ export class TabPaneNMemory extends BaseElement { } } - getDataByNativeMemoryWorker(val: SelectionParam | any, refresh = false): void { - let args = new Map(); + getDataByNativeMemoryWorker(val: SelectionParam | unknown, refresh = false): void { + let args = new Map(); args.set('filterAllocType', this.filterAllocationType); args.set('filterEventType', this.filterNativeType); - args.set('filterResponseType', this.filterResponseType); - args.set('leftNs', val.leftNs); + args.set('filterResponseType', this.filterResponseType);//@ts-ignore + args.set('leftNs', val.leftNs);//@ts-ignore args.set('rightNs', val.rightNs); args.set('types', this.eventTypes); args.set('refresh', refresh); - let selections: Array = []; + let selections: Array = []; if (this.statsticsSelection.length > 0) { this.statsticsSelection.map((memory) => { - selections.push({ - memoryTap: memory.memoryTap, + selections.push({//@ts-ignore + memoryTap: memory.memoryTap,//@ts-ignore max: memory.max, }); }); @@ -126,7 +126,7 @@ export class TabPaneNMemory extends BaseElement { if (this.memoryTbl!.recycleDs.length > 1_0000) { this.memoryTbl!.recycleDataSource = []; } - this.startNmMemoryWorker('native-memory-queryNativeHookEvent', args, (results: any[]) => { + this.startNmMemoryWorker('native-memory-queryNativeHookEvent', args, (results: unknown[]) => { this.tblData!.recycleDataSource = []; this.setNmMemoryLoading(false); if (results.length > 0) { @@ -139,14 +139,14 @@ export class TabPaneNMemory extends BaseElement { }); } - startNmMemoryWorker(type: string, args: any, handler: Function): void { + startNmMemoryWorker(type: string, args: unknown, handler: Function): void { this.setNmMemoryLoading(true); - procedurePool.submitWithName('logic0', type, args, undefined, (res: any) => { - if (Array.isArray(res) || (res.tag === 'end' && res.index === 0)) { + procedurePool.submitWithName('logic0', type, args, undefined, (res: unknown) => {//@ts-ignore + if (Array.isArray(res) || (res.tag === 'end' && res.index === 0)) {//@ts-ignore handler(res.data ? res.data : res); this.setNmMemoryLoading(false); - } else { - this.memorySource.push(res.data); + } else {//@ts-ignore + this.memorySource.push(res.data);//@ts-ignore if (res.tag === 'end') { handler(this.memorySource); this.setNmMemoryLoading(false); @@ -158,22 +158,22 @@ export class TabPaneNMemory extends BaseElement { setNmMemoryLoading(loading: boolean): void { if (loading) { this.nmMemoryLoadingList.push(1); - this.progressEL!.loading = true; + this.progressEL!.loading = true;//@ts-ignore this.loadingPage.style.visibility = 'visible'; } else { this.nmMemoryLoadingList.splice(0, 1); if (this.nmMemoryLoadingList.length === 0) { - this.progressEL!.loading = false; + this.progressEL!.loading = false;//@ts-ignore this.loadingPage.style.visibility = 'hidden'; } } } - fromStastics(val: SelectionParam | any): void { + fromStastics(val: SelectionParam | unknown): void { let nmFilterEl = this.shadowRoot?.querySelector('#filter'); if (this.currentSelection !== val) { this.resetFilter(); - this.initFilterTypes(() => { + this.initFilterTypes(() => {//@ts-ignore this.currentSelection = val; let typeIndexOf = this.setFilterNativeTypeSelection(this.currentSelection!); this.filterSetSelectList(nmFilterEl!, typeIndexOf); @@ -181,7 +181,7 @@ export class TabPaneNMemory extends BaseElement { this.rowSelectData = undefined; this.queryData(val, false); }); - } else { + } else {//@ts-ignore let typeIndexOf = this.setFilterNativeTypeSelection(val); this.tblData!.recycleDataSource = []; this.rowSelectData = undefined; @@ -200,7 +200,7 @@ export class TabPaneNMemory extends BaseElement { this.statsticsSelection.push(val.statisticsSelectData); this.nativeType.push(val.statisticsSelectData.memoryTap); typeIndexOf = this.nativeType.length - 1; - } else { + } else {//@ts-ignore let index = this.statsticsSelection.findIndex((mt) => mt.memoryTap === val.statisticsSelectData.memoryTap); if (index !== -1) { this.statsticsSelection[index] = val.statisticsSelectData; @@ -216,7 +216,7 @@ export class TabPaneNMemory extends BaseElement { this.nativeType, 'Allocation Lifespan', 'Allocation Type', - this.responseTypes.map((item: any) => { + this.responseTypes.map((item: unknown) => {//@ts-ignore return item.value; }) ); @@ -230,19 +230,19 @@ export class TabPaneNMemory extends BaseElement { if (this.currentSelection) { this.setFilterNativeTypeSelection(this.currentSelection); } - procedurePool.submitWithName('logic0', 'native-memory-get-responseType', {}, undefined, (res: any) => { + procedurePool.submitWithName('logic0', 'native-memory-get-responseType', {}, undefined, (res: unknown) => { this.filter!.setSelectList( null, this.nativeType, 'Allocation Lifespan', - 'Allocation Type', - res.map((item: any) => { + 'Allocation Type',//@ts-ignore + res.map((item: unknown) => {//@ts-ignore return item.value; }) ); this.filter!.setFilterModuleSelect('#first-select', 'width', '150px'); this.filter!.setFilterModuleSelect('#second-select', 'width', '150px'); - this.filter!.setFilterModuleSelect('#third-select', 'width', '150px'); + this.filter!.setFilterModuleSelect('#third-select', 'width', '150px');//@ts-ignore this.responseTypes = res; this.rowSelectData = undefined; if (initCallback) { @@ -278,8 +278,8 @@ export class TabPaneNMemory extends BaseElement { }) ); }); - this.memoryTbl!.addEventListener('column-click', (evt: any) => { - this.sortColumn = evt.detail.key; + this.memoryTbl!.addEventListener('column-click', (evt: unknown) => {//@ts-ignore + this.sortColumn = evt.detail.key;//@ts-ignore this.sortType = evt.detail.sort; this.getDataByNativeMemoryWorker(this.currentSelection); }); @@ -296,7 +296,7 @@ export class TabPaneNMemory extends BaseElement { this.filterResponseSelect = data.thirdSelect || '0'; let thirdIndex = parseInt(data.thirdSelect || '0'); if (this.responseTypes.length > thirdIndex) { - this.filterResponseType = + this.filterResponseType =//@ts-ignore this.responseTypes[thirdIndex].key === undefined ? -1 : this.responseTypes[thirdIndex].key; } this.getDataByNativeMemoryWorker(this.currentSelection); @@ -334,28 +334,28 @@ export class TabPaneNMemory extends BaseElement { if (timeArr && timeArr.length > 0) { let checkTs = timeArr[0]; let minTs = 0; - let minItem: any = undefined; - let filterTemp = this.memorySource.filter((tempItem) => { - if (minTs === 0 || (tempItem.startTs - checkTs !== 0 && Math.abs(tempItem.startTs - checkTs) < minTs)) { + let minItem: unknown = undefined; + let filterTemp = this.memorySource.filter((tempItem) => {//@ts-ignore + if (minTs === 0 || (tempItem.startTs - checkTs !== 0 && Math.abs(tempItem.startTs - checkTs) < minTs)) {//@ts-ignore minTs = Math.abs(tempItem.startTs - checkTs); minItem = tempItem; - } + }//@ts-ignore return tempItem.startTs === checkTs; }); - if (filterTemp.length > 0) { + if (filterTemp.length > 0) {//@ts-ignore filterTemp[0].isSelected = true; } else { if (minItem) { - filterTemp.push(minItem); + filterTemp.push(minItem);//@ts-ignore minItem.isSelected = true; } } if (filterTemp.length > 0) { this.rowSelectData = filterTemp[0]; - let args = new Map(); + let args = new Map();//@ts-ignore args.set('startTs', this.rowSelectData.startTs); args.set('actionType', 'native-memory-state-change'); - this.startNmMemoryWorker('native-memory-action', args, (results: any[]) => {}); + this.startNmMemoryWorker('native-memory-action', args, (results: unknown[]) => {}); TabPaneNMSampleList.addSampleData(this.rowSelectData, this.currentSelection!.nativeMemoryCurrentIPid); this.memoryTbl!.scrollToData(this.rowSelectData); } @@ -383,17 +383,17 @@ export class TabPaneNMemory extends BaseElement { this.parentElement!.clientHeight - 10 - 31 }px`; } - this.tblData?.reMeauseHeight(); + this.tblData?.reMeauseHeight();//@ts-ignore this.loadingPage.style.height = `${this.parentElement!.clientHeight - 24}px`; } }).observe(this.parentElement!); } setRightTableData(nativeMemoryHook: NativeMemory): void { - let args = new Map(); + let args = new Map(); args.set('eventId', nativeMemoryHook.eventId); args.set('actionType', 'memory-stack'); - this.startNmMemoryWorker('native-memory-action', args, (results: any[]) => { + this.startNmMemoryWorker('native-memory-action', args, (results: unknown[]) => { let thread = new NativeHookCallInfo(); thread.threadId = nativeMemoryHook.threadId; thread.threadName = Utils.THREAD_MAP.get(thread.threadId) || 'Thread'; diff --git a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts index dd2c00056..4b51b4b5e 100644 --- a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts +++ b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts @@ -566,11 +566,11 @@ export class TabPaneSchedSwitch extends BaseElement { removeUnit: true, //移除单位换算 seriesField: '', //设置柱状图的颜色 - color(a): string { + color(a): string {//@ts-ignore if (a.cycle === 'Total') { - return '#2f72f8'; + return '#2f72f8';//@ts-ignore } else if (a.cycle === 'Cycle A') { - return '#ffab67'; + return '#ffab67';//@ts-ignore } else if (a.cycle === 'Cycle B') { return '#a285d2'; } else { @@ -578,9 +578,9 @@ export class TabPaneSchedSwitch extends BaseElement { } }, //鼠标悬浮柱状图上方时显示对应的提示信息 - tip(a): string { + tip(a): string {//@ts-ignore if (a && a[0]) { - let tip = ''; + let tip = '';//@ts-ignore for (let obj of a) { tip = `${tip}
diff --git a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts index 8414e514b..773e32c94 100644 --- a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts +++ b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts @@ -561,22 +561,23 @@ export class TabPaneFreqStatesDataCut extends BaseElement { seriesField: '', removeUnit: true, notSort: true, - color: (a) => { + color: (a) => {//@ts-ignore if (a.xName === 'Total') { - return '#2f72f8'; + return '#2f72f8';//@ts-ignore } else if (a.xName === 'cycleA') { - return '#ffab67'; + return '#ffab67';//@ts-ignore } else if (a.xName === 'cycleB') { return '#a285d2'; } else { return '#0a59f7'; } }, - tip: (a) => { + tip: (a) => {//@ts-ignore if (a && a[0]) { let tip: string = ''; tip = `
-
Average count: ${a[0].obj.yAverage}
+
Average count: ${//@ts-ignore + a[0].obj.yAverage}
`; return tip; } else { -- Gitee From 368e9519c026ea5179f924aadb8023a1e0274a2c Mon Sep 17 00:00:00 2001 From: wangziyi Date: Thu, 18 Apr 2024 17:02:24 +0800 Subject: [PATCH 4/6] clean warning Signed-off-by: wangziyi --- ide/src/base-ui/table/lit-table.ts | 751 +++++++++--------- ide/src/hdc/common/BaseConversion.ts | 2 +- .../trace/component/SpSystemTrace.event.ts | 26 +- ide/src/trace/component/SpSystemTrace.init.ts | 6 +- ide/src/trace/component/SpSystemTrace.ts | 408 +++++----- .../component/chart/SpAbilityMonitorChart.ts | 2 +- ide/src/trace/component/chart/SpArkTsChart.ts | 2 +- .../trace/component/chart/SpChartManager.ts | 2 +- ide/src/trace/component/chart/SpClockChart.ts | 2 +- ide/src/trace/component/chart/SpEBPFChart.ts | 2 +- .../trace/component/chart/SpFrameTimeChart.ts | 2 +- ide/src/trace/component/chart/SpHiPerf.ts | 2 +- .../component/chart/SpHiSysEnergyChart.ts | 2 +- ide/src/trace/component/chart/SpIrqChart.ts | 2 +- .../component/chart/SpNativeMemoryChart.ts | 2 +- .../trace/component/chart/SpProcessChart.ts | 16 +- ide/src/trace/component/chart/SpSdkChart.ts | 6 +- .../component/chart/SpSegmentationChart.ts | 2 +- .../component/chart/SpVirtualMemChart.ts | 2 +- .../trace/component/chart/SpVmTrackerChart.ts | 6 +- .../Top20FrequencyThread.ts | 2 +- .../trace/component/trace/base/RangeSelect.ts | 81 +- .../trace/component/trace/base/TraceRow.ts | 155 ++-- .../component/trace/base/TraceRowConfig.ts | 24 +- .../trace/base/TraceRowRecyclerView.ts | 48 +- .../trace/component/trace/base/TraceSheet.ts | 52 +- .../component/trace/base/TraceSheetConfig.ts | 2 +- ide/src/trace/component/trace/base/Utils.ts | 49 +- .../trace/sheet/ability/TabPaneCpuAbility.ts | 6 +- .../trace/sheet/ability/TabPaneDiskAbility.ts | 4 +- .../sheet/ability/TabPaneDmaSelectAbility.ts | 17 +- .../sheet/ability/TabPaneLiveProcesses.ts | 26 +- .../sheet/ability/TabPaneMemoryAbility.ts | 26 +- .../sheet/ability/TabPaneNetworkAbility.ts | 52 +- .../trace/sheet/ability/TabPanePurgPin.ts | 28 +- .../TabPanePurgPinComparisonAbility.ts | 34 +- .../sheet/ability/TabPanePurgPinSelection.ts | 7 +- .../trace/sheet/ability/TabPanePurgTotal.ts | 30 +- .../TabPanePurgTotalComparisonAbility.ts | 30 +- .../ability/TabPanePurgTotalSelection.ts | 10 +- .../trace/sheet/ark-ts/TabPaneComparison.ts | 20 +- .../sheet/ark-ts/TabPaneJsCpuStatistics.ts | 32 +- .../trace/sheet/ark-ts/TabPaneSummary.ts | 26 +- .../sheet/binder/TabPaneBinderDataCut.ts | 10 +- .../trace/sheet/binder/TabPaneBinders.ts | 6 +- ...PaneSampleInstructionSelectionTotalTime.ts | 40 +- .../trace/sheet/clock/TabPaneClockCounter.ts | 19 +- .../trace/sheet/cpu/TabPaneBoxChild.ts | 5 +- .../trace/sheet/cpu/TabPaneCounterSample.ts | 67 +- .../trace/sheet/cpu/TabPaneCpuByProcess.ts | 13 +- .../trace/sheet/cpu/TabPaneCpuByThread.ts | 74 +- .../trace/sheet/cpu/TabPaneCpuStateClick.ts | 9 +- .../trace/sheet/cpu/TabPaneCpuUsage.ts | 21 +- .../trace/sheet/cpu/TabPaneFrequencySample.ts | 104 ++- .../component/trace/sheet/cpu/TabPanePTS.ts | 8 +- .../component/trace/sheet/cpu/TabPaneSPT.ts | 5 +- .../trace/sheet/cpu/TabPaneSchedPriority.ts | 4 +- .../sheet/energy/TabPaneEnergyAnomaly.ts | 8 +- .../trace/sheet/energy/TabPanePowerBattery.ts | 18 +- .../trace/sheet/energy/TabPanePowerDetails.ts | 57 +- .../sheet/energy/TabPaneSystemDetails.ts | 104 ++- .../sheet/native-memory/TabPaneNMCallTree.ts | 2 +- .../native-memory/TabPaneNMSampleList.ts | 4 +- .../sheet/native-memory/TabPaneNMStatstics.ts | 8 +- .../sheet/schedswitch/TabPaneSchedSwitch.ts | 4 +- .../trace/sheet/sdk/TabPaneSdkCounter.ts | 2 +- .../trace/sheet/sdk/TabPaneSdkSlice.ts | 2 +- .../sheet/states/TabPaneFreqStatesDataCut.ts | 9 +- .../vmtracker/TabPaneDmaSelectVmTracker.ts | 2 +- .../vmtracker/TabPaneVmTrackerShmSelection.ts | 4 +- .../ui-worker/ProcedureWorkerCommon.ts | 46 +- .../ui-worker/ProcedureWorkerCpuProfiler.ts | 2 +- .../database/ui-worker/ProcedureWorkerEBPF.ts | 2 +- .../ProcedureWorkerFrameAnimation.ts | 2 +- .../ui-worker/ProcedureWorkerFrameDynamic.ts | 14 +- .../ui-worker/ProcedureWorkerFrameSpacing.ts | 22 +- .../database/ui-worker/ProcedureWorkerHeap.ts | 1 + .../ui-worker/ProcedureWorkerHeapSnapshot.ts | 2 +- .../ui-worker/ProcedureWorkerHiSysEvent.ts | 4 +- .../database/ui-worker/ProcedureWorkerJank.ts | 2 +- .../ui-worker/ProcedureWorkerProcess.ts | 2 +- .../ui-worker/ProcedureWorkerSnapshot.ts | 2 +- .../ui-worker/ProduceWorkerSdkSlice.ts | 2 +- .../ui-worker/cpu/ProcedureWorkerCPU.ts | 4 +- .../hiperf/ProcedureWorkerHiPerfCallChart.ts | 2 +- 85 files changed, 1503 insertions(+), 1221 deletions(-) diff --git a/ide/src/base-ui/table/lit-table.ts b/ide/src/base-ui/table/lit-table.ts index 5c47535a3..622939166 100644 --- a/ide/src/base-ui/table/lit-table.ts +++ b/ide/src/base-ui/table/lit-table.ts @@ -43,11 +43,11 @@ export class LitTable extends HTMLElement { currentRecycleList: HTMLDivElement[] = []; currentTreeDivList: HTMLDivElement[] = []; public rememberScrollTop = false; - public getItemTextColor?: (data: any) => string; - public itemTextHandleMap: Map string> = new Map string>(); - public exportTextHandleMap: Map string> = new Map string>(); - public ds: Array = []; - public recycleDs: Array = []; + public getItemTextColor?: (data: unknown) => string; + public itemTextHandleMap: Map string> = new Map string>(); + public exportTextHandleMap: Map string> = new Map string>(); + public ds: Array = []; + public recycleDs: Array = []; public gridTemplateColumns: Array = []; public tableColumns: NodeListOf | undefined; public treeElement: HTMLDivElement | undefined | null; @@ -55,7 +55,7 @@ export class LitTable extends HTMLElement { public exportLoading: boolean = false; public exportProgress: LitProgressBar | null | undefined; public tableElement: HTMLDivElement | null | undefined; - private normalDs: Array = []; + private normalDs: Array = []; /*Grid css layout descriptions are obtained according to the clustern[] nested structure*/ private st: HTMLSlotElement | null | undefined; private theadElement: HTMLDivElement | null | undefined; @@ -63,7 +63,7 @@ export class LitTable extends HTMLElement { private colCount: number = 0; private isRecycleList: boolean = true; private isScrollXOutSide: boolean = false; - private value: Array = []; + private value: Array = []; private _mode = TableMode.Expand; private columnResizeEnable: boolean = true; private _isSearch: boolean = false; @@ -129,7 +129,7 @@ export class LitTable extends HTMLElement { this.setAttribute('scroll-y', value); } - get dataSource(): any[] { + get dataSource(): unknown[] { return this.ds || []; } @@ -156,7 +156,7 @@ export class LitTable extends HTMLElement { return this.hasAttribute('noRecycle'); } - get recycleDataSource(): any[] { + get recycleDataSource(): unknown[] { return this.ds || []; } @@ -193,7 +193,7 @@ export class LitTable extends HTMLElement { } } - get snapshotDataSource(): any[] { + get snapshotDataSource(): unknown[] { return this.ds || []; } @@ -227,7 +227,7 @@ export class LitTable extends HTMLElement { ExcelFormater.testExport( [ { - columns: this.columns as any[], + columns: this.columns as unknown[], tables: this.ds, sheetName: `${now}`, }, @@ -236,11 +236,11 @@ export class LitTable extends HTMLElement { ); } - formatExportData(dataSource: any[]): any[] { + formatExportData(dataSource: unknown[]): unknown[] { return formatExportData(dataSource, this); } - formatExportCsvData(dataSource: any[]): string { + formatExportCsvData(dataSource: unknown[]): string { if (dataSource === undefined || dataSource.length === 0) { return ''; } @@ -275,7 +275,7 @@ export class LitTable extends HTMLElement { * @param depth 展开深度,用来实现和图标的联动 * @param profundity 展开深度,用来实现逐级展开 */ - public setStatus(list: any, status: boolean, depth: number = 0, profundity?: number): void { + public setStatus(list: unknown, status: boolean, depth: number = 0, profundity?: number): void { this.tableElement!.scrollTop = 0; // 添加depth参数,让切换图标的代码在递归中只走一遍 if (depth === 0) { @@ -286,7 +286,7 @@ export class LitTable extends HTMLElement { this.shadowRoot!.querySelector('.top')!.name = 'up'; this.shadowRoot!.querySelector('.bottom')!.name = 'down'; } - } + }// @ts-ignore for (let item of list) { if (profundity) { if (depth < profundity) { @@ -324,23 +324,23 @@ export class LitTable extends HTMLElement { let rowElement = document.createElement('div'); rowElement.classList.add('th'); addSelectAllBox(rowElement, this); - let area: Array = []; + let area: Array = []; this.gridTemplateColumns = []; this.resolvingArea(this.columns, 0, 0, area, rowElement); area.forEach((rows, j, array) => { - for (let i = 0; i < this.colCount; i++) { - if (!rows[i]) { + for (let i = 0; i < this.colCount; i++) {// @ts-ignore + if (!rows[i]) {// @ts-ignore rows[i] = array[j - 1][i]; } } }); - if (this.selectable) { - let s = area.map((a) => '"_checkbox_ ' + a.map((aa: any) => aa.t).join(' ') + '"').join(' '); + if (this.selectable) {// @ts-ignore + let s = area.map((a) => '"_checkbox_ ' + a.map((aa: unknown) => aa.t).join(' ') + '"').join(' '); rowElement.style.gridTemplateColumns = '60px ' + this.gridTemplateColumns.join(' '); rowElement.style.gridTemplateRows = `repeat(${area.length},1fr)`; rowElement.style.gridTemplateAreas = s; - } else { - let s = area.map((a) => '"' + a.map((aa: any) => aa.t).join(' ') + '"').join(' '); + } else {// @ts-ignore + let s = area.map((a) => '"' + a.map((aa: unknown) => aa.t).join(' ') + '"').join(' '); rowElement.style.gridTemplateColumns = this.gridTemplateColumns.join(' '); rowElement.style.gridTemplateRows = `repeat(${area.length},1fr)`; rowElement.style.gridTemplateAreas = s; @@ -355,45 +355,45 @@ export class LitTable extends HTMLElement { this.tbodyElement && (this.tbodyElement!.style.transform = 'translateY(0px)'); } - resolvingArea(columns: any, x: any, y: any, area: Array, rowElement: HTMLDivElement): void { - columns.forEach((a: any, i: any) => { - if (!area[y]) { + resolvingArea(columns: unknown, x: unknown, y: unknown, area: Array, rowElement: HTMLDivElement): void {// @ts-ignore + columns.forEach((a: unknown, i: unknown) => {// @ts-ignore + if (!area[y]) {// @ts-ignore area[y] = []; - } - let key = a.getAttribute('key') || a.getAttribute('title'); - if (a.tagName === 'LIT-TABLE-GROUP') { - let len = a.querySelectorAll('lit-table-column').length; + }// @ts-ignore + let key = a.getAttribute('key') || a.getAttribute('title');// @ts-ignore + if (a.tagName === 'LIT-TABLE-GROUP') {// @ts-ignore + let len = a.querySelectorAll('lit-table-column').length;// @ts-ignore let children = [...a.children].filter((a) => a.tagName !== 'TEMPLATE'); - if (children.length > 0) { + if (children.length > 0) {// @ts-ignore this.resolvingArea(children, x, y + 1, area, rowElement); } - for (let j = 0; j < len; j++) { - area[y][x] = { x, y, t: key }; + for (let j = 0; j < len; j++) {// @ts-ignore + area[y][x] = { x, y, t: key };// @ts-ignore x++; } let h = document.createElement('div'); - h.classList.add('td'); + h.classList.add('td');// @ts-ignore h.style.justifyContent = a.getAttribute('align'); h.style.borderBottom = '1px solid #f0f0f0'; - h.style.gridArea = key; - h.innerText = a.title; - if (a.hasAttribute('fixed')) { + h.style.gridArea = key;// @ts-ignore + h.innerText = a.title;// @ts-ignore + if (a.hasAttribute('fixed')) {// @ts-ignore fixed(h, a.getAttribute('fixed'), '#42b983'); } - rowElement.append(h); - } else if (a.tagName === 'LIT-TABLE-COLUMN') { - area[y][x] = { x, y, t: key }; - x++; - let head = this.resolvingAreaColumn(rowElement, a, i, key); - this.gridTemplateColumns.push(a.getAttribute('width') || '1fr'); + rowElement.append(h);// @ts-ignore + } else if (a.tagName === 'LIT-TABLE-COLUMN') {// @ts-ignore + area[y][x] = { x, y, t: key };// @ts-ignore + x++;// @ts-ignore + let head = this.resolvingAreaColumn(rowElement, a, i, key);// @ts-ignore + this.gridTemplateColumns.push(a.getAttribute('width') || '1fr');// @ts-ignore let labelArr = a.title.split('/'); for (let i = 0; i < labelArr.length; i++) { let titleLabel = document.createElement('label'); titleLabel.style.cursor = 'pointer'; i === 0 ? (titleLabel.textContent = labelArr[i]) : (titleLabel.textContent = '/' + labelArr[i]); head.appendChild(titleLabel); - } - if (a.hasAttribute('fixed')) { + }// @ts-ignore + if (a.hasAttribute('fixed')) {// @ts-ignore fixed(head, a.getAttribute('fixed'), '#42b983'); } rowElement.append(head); @@ -401,24 +401,24 @@ export class LitTable extends HTMLElement { }); } - resolvingAreaColumn(rowElement: HTMLDivElement, column: any, index: number, key: string): HTMLDivElement { - let head: any = document.createElement('div'); + resolvingAreaColumn(rowElement: HTMLDivElement, column: unknown, index: number, key: string): HTMLDivElement { + let head: unknown = document.createElement('div');// @ts-ignore head.classList.add('td'); if ((this.hasAttribute('tree') && index > 1) || (!this.hasAttribute('tree') && index > 0)) { let resizeDiv: HTMLDivElement = document.createElement('div'); - resizeDiv.classList.add('resize'); + resizeDiv.classList.add('resize');// @ts-ignore head.appendChild(resizeDiv); this.resizeEventHandler(rowElement, resizeDiv, index); - } + }// @ts-ignore this.resolvingAreaColumnRetract(column, head); - this.resolvingAreaColumnOrder(column, index, key, head); - this.resolvingAreaColumnButton(column, key, head); - head.style.justifyContent = column.getAttribute('align'); - head.style.gridArea = key; + this.resolvingAreaColumnOrder(column, index, key, head);// @ts-ignore + this.resolvingAreaColumnButton(column, key, head);// @ts-ignore + head.style.justifyContent = column.getAttribute('align');// @ts-ignore + head.style.gridArea = key;// @ts-ignore return head; } - resolvingAreaColumnRetract(column: any, columnHead: HTMLDivElement): void { + resolvingAreaColumnRetract(column: unknown, columnHead: HTMLDivElement): void {// @ts-ignore if (column.hasAttribute('retract')) { let expand = document.createElement('div'); expand.classList.add('expand'); @@ -451,7 +451,7 @@ export class LitTable extends HTMLElement { } } - resolvingAreaColumnButton(column: any, key: string, head: HTMLDivElement): void { + resolvingAreaColumnButton(column: unknown, key: string, head: HTMLDivElement): void {// @ts-ignore if (column.hasAttribute('button')) { let buttonIcon = document.createElement('button'); buttonIcon.innerHTML = 'GetBusyTime(ms)'; @@ -471,32 +471,32 @@ export class LitTable extends HTMLElement { } } - resolvingAreaColumnOrder(column: any, index: number, key: string, columnHead: any): void { - if (column.hasAttribute('order')) { - (columnHead as any).sortType = 0; - columnHead.classList.add('td-order'); - columnHead.style.position = 'relative'; - let { upSvg, downSvg } = createDownUpSvg(index, columnHead); + resolvingAreaColumnOrder(column: unknown, index: number, key: string, columnHead: unknown): void {// @ts-ignore + if (column.hasAttribute('order')) {// @ts-ignore + (columnHead as unknown).sortType = 0;// @ts-ignore + columnHead.classList.add('td-order');// @ts-ignore + columnHead.style.position = 'relative';// @ts-ignore + let { upSvg, downSvg } = createDownUpSvg(index, columnHead);// @ts-ignore columnHead.onclick = (): void => { if (this.isResize || this.resizeColumnIndex !== -1) { return; } - this?.shadowRoot?.querySelectorAll('.td-order svg').forEach((it: any) => { - it.setAttribute('fill', 'let(--dark-color1,#212121)'); - it.sortType = 0; + this?.shadowRoot?.querySelectorAll('.td-order svg').forEach((it: unknown) => {// @ts-ignore + it.setAttribute('fill', 'let(--dark-color1,#212121)');// @ts-ignore + it.sortType = 0;// @ts-ignore it.style.display = 'none'; - }); - if (columnHead.sortType === undefined || columnHead.sortType === null) { - columnHead.sortType = 0; - } else if (columnHead.sortType === 2) { + });// @ts-ignore + if (columnHead.sortType === undefined || columnHead.sortType === null) {// @ts-ignore + columnHead.sortType = 0;// @ts-ignore + } else if (columnHead.sortType === 2) {// @ts-ignore columnHead.sortType = 0; - } else { + } else {// @ts-ignore columnHead.sortType += 1; } upSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); - downSvg.setAttribute('fill', 'let(--dark-color1,#212121)'); - upSvg.style.display = columnHead.sortType === 1 ? 'block' : 'none'; - downSvg.style.display = columnHead.sortType === 2 ? 'block' : 'none'; + downSvg.setAttribute('fill', 'let(--dark-color1,#212121)');// @ts-ignore + upSvg.style.display = columnHead.sortType === 1 ? 'block' : 'none';// @ts-ignore + downSvg.style.display = columnHead.sortType === 2 ? 'block' : 'none';// @ts-ignore switch (columnHead.sortType) { case 1: this.theadElement!.setAttribute('sort', ''); @@ -509,7 +509,7 @@ export class LitTable extends HTMLElement { } this.dispatchEvent( new CustomEvent('column-click', { - detail: { + detail: {// @ts-ignore sort: columnHead.sortType, key: key, }, @@ -612,17 +612,17 @@ export class LitTable extends HTMLElement { adoptedCallback(): void {} - getCheckRows(): any[] { + getCheckRows(): unknown[] { // @ts-ignore - return [...this.shadowRoot!.querySelectorAll('div[class=tr][checked]')] - .map((a) => (a as any).data) + return [...this.shadowRoot!.querySelectorAll('div[class=tr][checked]')]// @ts-ignore + .map((a) => (a as unknown).data) .map((a) => { delete a['children']; return a; }); } - deleteRowsCondition(fn: any): void { + deleteRowsCondition(fn: unknown): void { this.shadowRoot!.querySelectorAll('div[class=tr]').forEach((tr) => { // @ts-ignore if (fn(tr.data)) { @@ -631,19 +631,19 @@ export class LitTable extends HTMLElement { }); } - meauseElementHeight(rowData: any): number { + meauseElementHeight(rowData: unknown): number { return 27; } - meauseTreeElementHeight(rowData: any, depth: number): number { + meauseTreeElementHeight(rowData: unknown, depth: number): number { return 27; } - getVisibleObjects(list: any[]): { visibleObjects: TableRowObject[], totalHeight: number } { + getVisibleObjects(list: unknown[]): { visibleObjects: TableRowObject[], totalHeight: number } { let headHeight = 0; let totalHeight = headHeight; let visibleObjects: TableRowObject[] = []; - let itemHandler = (rowData: any, index: number): void => { + let itemHandler = (rowData: unknown, index: number): void => { let height = this.meauseElementHeight(rowData); let tableRowObject = new TableRowObject(); tableRowObject.height = height; @@ -678,7 +678,7 @@ export class LitTable extends HTMLElement { return { visibleObjects, totalHeight }; } - meauseAllRowHeight(list: any[]): TableRowObject[] { + meauseAllRowHeight(list: unknown[]): TableRowObject[] { this.tbodyElement!.innerHTML = ''; this.meauseRowElement = undefined; let head = this.shadowRoot!.querySelector('.th'); @@ -723,7 +723,7 @@ export class LitTable extends HTMLElement { } } - newTableRowObject(item: any, totalHeight: number, depth: number, parentNode?: TableRowObject): TableRowObject { + newTableRowObject(item: unknown, totalHeight: number, depth: number, parentNode?: TableRowObject): TableRowObject { let tableRowObject = new TableRowObject(); tableRowObject.depth = depth; tableRowObject.data = item; @@ -736,7 +736,7 @@ export class LitTable extends HTMLElement { } resetAllHeight( - list: any[], + list: unknown[], depth: number, totalHeight: number, visibleObjects: TableRowObject[], @@ -746,17 +746,17 @@ export class LitTable extends HTMLElement { let th = totalHeight; let headHeight = this.theadElement?.clientHeight || 0; list.forEach((item) => { - let tableRowObject = this.newTableRowObject(item, th, depth, parentNode); + let tableRowObject = this.newTableRowObject(item, th, depth, parentNode);// @ts-ignore if (this._mode === TableMode.Expand && form === RedrawTreeForm.Retract && !item.status) { tableRowObject.expanded = false; } else if (this._mode === TableMode.Expand && form === RedrawTreeForm.Default) { tableRowObject.expanded = true; } - if ( - (this._mode === TableMode.Retract && !item.status) || + if (// @ts-ignore + (this._mode === TableMode.Retract && !item.status) ||// @ts-ignore (this._mode === TableMode.Expand && !item.status && form !== RedrawTreeForm.Expand) ) { - tableRowObject.expanded = false; + tableRowObject.expanded = false;// @ts-ignore if (item.children !== undefined && item.children.length > 0) { this.newTableRowObject(item, th, depth, tableRowObject); } @@ -778,32 +778,33 @@ export class LitTable extends HTMLElement { } resetAllHeightChildrenHandler( - item: any, + item: unknown, depth: number, totalHeight: number, visibleObjects: TableRowObject[], tableRowObject?: TableRowObject, form?: RedrawTreeForm ): number { - let th = totalHeight; + let th = totalHeight;// @ts-ignore if (item.hasNext) { // js memory的表格 - if (item.parents !== undefined && item.parents.length > 0 && item.status) { - th = this.resetAllHeight(item.parents, depth + 1, totalHeight, visibleObjects, tableRowObject); - } else if (item.children !== undefined && item.children.length > 0 && item.status) { + // @ts-ignore + if (item.parents !== undefined && item.parents.length > 0 && item.status) {// @ts-ignore + th = this.resetAllHeight(item.parents, depth + 1, totalHeight, visibleObjects, tableRowObject);// @ts-ignore + } else if (item.children !== undefined && item.children.length > 0 && item.status) {// @ts-ignore th = this.resetAllHeight(item.children, depth + 1, totalHeight, visibleObjects, tableRowObject); } } else { // 其他数据 - if ( - item.children !== undefined && + if (// @ts-ignore + item.children !== undefined &&// @ts-ignore item.children.length > 0 && form === RedrawTreeForm.Expand && this._mode === TableMode.Expand - ) { - item.status = true; - th = this.resetAllHeight(item.children, depth + 1, totalHeight, visibleObjects, tableRowObject); - } else if (item.children !== undefined && item.children.length > 0 && item.status) { + ) {// @ts-ignore + item.status = true;// @ts-ignore + th = this.resetAllHeight(item.children, depth + 1, totalHeight, visibleObjects, tableRowObject);// @ts-ignore + } else if (item.children !== undefined && item.children.length > 0 && item.status) {// @ts-ignore th = this.resetAllHeight(item.children, depth + 1, totalHeight, visibleObjects, tableRowObject); } } @@ -820,7 +821,7 @@ export class LitTable extends HTMLElement { this.currentTreeDivList = []; } - meauseTreeRowElement(list: any[], form?: RedrawTreeForm): TableRowObject[] { + meauseTreeRowElement(list: unknown[], form?: RedrawTreeForm): TableRowObject[] { this.measureReset(); let visibleObjects: TableRowObject[] = []; let totalHeight = 0; @@ -829,13 +830,13 @@ export class LitTable extends HTMLElement { this.treeElement!.style.height = this.tableElement!.clientHeight - this.theadElement!.clientHeight + 'px'; this.tableElement && (this.tableElement.onscroll = (event): void => { - let visibleObjects = this.recycleDs.filter((item) => { + let visibleObjects = this.recycleDs.filter((item) => {// @ts-ignore return !item.rowHidden; }); let top = this.tableElement!.scrollTop; this.treeElement && (this.treeElement!.style.transform = `translateY(${top}px)`); let skip = 0; - for (let index = 0; index < visibleObjects.length; index++) { + for (let index = 0; index < visibleObjects.length; index++) {// @ts-ignore if (visibleObjects[index].top <= top && visibleObjects[index].top + visibleObjects[index].height >= top) { skip = index; break; @@ -843,23 +844,23 @@ export class LitTable extends HTMLElement { } // 如果滚动高度大于数据全部收起的高度,并且this.currentRecycleList数组长度为0要给this.currentRecycleList赋值,不然tab页没有数据 if ( - visibleObjects[0] && + visibleObjects[0] &&// @ts-ignore this.tableElement!.scrollTop >= this.value.length * visibleObjects[0].height && this.currentRecycleList.length === 0 - ) { + ) {// @ts-ignore this.addTableElement(visibleObjects[skip], true, false, false); } let reduce = this.currentRecycleList.map((item) => item.clientHeight).reduce((a, b) => a + b, 0); if (reduce === 0) { return; } - while (reduce <= this.tableElement!.clientHeight) { + while (reduce <= this.tableElement!.clientHeight) {// @ts-ignore let newTableElement = this.addTableElement(visibleObjects[skip], true, false, false); reduce += newTableElement.clientHeight; } for (let i = 0; i < this.currentRecycleList.length; i++) { this.freshCurrentLine( - this.currentRecycleList[i], + this.currentRecycleList[i],// @ts-ignore visibleObjects[i + skip], this.treeElement?.children[i] as HTMLElement ); @@ -904,21 +905,21 @@ export class LitTable extends HTMLElement { let transX = Number((this.treeElement?.lastChild as HTMLElement).style.transform.replace(/[^0-9]/gi, '')); treeTop += transX + rowData.height; } - this?.columns?.forEach((column: any, index) => { + this?.columns?.forEach((column: unknown, index) => {// @ts-ignore let dataIndex = column.getAttribute('data-index') || '1'; - let td: any; + let td: unknown; if (index === 0) { td = this.firstElementTdHandler(rowTreeElement, dataIndex, rowData, column); } else { - td = this.otherElementHandler(dataIndex, rowData, column); + td = this.otherElementHandler(dataIndex, rowData, column);// @ts-ignore rowTreeElement.append(td); } }); let lastChild = this.treeElement?.lastChild as HTMLElement; if (lastChild) { lastChild.style.transform = `translateY(${treeTop}px)`; - } - (rowTreeElement as any).data = rowData.data; + }// @ts-ignore + (rowTreeElement as unknown).data = rowData.data; rowTreeElement.style.gridTemplateColumns = this.gridTemplateColumns.slice(1).join(' '); rowTreeElement.style.position = 'absolute'; rowTreeElement.style.top = '0px'; @@ -929,9 +930,9 @@ export class LitTable extends HTMLElement { return rowTreeElement; } - addRowElementEvent(rowTreeElement: HTMLDivElement, rowData: any): void { - rowTreeElement.onmouseenter = (): void => { - if ((rowTreeElement as any).data.isSelected) { + addRowElementEvent(rowTreeElement: HTMLDivElement, rowData: unknown): void { + rowTreeElement.onmouseenter = (): void => {// @ts-ignore + if ((rowTreeElement as unknown).data.isSelected) { return; } let indexOf = this.currentRecycleList.indexOf(rowTreeElement); @@ -942,8 +943,8 @@ export class LitTable extends HTMLElement { this.setMouseIn(true, [this.currentTreeDivList[indexOf]]); } }; - rowTreeElement.onmouseleave = (): void => { - if ((rowTreeElement as any).data.isSelected) { + rowTreeElement.onmouseleave = (): void => {// @ts-ignore + if ((rowTreeElement as unknown).data.isSelected) { return; } let indexOf = this.currentRecycleList.indexOf(rowTreeElement); @@ -958,57 +959,57 @@ export class LitTable extends HTMLElement { }; } - firstElementTdHandler(tr: HTMLDivElement, dataIndex: string, row: any, column: any): HTMLElement { - let td: any; - let text = formatName(dataIndex, row.data[dataIndex], this); - if (column.template) { - td = column.template.render(row.data).content.cloneNode(true); - td.template = column.template; + firstElementTdHandler(tr: HTMLDivElement, dataIndex: string, row: unknown, column: unknown): HTMLElement { + let td: unknown;// @ts-ignore + let text = formatName(dataIndex, row.data[dataIndex], this);// @ts-ignore + if (column.template) {// @ts-ignore + td = column.template.render(row.data).content.cloneNode(true);// @ts-ignore + td.template = column.template;// @ts-ignore td.title = row.data[dataIndex]; } else { - td = document.createElement('div'); - if (row.data.rowName === 'js-memory' || row.data.rowName === 'cpu-profiler') { + td = document.createElement('div');// @ts-ignore + if (row.data.rowName === 'js-memory' || row.data.rowName === 'cpu-profiler') {// @ts-ignore td.innerHTML = ''; - } else { + } else {// @ts-ignore td.innerHTML = text; - } + }// @ts-ignore td.dataIndex = dataIndex; - if (text.indexOf('<') === -1) { + if (text.indexOf('<') === -1) {// @ts-ignore td.title = text; } - } + }// @ts-ignore if (row.data.children && row.data.children.length > 0 && !row.data.hasNext) { - let btn = this.createExpandBtn(row); + let btn = this.createExpandBtn(row);// @ts-ignore td.insertBefore(btn, td.firstChild); - } - if (row.data.hasNext) { + }// @ts-ignore + if (row.data.hasNext) {// @ts-ignore td.title = row.data.objectName; - let btn = this.createBtn(row); + let btn = this.createBtn(row);// @ts-ignore td.insertBefore(btn, td.firstChild); - } - td.style.paddingLeft = row.depth * iconWidth + 'px'; - if (!row.data.children || row.data.children.length === 0) { + }// @ts-ignore + td.style.paddingLeft = row.depth * iconWidth + 'px';// @ts-ignore + if (!row.data.children || row.data.children.length === 0) {// @ts-ignore td.style.paddingLeft = iconWidth * row.depth + iconWidth + iconPadding * 2 + 'px'; } - this.jsMemoryHandler(row, td); + this.jsMemoryHandler(row, td);// @ts-ignore if (row.data.rowName === 'cpu-profiler') { this.createTextColor(row, td); - } - (td as any).data = row.data; - td.classList.add('tree-first-body'); - td.style.position = 'absolute'; - td.style.top = '0px'; - td.style.left = '0px'; - td.style.height = `${row.height}px`; - this.addFirstElementEvent(td, tr, row); - this.setHighLight(row.data.isSearch, td); - this.treeElement!.style.width = column.getAttribute('width'); - this.treeElement?.append(td); - this.currentTreeDivList.push(td); + }// @ts-ignore + (td as unknown).data = row.data;// @ts-ignore + td.classList.add('tree-first-body');// @ts-ignore + td.style.position = 'absolute';// @ts-ignore + td.style.top = '0px';// @ts-ignore + td.style.left = '0px';// @ts-ignore + td.style.height = `${row.height}px`;// @ts-ignore + this.addFirstElementEvent(td, tr, row);// @ts-ignore + this.setHighLight(row.data.isSearch, td);// @ts-ignore + this.treeElement!.style.width = column.getAttribute('width');// @ts-ignore + this.treeElement?.append(td);// @ts-ignore + this.currentTreeDivList.push(td);// @ts-ignore return td; } - addFirstElementEvent(td: HTMLDivElement, tr: HTMLDivElement, rowData: any): void { + addFirstElementEvent(td: HTMLDivElement, tr: HTMLDivElement, rowData: unknown): void { td.onmouseenter = (): void => { let indexOf = this.currentTreeDivList.indexOf(td); this.currentRecycleList.forEach((row) => { @@ -1031,37 +1032,37 @@ export class LitTable extends HTMLElement { }; } - otherElementHandler(dataIndex: string, rowData: any, column: any): HTMLDivElement { - let tdDiv: any = document.createElement('div'); - tdDiv.classList.add('td'); - tdDiv.style.overflow = 'hidden'; - tdDiv.style.textOverflow = 'ellipsis'; - tdDiv.style.whiteSpace = 'nowrap'; + otherElementHandler(dataIndex: string, rowData: unknown, column: unknown): HTMLDivElement {// @ts-ignore + let tdDiv: unknown = document.createElement('div');// @ts-ignore + tdDiv.classList.add('td');// @ts-ignore + tdDiv.style.overflow = 'hidden';// @ts-ignore + tdDiv.style.textOverflow = 'ellipsis';// @ts-ignore + tdDiv.style.whiteSpace = 'nowrap';// @ts-ignore let text = formatName(dataIndex, rowData.data[dataIndex], this); - if (text.indexOf('<') === -1) { - if (dataIndex === 'selfTimeStr' && rowData.data.chartFrameChildren) { - tdDiv.title = rowData.data.selfTime + 'ns'; - } else if (dataIndex === 'totalTimeStr' && rowData.data.chartFrameChildren) { + if (text.indexOf('<') === -1) {// @ts-ignore + if (dataIndex === 'selfTimeStr' && rowData.data.chartFrameChildren) {// @ts-ignore + tdDiv.title = rowData.data.selfTime + 'ns';// @ts-ignore + } else if (dataIndex === 'totalTimeStr' && rowData.data.chartFrameChildren) {// @ts-ignore tdDiv.title = rowData.data.totalTime + 'ns'; - } else { + } else {// @ts-ignore tdDiv.title = text; } - } - tdDiv.dataIndex = dataIndex; - tdDiv.style.justifyContent = column.getAttribute('align') || 'flex-start'; - if (column.template) { - tdDiv.appendChild(column.template.render(rowData.data).content.cloneNode(true)); + }// @ts-ignore + tdDiv.dataIndex = dataIndex;// @ts-ignore + tdDiv.style.justifyContent = column.getAttribute('align') || 'flex-start';// @ts-ignore + if (column.template) {// @ts-ignore + tdDiv.appendChild(column.template.render(rowData.data).content.cloneNode(true));// @ts-ignore tdDiv.template = column.template; - } else { + } else {// @ts-ignore tdDiv.innerHTML = text; - } + }// @ts-ignore return tdDiv; } - createNewTableElement(rowData: any): HTMLDivElement { + createNewTableElement(rowData: unknown): HTMLDivElement { let newTableElement = document.createElement('div'); newTableElement.classList.add('tr'); - this?.columns?.forEach((column: any) => { + this?.columns?.forEach((column: unknown) => {// @ts-ignore let dataIndex = column.getAttribute('data-index') || '1'; let td = this.createColumnTd(dataIndex, column, rowData); newTableElement.append(td); @@ -1072,49 +1073,50 @@ export class LitTable extends HTMLElement { }; newTableElement.onmouseenter = (): void => { this.dispatchRowHoverEvent(rowData, [newTableElement]); - }; - if (rowData.data.isSelected !== undefined) { + };// @ts-ignore + if (rowData.data.isSelected !== undefined) {// @ts-ignore this.setSelectedRow(rowData.data.isSelected, [newTableElement]); - } - (newTableElement as any).data = rowData.data; + }// @ts-ignore + (newTableElement as unknown).data = rowData.data; newTableElement.style.cursor = 'pointer'; newTableElement.style.gridTemplateColumns = this.gridTemplateColumns.join(' '); newTableElement.style.position = 'absolute'; newTableElement.style.top = '0px'; newTableElement.style.left = '0px'; - if (this.getItemTextColor) { + if (this.getItemTextColor) {// @ts-ignore newTableElement.style.color = this.getItemTextColor(rowData.data); } return newTableElement; } - createColumnTd(dataIndex: string, column: any, rowData: any): HTMLDivElement { - let td: any; - td = document.createElement('div'); - td.classList.add('td'); - td.style.overflow = 'hidden'; - td.style.textOverflow = 'ellipsis'; - td.style.whiteSpace = 'nowrap'; - td.dataIndex = dataIndex; - td.style.justifyContent = column.getAttribute('align') || 'flex-start'; + createColumnTd(dataIndex: string, column: unknown, rowData: unknown): HTMLDivElement { + let td: unknown; + td = document.createElement('div');// @ts-ignore + td.classList.add('td');// @ts-ignore + td.style.overflow = 'hidden';// @ts-ignore + td.style.textOverflow = 'ellipsis';// @ts-ignore + td.style.whiteSpace = 'nowrap';// @ts-ignore + td.dataIndex = dataIndex;// @ts-ignore + td.style.justifyContent = column.getAttribute('align') || 'flex-start';// @ts-ignore let text = formatName(dataIndex, rowData.data[dataIndex], this); - if (text.indexOf('<') === -1) { - if (dataIndex === 'totalTimeStr' && rowData.data.chartFrameChildren) { + if (text.indexOf('<') === -1) {// @ts-ignore + if (dataIndex === 'totalTimeStr' && rowData.data.chartFrameChildren) {// @ts-ignore td.title = rowData.data.totalTime + 'ns'; - } else { + } else {// @ts-ignore td.title = text; } } // 如果表格中有模板的情况,将模板中的数据放进td中,没有模板,直接将文本放进td // 但是对于Current Selection tab页来说,表格前两列是时间,第三列是input标签,第四列是button标签 // 而第一行的数据只有第四列一个button,和模板中的数据并不一样,所以要特别处理一下 + // @ts-ignore if (column.template) { - if ( - (dataIndex === 'color' && rowData.data.colorEl === undefined) || + if (// @ts-ignore + (dataIndex === 'color' && rowData.data.colorEl === undefined) ||// @ts-ignore (dataIndex === 'text' && rowData.data.text === undefined) - ) { - td.innerHTML = ''; - td.template = ''; + ) {// @ts-ignore + td.innerHTML = '';// @ts-ignore + td.template = '';// @ts-ignore } else if (dataIndex === 'operate' && rowData.data.operate && rowData.data.operate.innerHTML === 'RemoveAll') { let removeAll = document.createElement('button'); removeAll.className = 'removeAll'; @@ -1128,49 +1130,49 @@ export class LitTable extends HTMLElement { removeAll.style.minWidth = '7em'; removeAll.style.border = 'none'; removeAll.style.cursor = 'pointer'; - removeAll.style.outline = 'inherit'; + removeAll.style.outline = 'inherit';// @ts-ignore td.appendChild(removeAll); - } else { - td.appendChild(column.template.render(rowData.data).content.cloneNode(true)); + } else {// @ts-ignore + td.appendChild(column.template.render(rowData.data).content.cloneNode(true));// @ts-ignore td.template = column.template; } - } else { + } else {// @ts-ignore td.innerHTML = text; - } + }// @ts-ignore return td; } - createBtn(rowData: any): any { - let btn: any = document.createElement('lit-icon'); - btn.classList.add('tree-icon'); - if (rowData.data.expanded) { + createBtn(rowData: unknown): unknown { + let btn: unknown = document.createElement('lit-icon');// @ts-ignore + btn.classList.add('tree-icon');// @ts-ignore + if (rowData.data.expanded) {// @ts-ignore btn.name = 'plus-square'; - } else { + } else {// @ts-ignore btn.name = 'minus-square'; - } + }// @ts-ignore btn.addEventListener('mouseup', (e: MouseEvent): void => { - if (e.button === 0) { + if (e.button === 0) {// @ts-ignore rowData.data.status = false; - const resetNodeHidden = (hidden: boolean, rowData: any): void => { - if (hidden) { - rowData.children.forEach((child: any) => { + const resetNodeHidden = (hidden: boolean, rowData: unknown): void => { + if (hidden) {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = false; }); - } else { - rowData.children.forEach((child: any) => { + } else {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = true; resetNodeHidden(hidden, child); }); } }; - - if (rowData.data.expanded) { +// @ts-ignore + if (rowData.data.expanded) {// @ts-ignore rowData.data.status = true; - this.dispatchRowClickEventIcon(rowData, [btn]); + this.dispatchRowClickEventIcon(rowData, [btn]);// @ts-ignore rowData.data.expanded = false; resetNodeHidden(true, rowData); - } else { - rowData.data.expanded = true; + } else {// @ts-ignore + rowData.data.expanded = true;// @ts-ignore rowData.data.status = false; resetNodeHidden(false, rowData); } @@ -1181,16 +1183,16 @@ export class LitTable extends HTMLElement { return btn; } - resetExpandNodeHidden = (hidden: boolean, rowData: any): void => { + resetExpandNodeHidden = (hidden: boolean, rowData: unknown): void => {// @ts-ignore if (rowData.children.length > 0) { - if (hidden) { - rowData.children.forEach((child: any) => { + if (hidden) {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore child.rowHidden = true; this.resetExpandNodeHidden(hidden, child); }); - } else { - rowData.children.forEach((child: any) => { - child.rowHidden = !rowData.expanded; + } else {// @ts-ignore + rowData.children.forEach((child: unknown) => {// @ts-ignore + child.rowHidden = !rowData.expanded;// @ts-ignore if (rowData.expanded) { this.resetExpandNodeHidden(hidden, child); } @@ -1199,8 +1201,8 @@ export class LitTable extends HTMLElement { } }; - setChildrenStatus(rowData: any, data: any): void { - for (let d of data) { + setChildrenStatus(rowData: unknown, data: unknown): void {// @ts-ignore + for (let d of data) {// @ts-ignore if (rowData.data === d) { d.status = false; } @@ -1209,44 +1211,44 @@ export class LitTable extends HTMLElement { } } } - createExpandBtn(rowData: any): LitIcon { - let btn: any = document.createElement('lit-icon'); + createExpandBtn(rowData: unknown): LitIcon {// @ts-ignore + let btn: unknown = document.createElement('lit-icon');// @ts-ignore btn.classList.add('tree-icon'); // @ts-ignore - if (rowData.expanded) { + if (rowData.expanded) {// @ts-ignore btn.name = 'minus-square'; - } else { + } else {// @ts-ignore btn.name = 'plus-square'; - } + }// @ts-ignore btn.onmouseup = (e: MouseEvent): void => { - if (e.button === 0) { - if (rowData.expanded && this._mode === TableMode.Retract) { - rowData.data.status = false; + if (e.button === 0) {// @ts-ignore + if (rowData.expanded && this._mode === TableMode.Retract) {// @ts-ignore + rowData.data.status = false;// @ts-ignore rowData.expanded = false; - this.resetExpandNodeHidden(true, rowData); - } else if (!rowData.expanded && this._mode === TableMode.Retract) { - rowData.expanded = true; + this.resetExpandNodeHidden(true, rowData);// @ts-ignore + } else if (!rowData.expanded && this._mode === TableMode.Retract) {// @ts-ignore + rowData.expanded = true;// @ts-ignore rowData.data.status = true; this.recycleDs = this.meauseTreeRowElement(this.value, RedrawTreeForm.Retract); this.resetExpandNodeHidden(false, rowData); - } + }// @ts-ignore if (this._mode === TableMode.Expand && rowData.expanded) { // 点击收起的时候将点击的那条数据的status改为false - this.setChildrenStatus(rowData, this.value); + this.setChildrenStatus(rowData, this.value);// @ts-ignore rowData.expanded = false; - this.resetExpandNodeHidden(true, rowData); - } else if (this._mode === TableMode.Expand && !rowData.expanded) { - if (rowData.data.children) { + this.resetExpandNodeHidden(true, rowData);// @ts-ignore + } else if (this._mode === TableMode.Expand && !rowData.expanded) {// @ts-ignore + if (rowData.data.children) {// @ts-ignore rowData.data.status = true; } - this.recycleDs = this.meauseTreeRowElement(this.value, RedrawTreeForm.Default); + this.recycleDs = this.meauseTreeRowElement(this.value, RedrawTreeForm.Default);// @ts-ignore rowData.expanded = true; this.resetExpandNodeHidden(false, rowData); } this.reMeauseHeight(); } e.stopPropagation(); - }; + };// @ts-ignore return btn; } @@ -1256,22 +1258,22 @@ export class LitTable extends HTMLElement { return; } let totalHeight = 0; - this.recycleDs.forEach((it) => { - if (!it.rowHidden) { - it.top = totalHeight; + this.recycleDs.forEach((it) => {// @ts-ignore + if (!it.rowHidden) {// @ts-ignore + it.top = totalHeight;// @ts-ignore totalHeight += it.height; } }); this.tbodyElement && (this.tbodyElement.style.height = totalHeight + (this.isScrollXOutSide ? 0 : 0) + 'px'); this.treeElement && (this.treeElement.style.height = this.tableElement!.clientHeight - this.theadElement!.clientHeight + 'px'); - let visibleObjects = this.recycleDs.filter((item) => { + let visibleObjects = this.recycleDs.filter((item) => {// @ts-ignore return !item.rowHidden; }); if (this.tableElement) { let top = this.tableElement!.scrollTop; let skip = 0; - for (let i = 0; i < visibleObjects.length; i++) { + for (let i = 0; i < visibleObjects.length; i++) {// @ts-ignore if (visibleObjects[i].top <= top && visibleObjects[i].top + visibleObjects[i].height >= top) { skip = i; break; @@ -1282,29 +1284,29 @@ export class LitTable extends HTMLElement { return; } while (reduce <= this.tableElement!.clientHeight + 1) { - let isTree = this.hasAttribute('tree'); + let isTree = this.hasAttribute('tree');// @ts-ignore let newTableElement = this.addTableElement(visibleObjects[skip], isTree, isTree, false); reduce += newTableElement.clientHeight; } for (let i = 0; i < this.currentRecycleList.length; i++) { if (this.hasAttribute('tree')) { this.freshCurrentLine( - this.currentRecycleList[i], + this.currentRecycleList[i],// @ts-ignore visibleObjects[i + skip], this.treeElement?.children[i] as HTMLElement ); - } else { + } else {// @ts-ignore this.freshLineHandler(i, skip, visibleObjects); } } } } - getWheelStatus(element: any): void { - element.addEventListener('wheel', (event: WheelEvent) => { + getWheelStatus(element: unknown): void {// @ts-ignore + element.addEventListener('wheel', (event: WheelEvent) => {// @ts-ignore if (element.scrollWidth !== element.offsetWidth) { event.preventDefault(); - } + }// @ts-ignore element.scrollLeft += event.deltaY; }); } @@ -1318,12 +1320,12 @@ export class LitTable extends HTMLElement { } // If no data source is set, it is returned directly this.normalDs = []; this.tbodyElement!.innerHTML = ''; // Clear the table contents - this.ds.forEach((rowData: any) => { + this.ds.forEach((rowData: unknown) => { let tblRowElement = document.createElement('div'); tblRowElement.classList.add('tr'); // @ts-ignore tblRowElement.data = rowData; - let gridTemplateColumns: Array = []; + let gridTemplateColumns: Array = []; // If the table is configured with selectable (select row mode) add a checkbox at the head of the line alone this.renderTableRowSelect(tblRowElement); this.tableColumns!.forEach((tblColumn) => { @@ -1355,8 +1357,9 @@ export class LitTable extends HTMLElement { tblBox.classList.add('td'); let checkbox = document.createElement('lit-checkbox'); checkbox.classList.add('row-checkbox'); - checkbox.onchange = (e: any): void => { + checkbox.onchange = (e: unknown): void => { // Checkbox checking affects whether the div corresponding to the row has a checked attribute for marking + // @ts-ignore if (e.detail.checked) { tblRowElement.setAttribute('checked', ''); } else { @@ -1373,7 +1376,7 @@ export class LitTable extends HTMLElement { tblColumn: LitTableColumn, tblRowElement: HTMLDivElement, dataIndex: string, - rowData: any + rowData: unknown ): void { if (tblColumn.template) { // If you customize the rendering, you get the nodes from the template @@ -1394,19 +1397,19 @@ export class LitTable extends HTMLElement { let tblDiv = document.createElement('div'); tblDiv.classList.add('td'); tblDiv.style.wordBreak = 'break-all'; - tblDiv.style.whiteSpace = 'pre-wrap'; + tblDiv.style.whiteSpace = 'pre-wrap';// @ts-ignore tblDiv.title = rowData[dataIndex]; tblDiv.style.justifyContent = tblColumn.getAttribute('align') || ''; if (tblColumn.hasAttribute('fixed')) { fixed(tblDiv, tblColumn.getAttribute('fixed') || '', '#ffffff'); } - this.getWheelStatus(tblDiv); + this.getWheelStatus(tblDiv);// @ts-ignore tblDiv.innerHTML = formatName(dataIndex, rowData[dataIndex], this); tblRowElement.append(tblDiv); } } - renderTableRowElementEvent(tblRowElement: HTMLDivElement, rowData: any): void { + renderTableRowElementEvent(tblRowElement: HTMLDivElement, rowData: unknown): void { tblRowElement.onmouseup = (e: MouseEvent): void => { e.stopPropagation(); this.dispatchEvent( @@ -1418,7 +1421,7 @@ export class LitTable extends HTMLElement { //是否爲单选 if (isSelected) { this.clearAllSelection(rowData); - } + }// @ts-ignore this.setSelectedRow(rowData.isSelected, [tblRowElement]); }, }, @@ -1448,11 +1451,11 @@ export class LitTable extends HTMLElement { this.freshLineFirstElementHandler(firstElement, rowObject, childIndex); if (idx < this.columns!.length) { let dataIndex = this.columns![idx].getAttribute('data-index') || '1'; - let text = formatName(dataIndex, rowObject.data[dataIndex], this); - if ((this.columns![idx] as any).template) { + let text = formatName(dataIndex, rowObject.data[dataIndex], this);// @ts-ignore + if ((this.columns![idx] as unknown).template) { (child as HTMLElement).innerHTML = ''; - (child as HTMLElement).appendChild( - (this.columns![idx] as any).template.render(rowObject.data).content.cloneNode(true) + (child as HTMLElement).appendChild(// @ts-ignore + (this.columns![idx] as unknown).template.render(rowObject.data).content.cloneNode(true) ); (child as HTMLElement).title = text; } else { @@ -1493,8 +1496,8 @@ export class LitTable extends HTMLElement { e.stopPropagation(); }; element.onmouseenter = (): void => { - this.dispatchRowHoverEvent(rowObject, [element]); - if ((element as any).data.isSelected) { + this.dispatchRowHoverEvent(rowObject, [element]);// @ts-ignore + if ((element as unknown).data.isSelected) { return; } let indexOf = this.currentRecycleList.indexOf(element as HTMLDivElement); @@ -1505,8 +1508,8 @@ export class LitTable extends HTMLElement { this.setMouseIn(true, [this.currentTreeDivList[indexOf]]); } }; - - (element as any).data = rowObject.data; +// @ts-ignore + (element as unknown).data = rowObject.data; if (rowObject.data.isSelected !== undefined) { this.setSelectedRow(rowObject.data.isSelected, [element]); } else { @@ -1517,51 +1520,51 @@ export class LitTable extends HTMLElement { } else { this.setMouseIn(false, [element]); } - if (this.getItemTextColor) { - element.style.color = this.getItemTextColor((element as any).data); + if (this.getItemTextColor) {// @ts-ignore + element.style.color = this.getItemTextColor((element as unknown).data); } } - freshLineFirstElementHandler(firstElement: any, rowObject: TableRowObject, childIndex: number): void { + freshLineFirstElementHandler(firstElement: unknown, rowObject: TableRowObject, childIndex: number): void { if (firstElement !== undefined && childIndex === 0) { - this.setHighLight(rowObject.data.isSearch, firstElement); - (firstElement as any).data = rowObject.data; - if ((this.columns![0] as any).template) { - firstElement.innerHTML = (this.columns![0] as any).template + this.setHighLight(rowObject.data.isSearch, firstElement);// @ts-ignore + (firstElement as unknown).data = rowObject.data;// @ts-ignore + if ((this.columns![0] as unknown).template) {// @ts-ignore + firstElement.innerHTML = (this.columns![0] as unknown).template .render(rowObject.data) .content.cloneNode(true).innerHTML; } else { let dataIndex = this.columns![0].getAttribute('data-index') || '1'; let text = formatName(dataIndex, rowObject.data[dataIndex], this); - if (rowObject.data.rowName === 'js-memory' || rowObject.data.rowName === 'cpu-profiler') { + if (rowObject.data.rowName === 'js-memory' || rowObject.data.rowName === 'cpu-profiler') {// @ts-ignore firstElement.innerHTML = ''; - } else { + } else {// @ts-ignore firstElement.innerHTML = text; - } + }// @ts-ignore firstElement.title = text; } if (rowObject.children && rowObject.children.length > 0 && !rowObject.data.hasNext) { - let btn = this.createExpandBtn(rowObject); + let btn = this.createExpandBtn(rowObject);// @ts-ignore firstElement.insertBefore(btn, firstElement.firstChild); - } + }// @ts-ignore firstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; - if (!rowObject.children || rowObject.children.length === 0) { + if (!rowObject.children || rowObject.children.length === 0) {// @ts-ignore firstElement.style.paddingLeft = iconWidth * rowObject.depth + iconWidth + iconPadding * 2 + 'px'; } if (rowObject.data.hasNext) { - let btn = this.createBtn(rowObject); - firstElement.title = rowObject.data.objectName; - firstElement.insertBefore(btn, firstElement.firstChild); + let btn = this.createBtn(rowObject);// @ts-ignore + firstElement.title = rowObject.data.objectName;// @ts-ignore + firstElement.insertBefore(btn, firstElement.firstChild);// @ts-ignore firstElement.style.paddingLeft = iconWidth * rowObject.depth + 'px'; } this.jsMemoryHandler(rowObject, firstElement); if (rowObject.data.rowName === 'cpu-profiler') { this.createTextColor(rowObject, firstElement); - } + }// @ts-ignore firstElement.onmouseup = (e: MouseEvent): void => { this.dispatchRowClickEvent(rowObject, [firstElement, element], e); e.stopPropagation(); - }; + };// @ts-ignore firstElement.style.transform = `translateY(${rowObject.top - this.tableElement!.scrollTop}px)`; if (rowObject.data.isSelected !== undefined) { this.setSelectedRow(rowObject.data.isSelected, [firstElement]); @@ -1571,83 +1574,83 @@ export class LitTable extends HTMLElement { } } - setSelectedRow(isSelected: boolean, rows: any[]): void { + setSelectedRow(isSelected: boolean, rows: unknown[]): void { if (isSelected) { - rows.forEach((row) => { - if (row.classList) { - if (row.classList.contains('mouse-in')) { + rows.forEach((row) => {// @ts-ignore + if (row.classList) {// @ts-ignore + if (row.classList.contains('mouse-in')) {// @ts-ignore row.classList.remove('mouse-in'); - } + }// @ts-ignore row.classList.add('mouse-select'); } }); } else { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList && row.classList.remove('mouse-select'); }); } } - setMouseIn(isMouseIn: boolean, rows: any[]): void { + setMouseIn(isMouseIn: boolean, rows: unknown[]): void { if (isMouseIn) { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList.add('mouse-in'); }); } else { - rows.forEach((row) => { + rows.forEach((row) => {// @ts-ignore row.classList.remove('mouse-in'); }); } } - scrollToData(data: any): void { + scrollToData(data: unknown): void { if (this.isRecycleList) { if (this.recycleDs.length > 0) { - let filter = this.recycleDs.filter((item) => { + let filter = this.recycleDs.filter((item) => {// @ts-ignore return item.data === data; }); - if (filter.length > 0) { + if (filter.length > 0) {// @ts-ignore this.tableElement!.scrollTop = filter[0].top; } this.setCurrentSelection(data); } } else { if (this.normalDs.length > 0) { - let filter = this.normalDs.filter((item) => { + let filter = this.normalDs.filter((item) => {// @ts-ignore return item.data === data; }); - if (filter.length > 0) { + if (filter.length > 0) {// @ts-ignore this.tableElement!.scrollTop = filter[0].top; } } } } - expandList(datasource: any[]): void { - let filter = this.recycleDs.filter((item) => { + expandList(datasource: unknown[]): void { + let filter = this.recycleDs.filter((item) => {// @ts-ignore return datasource.indexOf(item.data) !== -1; }); if (filter.length > 0) { - filter.forEach((item) => { - item.expanded = true; + filter.forEach((item) => {// @ts-ignore + item.expanded = true;// @ts-ignore item.rowHidden = false; }); } this.reMeauseHeight(); } - clearAllSelection(rowObjectData: any): void { + clearAllSelection(rowObjectData: unknown): void { if (this.isRecycleList) { - this.recycleDs.forEach((item) => { - if (item.data !== rowObjectData && item.data.isSelected) { + this.recycleDs.forEach((item) => {// @ts-ignore + if (item.data !== rowObjectData && item.data.isSelected) {// @ts-ignore item.data.isSelected = false; } }); this.setSelectedRow(false, this.currentTreeDivList); this.setSelectedRow(false, this.currentRecycleList); } else { - this.dataSource.forEach((item) => { - if (item !== rowObjectData && item.isSelected) { + this.dataSource.forEach((item) => {// @ts-ignore + if (item !== rowObjectData && item.isSelected) {// @ts-ignore item.isSelected = false; } }); @@ -1655,18 +1658,18 @@ export class LitTable extends HTMLElement { } } - clearAllHover(rowObjectData: any): void { + clearAllHover(rowObjectData: unknown): void { if (this.isRecycleList) { - this.recycleDs.forEach((item) => { - if (item.data !== rowObjectData && item.data.isHover) { + this.recycleDs.forEach((item) => {// @ts-ignore + if (item.data !== rowObjectData && item.data.isHover) {// @ts-ignore item.data.isHover = false; } }); this.setMouseIn(false, this.currentTreeDivList); this.setMouseIn(false, this.currentRecycleList); } else { - this.dataSource.forEach((item) => { - if (item !== rowObjectData && item.isHover) { + this.dataSource.forEach((item) => {// @ts-ignore + if (item !== rowObjectData && item.isHover) {// @ts-ignore item.isHover = false; } }); @@ -1675,11 +1678,11 @@ export class LitTable extends HTMLElement { } mouseOut(): void { - if (this.isRecycleList) { + if (this.isRecycleList) {// @ts-ignore this.recycleDs.forEach((item) => (item.data.isHover = false)); this.setMouseIn(false, this.currentTreeDivList); this.setMouseIn(false, this.currentRecycleList); - } else { + } else {// @ts-ignore this.dataSource.forEach((item) => (item.isHover = false)); this.setMouseIn(false, this.normalDs); } @@ -1693,24 +1696,24 @@ export class LitTable extends HTMLElement { ); } - setCurrentSelection(selectionData: any): void { - if (this.isRecycleList) { + setCurrentSelection(selectionData: unknown): void { + if (this.isRecycleList) {// @ts-ignore if (selectionData.isSelected !== undefined) { - this.currentTreeDivList.forEach((itemEl) => { - if ((itemEl as any).data === selectionData) { + this.currentTreeDivList.forEach((itemEl) => {// @ts-ignore + if ((itemEl as unknown).data === selectionData) {// @ts-ignore this.setSelectedRow(selectionData.isSelected, [itemEl]); } }); - this.currentRecycleList.forEach((recycleItem) => { - if ((recycleItem as any).data === selectionData) { + this.currentRecycleList.forEach((recycleItem) => {// @ts-ignore + if ((recycleItem as unknown).data === selectionData) {// @ts-ignore this.setSelectedRow(selectionData.isSelected, [recycleItem]); } }); } - } else { + } else {// @ts-ignore if (selectionData.isSelected !== undefined) { - this.normalDs.forEach((item) => { - if ((item as any).data === selectionData) { + this.normalDs.forEach((item) => {// @ts-ignore + if ((item as unknown).data === selectionData) {// @ts-ignore this.setSelectedRow(selectionData.isSelected, [item]); } }); @@ -1718,27 +1721,27 @@ export class LitTable extends HTMLElement { } } - setCurrentHover(data: any): void { + setCurrentHover(data: unknown): void { if (this.isRecycleList) { this.setMouseIn(false, this.currentTreeDivList); - this.setMouseIn(false, this.currentRecycleList); + this.setMouseIn(false, this.currentRecycleList);// @ts-ignore if (data.isHover !== undefined) { - this.currentTreeDivList.forEach((hoverItem) => { - if ((hoverItem as any).data === data) { + this.currentTreeDivList.forEach((hoverItem) => {// @ts-ignore + if ((hoverItem as unknown).data === data) {// @ts-ignore this.setMouseIn(data.isHover, [hoverItem]); } }); - this.currentRecycleList.forEach((hoverItem) => { - if ((hoverItem as any).data === data) { + this.currentRecycleList.forEach((hoverItem) => {// @ts-ignore + if ((hoverItem as unknown).data === data) {// @ts-ignore this.setMouseIn(data.isHover, [hoverItem]); } }); } } else { - this.setMouseIn(false, this.normalDs); + this.setMouseIn(false, this.normalDs);// @ts-ignore if (data.isHover !== undefined) { - this.normalDs.forEach((item): void => { - if ((item as any).data === data) { + this.normalDs.forEach((item): void => {// @ts-ignore + if ((item as unknown).data === data) {// @ts-ignore this.setMouseIn(data.isHover, [item]); } }); @@ -1746,17 +1749,17 @@ export class LitTable extends HTMLElement { } } - dispatchRowClickEventIcon(rowData: any, elements: any[]): void { + dispatchRowClickEventIcon(rowData: unknown, elements: unknown[]): void { this.dispatchEvent( new CustomEvent('icon-click', { - detail: { - ...rowData.data, + detail: {// @ts-ignore + ...rowData.data,// @ts-ignore data: rowData.data, callBack: (isSelected: boolean): void => { //是否爲单选 - if (isSelected) { + if (isSelected) {// @ts-ignore this.clearAllSelection(rowData.data); - } + }// @ts-ignore this.setSelectedRow(rowData.data.isSelected, elements); }, }, @@ -1765,18 +1768,18 @@ export class LitTable extends HTMLElement { ); } - dispatchRowClickEvent(rowObject: any, elements: any[], event: MouseEvent): void { + dispatchRowClickEvent(rowObject: unknown, elements: unknown[], event: MouseEvent): void { this.dispatchEvent( new CustomEvent('row-click', { detail: { - button: event.button, - ...rowObject.data, + button: event.button,// @ts-ignore + ...rowObject.data,// @ts-ignore data: rowObject.data, callBack: (isSelected: boolean): void => { //是否爲单选 - if (isSelected) { + if (isSelected) {// @ts-ignore this.clearAllSelection(rowObject.data); - } + }// @ts-ignore this.setSelectedRow(rowObject.data.isSelected, elements); }, }, @@ -1786,13 +1789,13 @@ export class LitTable extends HTMLElement { event.stopPropagation(); } - dispatchRowHoverEvent(rowObject: any, elements: any[]): void { + dispatchRowHoverEvent(rowObject: unknown, elements: unknown[]): void { this.dispatchEvent( new CustomEvent('row-hover', { - detail: { + detail: {// @ts-ignore data: rowObject.data, - callBack: (): void => { - this.clearAllHover(rowObject.data); + callBack: (): void => {// @ts-ignore + this.clearAllHover(rowObject.data);// @ts-ignore this.setMouseIn(rowObject.data.isHover, elements); }, }, @@ -1801,67 +1804,67 @@ export class LitTable extends HTMLElement { ); } - setHighLight(isSearch: boolean, element: any): void { - if (isSearch) { + setHighLight(isSearch: boolean, element: unknown): void { + if (isSearch) {// @ts-ignore element.setAttribute('high-light', ''); - } else { + } else {// @ts-ignore element.removeAttribute('high-light'); } } - createTextColor(rowData: any, divElement: any): void { + createTextColor(rowData: unknown, divElement: unknown): void { let nodeText = document.createElement('text'); - nodeText.classList.add('functionName'); - nodeText.textContent = rowData.data.name; - divElement.append(nodeText); + nodeText.classList.add('functionName');// @ts-ignore + nodeText.textContent = rowData.data.name;// @ts-ignore + divElement.append(nodeText);// @ts-ignore if (rowData.data.scriptName !== 'unknown') { let scriptText = document.createElement('text'); - scriptText.classList.add('scriptName'); - scriptText.textContent = rowData.data.scriptName; + scriptText.classList.add('scriptName');// @ts-ignore + scriptText.textContent = rowData.data.scriptName;// @ts-ignore divElement.append(scriptText); scriptText.style.color = '#a1a1a1'; - } + }// @ts-ignore divElement.title = rowData.data.symbolName; } - jsMemoryHandler(rowData: any, td: any): void { + jsMemoryHandler(rowData: unknown, td: unknown): void {// @ts-ignore if (rowData.data.rowName === 'js-memory') { let nodeText = document.createElement('text'); - nodeText.classList.add('nodeName'); - nodeText.textContent = rowData.data.nodeName; + nodeText.classList.add('nodeName');// @ts-ignore + nodeText.textContent = rowData.data.nodeName;// @ts-ignore td.append(nodeText); let countText = document.createElement('text'); - countText.classList.add('countName'); - countText.textContent = rowData.data.count; + countText.classList.add('countName');// @ts-ignore + countText.textContent = rowData.data.count;// @ts-ignore td.append(countText); let nodeIdText = document.createElement('text'); - nodeIdText.classList.add('nodeIdText'); - nodeIdText.textContent = rowData.data.nodeId; - td.append(nodeIdText); + nodeIdText.classList.add('nodeIdText');// @ts-ignore + nodeIdText.textContent = rowData.data.nodeId;// @ts-ignore + td.append(nodeIdText);// @ts-ignore if (rowData.data.edgeName !== '') { let edgeNameText = document.createElement('text'); - edgeNameText.classList.add('edgeNameText'); - edgeNameText.textContent = rowData.data.edgeName; + edgeNameText.classList.add('edgeNameText');// @ts-ignore + edgeNameText.textContent = rowData.data.edgeName;// @ts-ignore td.insertBefore(edgeNameText, nodeText); let span = document.createElement('span'); - span.classList.add('span'); - if (rowData.data.type === ConstructorType.RetainersType) { - span.textContent = '\xa0' + 'in' + '\xa0'; + span.classList.add('span');// @ts-ignore + if (rowData.data.type === ConstructorType.RetainersType) {// @ts-ignore + span.textContent = '\xa0' + 'in' + '\xa0';// @ts-ignore nodeIdText.textContent = ` @${rowData.data.id}`; } else { span.textContent = '\xa0' + '::' + '\xa0'; } edgeNameText.append(span); } - if ( - (rowData.data.nodeType === NodeType.STRING || - rowData.data.nodeType === NodeType.CONCATENATED_STRING || - rowData.data.nodeType === NodeType.SLICED_STRING) && + if (// @ts-ignore + (rowData.data.nodeType === NodeType.STRING ||// @ts-ignore + rowData.data.nodeType === NodeType.CONCATENATED_STRING ||// @ts-ignore + rowData.data.nodeType === NodeType.SLICED_STRING) &&// @ts-ignore rowData.data.type !== ConstructorType.ClassType ) { - nodeText.style.color = '#d53d3d'; + nodeText.style.color = '#d53d3d';// @ts-ignore nodeText.textContent = '"' + rowData.data.nodeName + '"'; - } + }// @ts-ignore td.title = rowData.data.objectName; } } diff --git a/ide/src/hdc/common/BaseConversion.ts b/ide/src/hdc/common/BaseConversion.ts index 002eddcac..330ca5f35 100644 --- a/ide/src/hdc/common/BaseConversion.ts +++ b/ide/src/hdc/common/BaseConversion.ts @@ -61,6 +61,6 @@ export function uint8ArrayToString(array: Uint8Array, convertToHex16: boolean): return result; } -export const Sleep = (ms: number): Promise => { +export const Sleep = (ms: number): Promise => { return new Promise((resolve) => setTimeout(resolve, ms)); }; diff --git a/ide/src/trace/component/SpSystemTrace.event.ts b/ide/src/trace/component/SpSystemTrace.event.ts index 8066e5b37..172c40067 100644 --- a/ide/src/trace/component/SpSystemTrace.event.ts +++ b/ide/src/trace/component/SpSystemTrace.event.ts @@ -106,22 +106,22 @@ function threadClickHandlerFunc(sp: SpSystemTrace): (e: ThreadStruct) => void { }, ]; let findEntry = cpuRow!.fixedList[0]; - sp.rechargeCpuData( - findEntry, + sp.rechargeCpuData(// @ts-ignore + findEntry,// @ts-ignore cpuRow.dataListCache.find((it) => it.startTime > findEntry.startTime) ); - if ( - findEntry!.startTime! + findEntry!.dur! < TraceRow.range!.startNS || + if (// @ts-ignore + findEntry!.startTime! + findEntry!.dur! < TraceRow.range!.startNS ||// @ts-ignore findEntry!.startTime! > TraceRow.range!.endNS ) { - sp.timerShaftEL?.setRangeNS( - findEntry!.startTime! - findEntry!.dur! * 2, + sp.timerShaftEL?.setRangeNS(// @ts-ignore + findEntry!.startTime! - findEntry!.dur! * 2,// @ts-ignore findEntry!.startTime! + findEntry!.dur! + findEntry!.dur! * 2 ); } - sp.hoverStructNull().selectStructNull().wakeupListNull(); - CpuStruct.hoverCpuStruct = findEntry; - CpuStruct.selectCpuStruct = findEntry; + sp.hoverStructNull().selectStructNull().wakeupListNull();// @ts-ignore + CpuStruct.hoverCpuStruct = findEntry;// @ts-ignore + CpuStruct.selectCpuStruct = findEntry;// @ts-ignore sp.timerShaftEL?.drawTriangle(findEntry!.startTime || 0, 'inverted'); sp.traceSheetEL?.displayCpuData( CpuStruct.selectCpuStruct!, @@ -186,7 +186,7 @@ function jankClickHandlerFunc(sp: SpSystemTrace): Function { sp.removeLinkLinesByBusinessType('janks'); // 绘制跟自己关联的线 datas.forEach((data) => { - let endParentRow = sp.shadowRoot?.querySelector>( + let endParentRow = sp.shadowRoot?.querySelector>(// @ts-ignore `trace-row[row-type='process'][row-id='${data.pid}'][folder]` ); sp.drawJankLine(endParentRow, JankStruct.selectJankStruct!, data, true); @@ -245,12 +245,12 @@ function cpuClickHandlerTask(threadRow: TraceRow, sp: SpSystemTrace, d: Cpu sp.timerShaftEL?.drawTriangle(findEntry!.startTime || 0, 'inverted'); sp.traceSheetEL?.displayThreadData( ThreadStruct.selectThreadStruct!, - threadClickHandlerFunc(sp), + threadClickHandlerFunc(sp),// @ts-ignore cpuClickHandlerFunc(sp), (datas, str): void => { sp.removeLinkLinesByBusinessType('thread'); if (str === 'wakeup tid') { - datas.forEach((data) => { + datas.forEach((data) => {// @ts-ignore let endParentRow = sp.shadowRoot?.querySelector>(`trace-row[row-id='${data.pid}'][folder]`); sp.drawThreadLine(endParentRow, ThreadStruct.firstselectThreadStruct, data); }); @@ -364,7 +364,7 @@ export default function spSystemTraceOnClickHandler( if (row) { let pointEvent = sp.createPointEvent(row); SpStatisticsHttpUtil.addOrdinaryVisitAction({ - action: 'trace_row', + action: 'trace_row',// @ts-ignore event: pointEvent, }); } diff --git a/ide/src/trace/component/SpSystemTrace.init.ts b/ide/src/trace/component/SpSystemTrace.init.ts index 683ea0b6b..2428ec360 100644 --- a/ide/src/trace/component/SpSystemTrace.init.ts +++ b/ide/src/trace/component/SpSystemTrace.init.ts @@ -448,7 +448,7 @@ function selectHandlerRows(sp: SpSystemTrace, rows: Array>): void if (sp.rangeTraceRow!.length !== rows.length) { let event = sp.createPointEvent(it); SpStatisticsHttpUtil.addOrdinaryVisitAction({ - action: 'trace_row', + action: 'trace_row',// @ts-ignore event: event, }); } @@ -544,7 +544,7 @@ function intersectionObserverHandler(sp: SpSystemTrace): void { sp.visibleRows.indexOf(tr) === -1 && sp.visibleRows.push(tr); sp.invisibleRows = sp.invisibleRows.filter((it) => it.sleeping); } - if (sp.handler) { + if (sp.handler) {// @ts-ignore clearTimeout(sp.handler); } sp.handler = setTimeout(() => sp.refreshCanvas(false), 100); @@ -778,7 +778,7 @@ function findEntryTypeCpu(sp: SpSystemTrace, findEntry: any): void { sp.queryAllTraceRow('trace-row[row-type=\'cpu-data\']', (row): boolean => row.rowType === 'cpu-data').forEach((item): void => { if (item.rowId === `${findEntry.cpu}`) { sp.rechargeCpuData( - findEntry, + findEntry,// @ts-ignore item.dataListCache.find((it) => it.startTime > findEntry.startTime) ); item.fixedList = [findEntry]; diff --git a/ide/src/trace/component/SpSystemTrace.ts b/ide/src/trace/component/SpSystemTrace.ts index 55f46dd0e..a5d63379e 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -149,12 +149,12 @@ export class SpSystemTrace extends BaseElement { number, { id: number; ts: number; dur: number; name: string } >(); - static SDK_CONFIG_MAP: any; - static sliceRangeMark: any; + static SDK_CONFIG_MAP: unknown; + static sliceRangeMark: unknown; static wakeupList: Array = []; static keyPathList: Array = []; static keyboardFlar: Boolean = true; - static jsProfilerMap: Map = new Map(); + static jsProfilerMap: Map = new Map(); times: Set = new Set(); currentSlicesTime: CurrentSlicesTime = new CurrentSlicesTime(); intersectionObserver: IntersectionObserver | undefined; @@ -162,11 +162,11 @@ export class SpSystemTrace extends BaseElement { rowsEL: HTMLDivElementAlias; rowsPaneEL: HTMLDivElementAlias; stateRowsId: Array = []; - spacerEL: HTMLDivElementAlias; - visibleRows: Array> = []; - invisibleRows: Array> = []; - collectRows: Array> = []; - currentRow: TraceRow | undefined | null; + spacerEL: HTMLDivElementAlias;// @ts-ignore + visibleRows: Array> = [];// @ts-ignore + invisibleRows: Array> = [];// @ts-ignore + collectRows: Array> = [];// @ts-ignore + currentRow: TraceRow | undefined | null; keyboardEnable = true; mouseEventEnable = true; currentRowType = ''; /*保存当前鼠标所在行的类型*/ @@ -179,7 +179,7 @@ export class SpSystemTrace extends BaseElement { this.observerScrollHeightCallback(); } }); - static btnTimer: any = null; + static btnTimer: unknown = null; isMousePointInSheet = false; hoverFlag: FlagAlias; selectFlag: FlagAlias; @@ -188,15 +188,15 @@ export class SpSystemTrace extends BaseElement { public traceSheetEL: TraceSheet | undefined | null; public rangeSelect!: RangeSelect; chartManager: SpChartManager | undefined | null; - loadTraceCompleted: boolean = false; - rangeTraceRow: Array> | undefined = []; + loadTraceCompleted: boolean = false;// @ts-ignore + rangeTraceRow: Array> | undefined = []; canvasFavoritePanelCtx: CanvasRenderingContext2D | null | undefined; canvasPanel: HTMLCanvasElement | null | undefined; //绘制取消收藏后泳道图 canvasPanelCtx: CanvasRenderingContext2D | undefined | null; linkNodes: PairPoint[][] = []; public currentClickRow: HTMLDivElement | undefined | null; private litTabs: LitTabs | undefined | null; - eventMap: any = {}; + eventMap: unknown = {}; isSelectClick: boolean = false; selectionParam: SelectionParam | undefined; snapshotFiles: FileInfo | null | undefined; @@ -205,10 +205,10 @@ export class SpSystemTrace extends BaseElement { collapseAll: boolean = false; currentCollectGroup: string = '1'; private _list: Array = []; - static isHiddenMenu: boolean = false; - expandRowList: Array> = []; + static isHiddenMenu: boolean = false;// @ts-ignore + expandRowList: Array> = []; _slicesList: Array = []; - _flagList: Array = []; + _flagList: Array = []; static currentStartTime: number = 0; static retargetIndex: number = 0; private prevScrollY: number = 0; @@ -221,13 +221,13 @@ export class SpSystemTrace extends BaseElement { this._slicesList = list; } - set flagList(list: Array) { + set flagList(list: Array) { this._flagList = list; } //节流处理 - throttle(fn: Function, t: number, ev?: any): Function { - let timerId: any = null; + throttle(fn: Function, t: number, ev?: unknown): Function { + let timerId: unknown = null; return (): void => { if (!timerId) { timerId = setTimeout(function (): void { @@ -237,14 +237,14 @@ export class SpSystemTrace extends BaseElement { fn(); } timerId = null; - }, t); + }, t);// @ts-ignore this.times.add(timerId); } }; } // 防抖处理 - debounce(fn: Function, ms: number, ev?: any): Function { + debounce(fn: Function, ms: number, ev?: unknown): Function { let timerId: undefined | number; return (): void => { if (timerId) { @@ -335,12 +335,12 @@ export class SpSystemTrace extends BaseElement { selection.processIds.push(pid); } } - - getCollectRows(condition: (row: TraceRow) => boolean): Array> { +// @ts-ignore + getCollectRows(condition: (row: TraceRow) => boolean): Array> { return this.favoriteChartListEL!.getCollectRows(condition); } - - createPointEvent(it: TraceRow): any { +// @ts-ignore + createPointEvent(it: TraceRow): unknown {// @ts-ignore let event = this.eventMap[`${it.rowType}`]; if (event) { return event; @@ -379,8 +379,8 @@ export class SpSystemTrace extends BaseElement { return event; } } - - private handleFileSystemType(it: TraceRow, event: any): void { +// @ts-ignore + private handleFileSystemType(it: TraceRow, event: unknown): void { if (it.rowId === 'FileSystemLogicalWrite') { event = 'FileSystem Logical Write'; } else if (it.rowId === 'FileSystemLogicalRead') { @@ -392,21 +392,21 @@ export class SpSystemTrace extends BaseElement { if (it.rowId!.startsWith('FileSystemDiskIOLatency-')) { event = 'Bio Process'; } - } + }// @ts-ignore return event; } refreshFavoriteCanvas(): void { this.favoriteChartListEL!.refreshFavoriteCanvas(); } - - expansionAllParentRow(currentRow: TraceRow): void { - let parentRow = this.rowsEL!.querySelector>( +// @ts-ignore + expansionAllParentRow(currentRow: TraceRow): void {// @ts-ignore + let parentRow = this.rowsEL!.querySelector>( `trace-row[row-id='${currentRow.rowParentId}'][folder][scene]` ); if (parentRow) { - parentRow.expansion = true; - if (this.rowsEL!.querySelector>(`trace-row[row-id='${parentRow.rowParentId}'][folder]`)) { + parentRow.expansion = true;// @ts-ignore + if (this.rowsEL!.querySelector>(`trace-row[row-id='${parentRow.rowParentId}'][folder]`)) { this.expansionAllParentRow(parentRow); } } @@ -472,7 +472,7 @@ export class SpSystemTrace extends BaseElement { } }; - timerShaftELRangeChange = (e: any): void => { + timerShaftELRangeChange = (e: unknown): void => {// @ts-ignore TraceRow.range = e; if (TraceRow.rangeSelectObject) { TraceRow.rangeSelectObject!.startX = Math.floor( @@ -504,8 +504,8 @@ export class SpSystemTrace extends BaseElement { this.refreshCanvas(false, 'rangeChange'); }; top: number = 0; - handler: any = undefined; - rowsElOnScroll = (e: any): void => { + handler: unknown = undefined; + rowsElOnScroll = (e: unknown): void => {// @ts-ignore const currentScrollY = e.target.scrollTop; const deltaY = currentScrollY - this.prevScrollY; this.linkNodes.forEach((itln) => { @@ -533,7 +533,7 @@ export class SpSystemTrace extends BaseElement { itln[1].y = itln[1].rowEL.translateY + itln[1].offsetY; }); this.hoverStructNull(); - if (this.scrollTimer) { + if (this.scrollTimer) {// @ts-ignore clearTimeout(this.scrollTimer); } this.scrollTimer = setTimeout(() => { @@ -545,16 +545,16 @@ export class SpSystemTrace extends BaseElement { this.prevScrollY = currentScrollY; }; - private scrollTimer: any; + private scrollTimer: unknown; - favoriteRowsElOnScroll = (e: any): void => { + favoriteRowsElOnScroll = (e: unknown): void => { this.rowsElOnScroll(e); }; offset = 147; - getRowsContentHeight(): number { - return [...this.rowsEL!.querySelectorAll>('trace-row:not([sleeping])')] + getRowsContentHeight(): number {// @ts-ignore + return [...this.rowsEL!.querySelectorAll>('trace-row:not([sleeping])')] .map((it) => it.clientHeight) .reduce((acr, cur) => acr + cur, 0); } @@ -780,7 +780,7 @@ export class SpSystemTrace extends BaseElement { } public setSLiceMark = (shiftKey: boolean): SlicesTime | null | undefined => { - const selectedStruct: any = + const selectedStruct: unknown = CpuStruct.selectCpuStruct || ThreadStruct.selectThreadStruct || TraceRow.rangeSelectObject || @@ -798,16 +798,16 @@ export class SpSystemTrace extends BaseElement { return this.slicestime; }; - private calculateSlicesTime(selectedStruct: any, shiftKey: boolean): void { + private calculateSlicesTime(selectedStruct: unknown, shiftKey: boolean): void { if (selectedStruct) { - let startTs = 0; - if (selectedStruct.begin && selectedStruct.end) { - startTs = selectedStruct.begin - selectedStruct.startTs; + let startTs = 0;// @ts-ignore + if (selectedStruct.begin && selectedStruct.end) {// @ts-ignore + startTs = selectedStruct.begin - selectedStruct.startTs;// @ts-ignore let end = selectedStruct.end - selectedStruct.startTs; this.slicestime = this.timerShaftEL?.setSlicesMark(startTs, end, shiftKey); } else { - startTs = - selectedStruct.startTs || selectedStruct.startTime || selectedStruct.startNS || selectedStruct.ts || 0; + startTs =// @ts-ignore + selectedStruct.startTs || selectedStruct.startTime || selectedStruct.startNS || selectedStruct.ts || 0;// @ts-ignore let dur = selectedStruct.dur || selectedStruct.totalTime || selectedStruct.endNS - selectedStruct.startNS || 0; this.slicestime = this.timerShaftEL?.setSlicesMark(startTs, startTs + dur, shiftKey); } @@ -856,40 +856,42 @@ export class SpSystemTrace extends BaseElement { * @param type 标记类型(卡尺和旗子) * @param direction 跳转方向(前一个/后一个) */ - MarkJump(list: Array, type: string, direction: string, ev: KeyboardEvent): void { - this.traceSheetEL = this.shadowRoot?.querySelector('.trace-sheet'); + MarkJump(list: Array, type: string, direction: string, ev: KeyboardEvent): void { + this.traceSheetEL = this.shadowRoot?.querySelector('.trace-sheet');// @ts-ignore let find = list.find((it) => it.selected); if (!find) { // 如果当前没有选中的,就选中第一个 + // @ts-ignore list.forEach((it) => (it.selected = false)); - this.ifSliceInView(list[0], type, ev); + this.ifSliceInView(list[0], type, ev);// @ts-ignore list[0].selected = true; } else { for (let i = 0; i < list.length; i++) { // 将当前数组中选中的那条数据改为未选中 - if (list[i].selected) { + // @ts-ignore + if (list[i].selected) {// @ts-ignore list[i].selected = false; if (direction === 'previous') { if (i === 0) { // 如果当前选中的是第一个,就循环到最后一个上 - this.ifSliceInView(list[list.length - 1], type, ev); + this.ifSliceInView(list[list.length - 1], type, ev);// @ts-ignore list[list.length - 1].selected = true; break; } else { // 选中当前的上一个 - this.ifSliceInView(list[i - 1], type, ev); + this.ifSliceInView(list[i - 1], type, ev);// @ts-ignore list[i - 1].selected = true; break; } } else if (direction === 'next') { if (i === list.length - 1) { // 如果当前选中的是最后一个,就循环到第一个上 - this.ifSliceInView(list[0], type, ev); + this.ifSliceInView(list[0], type, ev);// @ts-ignore list[0].selected = true; break; } else { // 选中当前的下一个 - this.ifSliceInView(list[i + 1], type, ev); + this.ifSliceInView(list[i + 1], type, ev);// @ts-ignore list[i + 1].selected = true; break; } @@ -900,8 +902,8 @@ export class SpSystemTrace extends BaseElement { if (type === 'flag') { let currentPane = this.traceSheetEL?.displayTab('box-flag'); - list.forEach((flag, index) => { - this.timerShaftEL!.sportRuler!.drawTriangle(flag.time, flag.type); + list.forEach((flag, index) => {// @ts-ignore + this.timerShaftEL!.sportRuler!.drawTriangle(flag.time, flag.type);// @ts-ignore if (flag.selected) { // 修改当前选中的旗子对应的表格中某行的背景 currentPane!.setTableSelection(index + 1); @@ -910,7 +912,7 @@ export class SpSystemTrace extends BaseElement { } else if (type === 'slice') { this.refreshCanvas(true); let currentPane = this.traceSheetEL?.displayTab('tabpane-current'); - list.forEach((slice, index) => { + list.forEach((slice, index) => {// @ts-ignore if (slice.selected) { // 修改当前选中的卡尺对应的表格中某行的背景 currentPane!.setTableSelection(index + 1); @@ -919,16 +921,16 @@ export class SpSystemTrace extends BaseElement { } } - ifSliceInView(data: any, type: string, ev: KeyboardEvent): void { + ifSliceInView(data: unknown, type: string, ev: KeyboardEvent): void { let timeRangeEndNS = this.timerShaftEL?.getRangeRuler()?.range.endNS; let timeRangeStartNS = this.timerShaftEL?.getRangeRuler()?.range.startNS; - if (type === 'flag') { - data.startTime = data.time; + if (type === 'flag') {// @ts-ignore + data.startTime = data.time;// @ts-ignore data.endTime = data.time; - } - let endTime = data.endTime; + }// @ts-ignore + let endTime = data.endTime;// @ts-ignore let startTime = data.startTime; - if (endTime > timeRangeEndNS! || startTime < timeRangeStartNS!) { + if (endTime > timeRangeEndNS! || startTime < timeRangeStartNS!) {// @ts-ignore this.timerShaftEL!.documentOnKeyPress(ev, data); setTimeout(() => { this.timerShaftEL!.documentOnKeyUp(ev); @@ -943,8 +945,8 @@ export class SpSystemTrace extends BaseElement { ev.offsetY > this.traceSheetEL!.offsetTop; return this.isMousePointInSheet; }; - - favoriteChangeHandler = (row: TraceRow): void => { +// @ts-ignore + favoriteChangeHandler = (row: TraceRow): void => { info('favoriteChangeHandler', row.frame, row.offsetTop, row.offsetHeight); }; @@ -952,7 +954,8 @@ export class SpSystemTrace extends BaseElement { * 根据选择的traceRow 处理foler * @param currentRow 当前点击checkbox的row */ - setParentCheckStatus(currentRow: TraceRow): void { + // @ts-ignore + setParentCheckStatus(currentRow: TraceRow): void { if (currentRow.parentRowEl?.folder && currentRow.parentRowEl?.childrenList) { const parent = currentRow.parentRowEl; const childrenList = parent.childrenList; @@ -991,29 +994,30 @@ export class SpSystemTrace extends BaseElement { * 处理点击checkbox的逻辑 * @param row 当前点击checkbox的row */ - selectChangeHandler = (row: TraceRow): void => { + // @ts-ignore + selectChangeHandler = (row: TraceRow): void => { this.setParentCheckStatus(row); - const rows = [ - ...this.shadowRoot!.querySelectorAll>('trace-row[check-type=\'2\']'), + const rows = [// @ts-ignore + ...this.shadowRoot!.querySelectorAll>('trace-row[check-type=\'2\']'), ...this.favoriteChartListEL!.getAllSelectCollectRows(), ]; this.isSelectClick = true; - this.rangeSelect.rangeTraceRow = rows; - let changeTraceRows: Array> = []; - if (this.rangeTraceRow!.length < rows.length) { - rows!.forEach((currentTraceRow: TraceRow) => { - let changeFilter = this.rangeTraceRow!.filter( - (prevTraceRow: TraceRow) => prevTraceRow === currentTraceRow + this.rangeSelect.rangeTraceRow = rows;// @ts-ignore + let changeTraceRows: Array> = []; + if (this.rangeTraceRow!.length < rows.length) {// @ts-ignore + rows!.forEach((currentTraceRow: TraceRow) => { + let changeFilter = this.rangeTraceRow!.filter(// @ts-ignore + (prevTraceRow: TraceRow) => prevTraceRow === currentTraceRow ); if (changeFilter.length < 1) { changeTraceRows.push(currentTraceRow); } }); - if (changeTraceRows.length > 0) { - changeTraceRows!.forEach((changeTraceRow: TraceRow) => { + if (changeTraceRows.length > 0) {// @ts-ignore + changeTraceRows!.forEach((changeTraceRow: TraceRow) => { let pointEvent = this.createPointEvent(changeTraceRow); SpStatisticsHttpUtil.addOrdinaryVisitAction({ - action: 'trace_row', + action: 'trace_row',// @ts-ignore event: pointEvent, }); }); @@ -1253,8 +1257,8 @@ export class SpSystemTrace extends BaseElement { (): boolean => SnapshotStruct.hoverSnapshotStruct !== null && SnapshotStruct.hoverSnapshotStruct !== undefined, ], ]); - - onClickHandler(clickRowType: string, row?: TraceRow, entry?: any): void { +// @ts-ignore + onClickHandler(clickRowType: string, row?: TraceRow, entry?: unknown): void { spSystemTraceOnClickHandler(this, clickRowType, row, entry); } @@ -1262,7 +1266,7 @@ export class SpSystemTrace extends BaseElement { ts: number, dur: number, translateY: number, - rowStruct: any, + rowStruct: unknown, offsetY: number, business: string, lineType: LineType, @@ -1272,32 +1276,32 @@ export class SpSystemTrace extends BaseElement { x: ns2xByTimeShaft(ts + dur, this.timerShaftEL!), y: translateY!, offsetY: offsetY, - ns: ts + dur, + ns: ts + dur,// @ts-ignore rowEL: rowStruct!, isRight: isRight, business: business, lineType: lineType, }; } - - drawTaskPollLine(row?: TraceRow): void { +// @ts-ignore + drawTaskPollLine(row?: TraceRow): void { spSystemTraceDrawTaskPollLine(this, row); } - drawJankLine(endParentRow: any, selectJankStruct: JankStruct, data: any, isBinderClick: boolean = false): void { + drawJankLine(endParentRow: unknown, selectJankStruct: JankStruct, data: unknown, isBinderClick: boolean = false): void { spSystemTraceDrawJankLine(this, endParentRow, selectJankStruct, data, isBinderClick); } - drawThreadLine(endParentRow: any, selectThreadStruct: ThreadStruct | undefined, data: any): void { + drawThreadLine(endParentRow: unknown, selectThreadStruct: ThreadStruct | undefined, data: unknown): void { spSystemTraceDrawThreadLine(this, endParentRow, selectThreadStruct, data); } - getStartRow(selectRowId: number | undefined, collectList: any[]): any { + getStartRow(selectRowId: number | undefined, collectList: unknown[]): unknown { let startRow = this.shadowRoot?.querySelector>( `trace-row[row-id='${selectRowId}'][row-type='thread']` ); if (!startRow) { - for (let collectChart of collectList) { - if (collectChart.rowId === selectRowId?.toString() && collectChart.rowType === 'thread') { + for (let collectChart of collectList) {// @ts-ignore + if (collectChart.rowId === selectRowId?.toString() && collectChart.rowType === 'thread') {// @ts-ignore startRow = collectChart; break; } @@ -1306,11 +1310,11 @@ export class SpSystemTrace extends BaseElement { return startRow; } - calculateStartY(startRow: any, selectThreadStruct: ThreadStruct): [number, any, number] { + calculateStartY(startRow: unknown, selectThreadStruct: ThreadStruct): [number, unknown, number] {// @ts-ignore let startY = startRow!.translateY!; let startRowEl = startRow; let startOffSetY = 20 * 0.5; - const startParentRow = this.shadowRoot?.querySelector>( + const startParentRow = this.shadowRoot?.querySelector>(// @ts-ignore `trace-row[row-id='${startRow.rowParentId}'][folder]` ); const expansionFlag = this.collectionHasThread(startRow); @@ -1322,12 +1326,12 @@ export class SpSystemTrace extends BaseElement { return [startY, startRowEl, startOffSetY]; } - calculateEndY(endParentRow: any, endRowStruct: any): [number, any, number] { + calculateEndY(endParentRow: unknown, endRowStruct: unknown): [number, unknown, number] {// @ts-ignore let endY = endRowStruct.translateY!; let endRowEl = endRowStruct; let endOffSetY = 20 * 0.5; - const expansionFlag = this.collectionHasThread(endRowStruct); - if (!endParentRow.expansion && expansionFlag) { + const expansionFlag = this.collectionHasThread(endRowStruct);// @ts-ignore + if (!endParentRow.expansion && expansionFlag) {// @ts-ignore endY = endParentRow.translateY!; endRowEl = endParentRow; endOffSetY = 10 * 0.5; @@ -1335,9 +1339,9 @@ export class SpSystemTrace extends BaseElement { return [endY, endRowEl, endOffSetY]; } - collectionHasThread(threadRow: any): boolean { + collectionHasThread(threadRow: unknown): boolean { const collectList = this.favoriteChartListEL!.getCollectRows(); - for (let item of collectList!) { + for (let item of collectList!) {// @ts-ignore if (item.rowId === threadRow.rowId && item.rowType === threadRow.rowType) { return false; } @@ -1394,8 +1398,8 @@ export class SpSystemTrace extends BaseElement { private subRecordExportListener(): void { window.subscribe(window.SmartEvent.UI.ExportRecord, (params) => { let range = this.timerShaftEL?.rangeRuler?.range; - if (range) { - let expandRows = Array.from(this.rowsEL!.querySelectorAll>('trace-row[folder][expansion]')) || []; + if (range) {// @ts-ignore + let expandRows = Array.from(this.rowsEL!.querySelectorAll>('trace-row[folder][expansion]')) || []; let data = JSON.stringify({ leftNS: range.startNS, rightNS: range.endNS, @@ -1423,8 +1427,8 @@ export class SpSystemTrace extends BaseElement { let str = `MarkPositionJSON->${jsonStr}\n`; let mark = new Blob([str]); let markBuf = await mark.arrayBuffer(); - a.href = URL.createObjectURL(new Blob([`${markBuf.byteLength}`, mark, buffer])); - a.download = (window as any).traceFileName || `${new Date().getTime()}`; + a.href = URL.createObjectURL(new Blob([`${markBuf.byteLength}`, mark, buffer]));// @ts-ignore + a.download = (window as unknown).traceFileName || `${new Date().getTime()}`; a.click(); } window.publish(window.SmartEvent.UI.Loading, { loading: false, text: 'Downloading trace file with mark' }); @@ -1445,22 +1449,22 @@ export class SpSystemTrace extends BaseElement { this.restoreRecordCollectRows(record.G2); } if (record.expand) { - let expandRows = - Array.from(this.rowsEL!.querySelectorAll>('trace-row[folder][expansion]')) || []; - let expands: Array = record.expand; + let expandRows =// @ts-ignore + Array.from(this.rowsEL!.querySelectorAll>('trace-row[folder][expansion]')) || []; + let expands: Array = record.expand; //关闭不在记录中的父泳道 for (let expandRow of expandRows) { if ( - !expands.includes( - (it: any) => it.id === expandRow.rowId && it.name === expandRow.name && it.type === expandRow.rowType + !expands.includes(// @ts-ignore + (it: unknown) => it.id === expandRow.rowId && it.name === expandRow.name && it.type === expandRow.rowType ) ) { expandRow.expansion = false; } } //展开记录的泳道 - for (let it of record.expand) { - let traceRow = this.rowsEL!.querySelector>( + for (let it of record.expand) {// @ts-ignore + let traceRow = this.rowsEL!.querySelector>( `trace-row[folder][row-id='${it.id}'][row-type='${it.type}']` ); if (traceRow && !traceRow.expansion) { @@ -1494,23 +1498,23 @@ export class SpSystemTrace extends BaseElement { } } - private restoreRecordCollectRows(group: Array): void { - group.forEach((it: any) => { - let traceRow: TraceRow | undefined | null = this.rowsEL!.querySelector>( + private restoreRecordCollectRows(group: Array): void { + group.forEach((it: unknown) => {// @ts-ignore + let traceRow: TraceRow | undefined | null = this.rowsEL!.querySelector>(// @ts-ignore `trace-row[row-id='${it.id}'][row-type='${it.type}']` ); - if (traceRow === null || traceRow === undefined) { - if (it.parents.length > 0) { - let rootFolder = it.parents[0]; - let folderRow: TraceRow | undefined | null = this.rowsEL!.querySelector>( + if (traceRow === null || traceRow === undefined) {// @ts-ignore + if (it.parents.length > 0) {// @ts-ignore + let rootFolder = it.parents[0];// @ts-ignore + let folderRow: TraceRow | undefined | null = this.rowsEL!.querySelector>( `trace-row[row-id='${rootFolder.id}'][row-type='${rootFolder.type}']` ); if (folderRow) { if (!folderRow!.expansion) { folderRow!.expansion = true; - } + }// @ts-ignore for (let i = 1; i < it.parents.length; i++) { - folderRow = folderRow!.childrenList.find( + folderRow = folderRow!.childrenList.find(// @ts-ignore (child) => child.rowId === it.parents[i].id && child.rowType === it.parents[i].type ); if (!folderRow!.expansion) { @@ -1518,7 +1522,7 @@ export class SpSystemTrace extends BaseElement { } } } - if (folderRow) { + if (folderRow) {// @ts-ignore traceRow = folderRow.childrenList.find((child) => child.rowId === it.id && child.rowType === it.type); } } @@ -1624,8 +1628,8 @@ export class SpSystemTrace extends BaseElement { } }); } - - favoriteAreaSearchHandler(row: TraceRow): void { +// @ts-ignore + favoriteAreaSearchHandler(row: TraceRow): void { if (this.timerShaftEL!.collecBtn!.hasAttribute('close')) { this.timerShaftEL!.collecBtn!.removeAttribute('close'); this.favoriteChartListEL!.showCollectArea(); @@ -1634,8 +1638,8 @@ export class SpSystemTrace extends BaseElement { } scrollToProcess(rowId: string, rowParentId: string, rowType: string, smooth: boolean = true): void { - let traceRow = - this.rowsEL!.querySelector>(`trace-row[row-id='${rowId}'][row-type='${rowType}']`) || + let traceRow =// @ts-ignore + this.rowsEL!.querySelector>(`trace-row[row-id='${rowId}'][row-type='${rowType}']`) || this.favoriteChartListEL!.getCollectRow((row) => row.rowId === rowId && row.rowType === rowType); if (traceRow?.collect) { this.favoriteChartListEL!.scroll({ @@ -1646,8 +1650,8 @@ export class SpSystemTrace extends BaseElement { left: 0, behavior: smooth ? 'smooth' : undefined, }); - } else { - let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); + } else {// @ts-ignore + let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); if (row && !row.expansion) { row.expansion = true; } @@ -1662,8 +1666,8 @@ export class SpSystemTrace extends BaseElement { } scrollToDepth(rowId: string, rowParentId: string, rowType: string, smooth: boolean = true, depth: number): void { - let rootRow = - this.rowsEL!.querySelector>(`trace-row[row-id='${rowId}'][row-type='${rowType}']`) || + let rootRow =// @ts-ignore + this.rowsEL!.querySelector>(`trace-row[row-id='${rowId}'][row-type='${rowType}']`) || this.favoriteChartListEL!.getCollectRow((row) => row.rowId === rowId && row.rowType === rowType); if (rootRow && rootRow!.collect) { this.favoriteAreaSearchHandler(rootRow); @@ -1673,8 +1677,8 @@ export class SpSystemTrace extends BaseElement { rootRow!.scrollIntoView({ behavior: 'smooth' }); }, 500); } - } else { - let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); + } else {// @ts-ignore + let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); if (row && !row.expansion) { row.expansion = true; } @@ -1687,7 +1691,7 @@ export class SpSystemTrace extends BaseElement { } } - isInViewport(e: any): boolean { + isInViewport(e: unknown): boolean {// @ts-ignore const rect = e.getBoundingClientRect(); return ( rect.top >= 0 && @@ -1699,8 +1703,8 @@ export class SpSystemTrace extends BaseElement { scrollToFunction(rowId: string, rowParentId: string, rowType: string, smooth: boolean = true): void { let condition = `trace-row[row-id='${rowId}'][row-type='${rowType}'][row-parent-id='${rowParentId}']`; - let rootRow = - this.rowsEL!.querySelector>(condition) || + let rootRow =// @ts-ignore + this.rowsEL!.querySelector>(condition) || this.favoriteChartListEL!.getCollectRow((row) => { return row.rowId === rowId && row.rowType === rowType && row.rowParentId === rowParentId; }); @@ -1714,8 +1718,8 @@ export class SpSystemTrace extends BaseElement { left: 0, behavior: smooth ? 'smooth' : undefined, }); - } else { - let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); + } else {// @ts-ignore + let row = this.rowsEL!.querySelector>(`trace-row[row-id='${rowParentId}'][folder]`); if (row && !row.expansion) { row.expansion = true; } @@ -1745,9 +1749,9 @@ export class SpSystemTrace extends BaseElement { window.unsubscribe(window.SmartEvent.UI.SliceMark, this.sliceMarkEventHandler.bind(this)); } - sliceMarkEventHandler(ev: any): void { - SpSystemTrace.sliceRangeMark = ev; - let startNS = ev.timestamp - (window as any).recordStartNS; + sliceMarkEventHandler(ev: unknown): void { + SpSystemTrace.sliceRangeMark = ev;// @ts-ignore + let startNS = ev.timestamp - (window as unknown).recordStartNS;// @ts-ignore let endNS = ev.maxDuration + startNS; TraceRow.rangeSelectObject = { startX: 0, @@ -1756,8 +1760,8 @@ export class SpSystemTrace extends BaseElement { endX: 0, }; window.publish(window.SmartEvent.UI.MenuTrace, {}); - window.publish(window.SmartEvent.UI.TimeRange, { - startNS: startNS - ev.maxDuration, + window.publish(window.SmartEvent.UI.TimeRange, {// @ts-ignore + startNS: startNS - ev.maxDuration,// @ts-ignore endNS: endNS + ev.maxDuration, }); this.queryAllTraceRow().forEach((it) => (it.checkType = '-1')); @@ -1777,7 +1781,7 @@ export class SpSystemTrace extends BaseElement { ): void { this.observerScrollHeightEnable = false; this.init({ url: url }, '', progress).then((res) => { - if (complete) { + if (complete) {// @ts-ignore complete(res); window.publish(window.SmartEvent.UI.MouseEventEnable, { mouseEnable: true, @@ -1793,9 +1797,9 @@ export class SpSystemTrace extends BaseElement { complete?: ((res: { status: boolean; msg: string }) => void) | undefined ): void { this.observerScrollHeightEnable = false; - this.init({ buf }, thirdPartyWasmConfigUrl, progress).then((res) => { - this.rowsEL?.querySelectorAll('trace-row').forEach((it: any) => this.observer.observe(it)); - if (complete) { + this.init({ buf }, thirdPartyWasmConfigUrl, progress).then((res) => {// @ts-ignore + this.rowsEL?.querySelectorAll('trace-row').forEach((it: unknown) => this.observer.observe(it)); + if (complete) {// @ts-ignore complete(res); window.publish(window.SmartEvent.UI.MouseEventEnable, { mouseEnable: true, @@ -1806,8 +1810,8 @@ export class SpSystemTrace extends BaseElement { loadSample = async (ev: File): Promise => { this.observerScrollHeightEnable = false; - await this.initSample(ev); - this.rowsEL?.querySelectorAll('trace-row').forEach((it: any) => this.observer.observe(it)); + await this.initSample(ev);// @ts-ignore + this.rowsEL?.querySelectorAll('trace-row').forEach((it: unknown) => this.observer.observe(it)); window.publish(window.SmartEvent.UI.MouseEventEnable, { mouseEnable: true, }); @@ -1819,16 +1823,16 @@ export class SpSystemTrace extends BaseElement { left: 0, }); this.chartManager?.initSample(ev).then((): void => { - this.loadTraceCompleted = true; - this.rowsEL!.querySelectorAll>('trace-row').forEach((it): void => { + this.loadTraceCompleted = true;// @ts-ignore + this.rowsEL!.querySelectorAll>('trace-row').forEach((it): void => { this.intersectionObserver?.observe(it); }); }); }; - - queryAllTraceRow(selectors?: string, filter?: (row: TraceRow) => boolean): TraceRow[] { - return [ - ...this.rowsEL!.querySelectorAll>(selectors ?? 'trace-row'), +// @ts-ignore + queryAllTraceRow(selectors?: string, filter?: (row: TraceRow) => boolean): TraceRow[] { + return [// @ts-ignore + ...this.rowsEL!.querySelectorAll>(selectors ?? 'trace-row'), ...this.favoriteChartListEL!.getCollectRows(filter), ]; } @@ -1859,7 +1863,7 @@ export class SpSystemTrace extends BaseElement { this.visibleRows.forEach((it) => (it.rowHidden = false && it.draw(true))); } - async searchCPU(query: string): Promise> { + async searchCPU(query: string): Promise> { let pidArr: Array = []; let tidArr: Array = []; for (let key of Utils.PROCESS_MAP.keys()) { @@ -1875,13 +1879,13 @@ export class SpSystemTrace extends BaseElement { return await searchCpuDataSender(pidArr, tidArr); } - async searchFunction(cpuList: Array, query: string): Promise> { + async searchFunction(cpuList: Array, query: string): Promise> { let processList: Array = []; - let traceRow = - this.shadowRoot!.querySelector>('trace-row[scene]') || + let traceRow =// @ts-ignore + this.shadowRoot!.querySelector>('trace-row[scene]') || this.favoriteChartListEL!.getCollectRow((row) => row.hasAttribute('scene')); - if (traceRow) { - this.shadowRoot!.querySelectorAll>('trace-row[row-type=\'process\'][scene]').forEach((row): void => { + if (traceRow) {// @ts-ignore + this.shadowRoot!.querySelectorAll>('trace-row[row-type=\'process\'][scene]').forEach((row): void => { processList.push(row.rowId!); }); if (query.includes('_')) { @@ -1891,42 +1895,42 @@ export class SpSystemTrace extends BaseElement { query = query.replace(/%/g, '\\%'); } let list = await querySceneSearchFunc(query, processList); - cpuList = cpuList.concat(list); + cpuList = cpuList.concat(list);// @ts-ignore cpuList.sort((a, b) => (a.startTime || 0) - (b.startTime || 0)); return cpuList; } else { let list = await querySearchFunc(query); - cpuList = cpuList.concat(list); + cpuList = cpuList.concat(list);// @ts-ignore cpuList.sort((a, b) => (a.startTime || 0) - (b.startTime || 0)); return cpuList; } } - searchSdk(dataList: Array, query: string): Array { - let traceRow = - this.shadowRoot!.querySelector>('trace-row[scene]') || + searchSdk(dataList: Array, query: string): Array { + let traceRow =// @ts-ignore + this.shadowRoot!.querySelector>('trace-row[scene]') || this.favoriteChartListEL!.getCollectRow((row) => row.hasAttribute('scene')); let dataAll = 'trace-row[row-type^=\'sdk\']'; if (traceRow) { dataAll = 'trace-row[row-type^=\'sdk\'][scene]'; } - let allTraceRow: any = []; - let parentRows = this.shadowRoot!.querySelectorAll>(`${dataAll}`); - parentRows.forEach((parentRow: TraceRow): void => { + let allTraceRow: unknown = [];// @ts-ignore + let parentRows = this.shadowRoot!.querySelectorAll>(`${dataAll}`);// @ts-ignore + parentRows.forEach((parentRow: TraceRow): void => {// @ts-ignore allTraceRow.push(parentRow); - if (parentRow.childrenList && parentRow.childrenList.length > 0) { + if (parentRow.childrenList && parentRow.childrenList.length > 0) {// @ts-ignore allTraceRow.push(...parentRow.childrenList); } - }); - allTraceRow.forEach((row: any): void => { + });// @ts-ignore + allTraceRow.forEach((row: unknown): void => {// @ts-ignore if (row!.name.indexOf(query) >= 0) { let searchSdkBean = new SearchSdkBean(); searchSdkBean.startTime = TraceRow.range!.startNS; - searchSdkBean.dur = TraceRow.range!.totalNS; - searchSdkBean.name = row.name; + searchSdkBean.dur = TraceRow.range!.totalNS;// @ts-ignore + searchSdkBean.name = row.name;// @ts-ignore searchSdkBean.rowId = row.rowId; - searchSdkBean.type = 'sdk'; - searchSdkBean.rowType = row.rowType; + searchSdkBean.type = 'sdk';// @ts-ignore + searchSdkBean.rowType = row.rowType;// @ts-ignore searchSdkBean.rowParentId = row.rowParentId; dataList.push(searchSdkBean); } @@ -1934,34 +1938,34 @@ export class SpSystemTrace extends BaseElement { return dataList; } - showStruct(previous: boolean, currentIndex: number, structs: Array, retargetIndex?: number): number { + showStruct(previous: boolean, currentIndex: number, structs: Array, retargetIndex?: number): number { return spSystemTraceShowStruct(this, previous, currentIndex, structs, retargetIndex); } - private toTargetDepth = (entry: any, funcRowID: string, funcStract: any): void => { + private toTargetDepth = (entry: unknown, funcRowID: string, funcStract: unknown): void => { if (entry) { this.hoverStructNull(); this.selectStructNull(); this.wakeupListNull(); - - FuncStruct.hoverFuncStruct = entry; +// @ts-ignore + FuncStruct.hoverFuncStruct = entry;// @ts-ignore FuncStruct.selectFuncStruct = entry; // 鼠标左键点击不需要触发点击事件 if (FuncStruct.funcSelect) { this.onClickHandler(TraceRow.ROW_TYPE_FUNC, undefined, entry); - } + }// @ts-ignore this.scrollToDepth(`${funcRowID}`, `${funcStract.pid}`, 'func', true, entry.depth || 0); FuncStruct.funcSelect = true; } }; - scrollToActFunc(funcStract: any, highlight: boolean): void { - if (!Utils.isBinder(funcStract)) { - if (funcStract.dur === -1 || funcStract.dur === null || funcStract.dur === undefined) { - funcStract.dur = (TraceRow.range?.totalNS || 0) - (funcStract.startTs || 0); + scrollToActFunc(funcStract: unknown, highlight: boolean): void { + if (!Utils.isBinder(funcStract)) {// @ts-ignore + if (funcStract.dur === -1 || funcStract.dur === null || funcStract.dur === undefined) {// @ts-ignore + funcStract.dur = (TraceRow.range?.totalNS || 0) - (funcStract.startTs || 0);// @ts-ignore funcStract.flag = 'Did not end'; } - } + }// @ts-ignore let funcRowID = !funcStract.cookie ? `${funcStract.tid}` : `${funcStract.funName}-${funcStract.pid}`; let targetRow = this.favoriteChartListEL?.getCollectRow((row) => { return row.rowId === funcRowID && row.rowType === 'func'; @@ -1972,14 +1976,14 @@ export class SpSystemTrace extends BaseElement { //如果目标泳道图在收藏上面,则跳转至收藏 this.toTargetDepth(funcStract, funcRowID, funcStract); return; - } - let parentRow = this.rowsEL!.querySelector>(`trace-row[row-id='${funcStract.pid}'][folder]`); + }// @ts-ignore + let parentRow = this.rowsEL!.querySelector>(`trace-row[row-id='${funcStract.pid}'][folder]`); if (!parentRow) { return; } let filterRow = parentRow.childrenList.filter((child) => child.rowId === funcRowID && child.rowType === 'func')[0]; - if (!filterRow) { - let funcRow = this.rowsEL?.querySelector>(`trace-row[row-id='${funcRowID}'][row-type='func']`); + if (!filterRow) {// @ts-ignore + let funcRow = this.rowsEL?.querySelector>(`trace-row[row-id='${funcRowID}'][row-type='func']`); if (funcRow) { filterRow = funcRow; } else { @@ -1987,8 +1991,8 @@ export class SpSystemTrace extends BaseElement { } } filterRow.fixedList = [funcStract]; - filterRow!.highlight = highlight; - let row = this.rowsEL!.querySelector>(`trace-row[row-id='${funcStract.pid}'][folder]`); + filterRow!.highlight = highlight;// @ts-ignore + let row = this.rowsEL!.querySelector>(`trace-row[row-id='${funcStract.pid}'][folder]`); this.currentRow = row; if (row && !row.expansion) { row.expansion = true; @@ -1998,8 +2002,8 @@ export class SpSystemTrace extends BaseElement { }; if (filterRow!.isComplete) { completeEntry(); - } else { - this.scrollToProcess(`${funcStract.tid}`, `${funcStract.pid}`, 'thread', false); + } else {// @ts-ignore + this.scrollToProcess(`${funcStract.tid}`, `${funcStract.pid}`, 'thread', false);// @ts-ignore this.scrollToFunction(`${funcStract.tid}`, `${funcStract.pid}`, 'func', true); filterRow!.onComplete = completeEntry; } @@ -2081,8 +2085,8 @@ export class SpSystemTrace extends BaseElement { }); TraceRowConfig.allTraceRowList = []; this.favoriteChartListEL!.reset(); - if (this.rowsEL) { - this.rowsEL.querySelectorAll>('trace-row').forEach((row) => { + if (this.rowsEL) {// @ts-ignore + this.rowsEL.querySelectorAll>('trace-row').forEach((row) => { row.clearMemory(); this.rowsEL!.removeChild(row); }); @@ -2106,9 +2110,9 @@ export class SpSystemTrace extends BaseElement { procedurePool.clearCache(); Utils.clearData(); InitAnalysis.getInstance().isInitAnalysis = true; - procedurePool.submitWithName('logic0', 'clear', {}, undefined, (res: any) => {}); + procedurePool.submitWithName('logic0', 'clear', {}, undefined, (res: unknown) => {}); if (threadPool) { - threadPool.submitProto(QueryEnum.ClearMemoryCache, {}, (res: any, len: number): void => {}); + threadPool.submitProto(QueryEnum.ClearMemoryCache, {}, (res: unknown, len: number): void => {}); } this.times.clear(); resetVSync(); @@ -2120,11 +2124,11 @@ export class SpSystemTrace extends BaseElement { param: { buf?: ArrayBuffer; url?: string }, wasmConfigUri: string, progress: Function - ): Promise => { + ): Promise => { return spSystemTraceInit(this, param, wasmConfigUri, progress); }; - - extracted(it: TraceRow) { +// @ts-ignore + extracted(it: TraceRow) { return (): void => { if (it.hasAttribute('expansion')) { it.childrenList.forEach((child): void => { @@ -2159,8 +2163,8 @@ export class SpSystemTrace extends BaseElement { } }; } - - displayTip(row: TraceRow, struct: any, html: string): void { +// @ts-ignore + displayTip(row: TraceRow, struct: unknown, html: string): void { let x = row.hoverX + 248; let y = row.getBoundingClientRect().top - this.getBoundingClientRect().top; if ((struct === undefined || struct === null) && this.tipEL) { @@ -2177,7 +2181,7 @@ export class SpSystemTrace extends BaseElement { this.tipEL.style.maxWidth = `${row.clientWidth / 3} px`; this.tipEL.style.wordBreak = ' break-all'; this.tipEL.style.height = 'unset'; - this.tipEL.style.display = 'block'; + this.tipEL.style.display = 'block';// @ts-ignore y = y + struct.depth * 20; if (row.rowType === TraceRow.ROW_TYPE_BINDER_COUNT) { this.tipEL.style.height = '40px'; @@ -2196,12 +2200,12 @@ export class SpSystemTrace extends BaseElement { } queryCPUWakeUpList(data: WakeupBean): void { - TabPaneCurrentSelection.queryCPUWakeUpListFromBean(data).then((a: any) => { + TabPaneCurrentSelection.queryCPUWakeUpListFromBean(data).then((a: unknown) => { if (a === null) { window.publish(window.SmartEvent.UI.WakeupList, SpSystemTrace.wakeupList); return null; - } - SpSystemTrace.wakeupList.push(a); + }// @ts-ignore + SpSystemTrace.wakeupList.push(a);// @ts-ignore this.queryCPUWakeUpList(a); }); } diff --git a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts index fb18372bb..35794b3ae 100644 --- a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts +++ b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts @@ -137,7 +137,7 @@ export class SpAbilityMonitorChart { context = abilityRow.collect ? this.trace.canvasFavoritePanelCtx! : this.trace.canvasPanelCtx!; } abilityRow.canvasSave(context); - if (abilityRow.expansion) { + if (abilityRow.expansion) {// @ts-ignore context?.clearRect(0, 0, abilityRow.frame.width, abilityRow.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpArkTsChart.ts b/ide/src/trace/component/chart/SpArkTsChart.ts index 1a39e0c25..ef87663d3 100644 --- a/ide/src/trace/component/chart/SpArkTsChart.ts +++ b/ide/src/trace/component/chart/SpArkTsChart.ts @@ -87,7 +87,7 @@ export class SpArkTsChart implements ParseListener { private folderThreadHandler(): void { this.folderRow!.onThreadHandler = (useCache): void => { this.folderRow!.canvasSave(this.trace.canvasPanelCtx!); - if (this.folderRow!.expansion) { + if (this.folderRow!.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, this.folderRow!.frame.width, this.folderRow!.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpChartManager.ts b/ide/src/trace/component/chart/SpChartManager.ts index fa6f60e27..5b5ca0761 100644 --- a/ide/src/trace/component/chart/SpChartManager.ts +++ b/ide/src/trace/component/chart/SpChartManager.ts @@ -297,7 +297,7 @@ export const folderSupplier = (): any => { export const folderThreadHandler = (row: TraceRow, trace: SpSystemTrace) => { return (useCache: boolean): void => { row.canvasSave(trace.canvasPanelCtx!); - if (row.expansion) { + if (row.expansion) {// @ts-ignore trace.canvasPanelCtx?.clearRect(0, 0, row.frame.width, row.frame.height); } else { (renders['empty'] as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpClockChart.ts b/ide/src/trace/component/chart/SpClockChart.ts index 335cd54d8..812bd9afa 100644 --- a/ide/src/trace/component/chart/SpClockChart.ts +++ b/ide/src/trace/component/chart/SpClockChart.ts @@ -179,7 +179,7 @@ export class SpClockChart { clockFolder.supplier = (): Promise => new Promise>((resolve) => resolve([])); clockFolder.onThreadHandler = (useCache): void => { clockFolder.canvasSave(this.trace.canvasPanelCtx!); - if (clockFolder.expansion) { + if (clockFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, clockFolder.frame.width, clockFolder.frame.height); } else { (renders['empty'] as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpEBPFChart.ts b/ide/src/trace/component/chart/SpEBPFChart.ts index 90abc0692..b3f9e48d2 100644 --- a/ide/src/trace/component/chart/SpEBPFChart.ts +++ b/ide/src/trace/component/chart/SpEBPFChart.ts @@ -79,7 +79,7 @@ export class SpEBPFChart { fsFolder.supplierFrame = (): Promise> => new Promise>((resolve) => resolve([])); fsFolder.onThreadHandler = (useCache): void => { fsFolder.canvasSave(this.trace.canvasPanelCtx!); - if (fsFolder.expansion) { + if (fsFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, fsFolder.frame.width, fsFolder.frame.height); } else { (renders['empty'] as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpFrameTimeChart.ts b/ide/src/trace/component/chart/SpFrameTimeChart.ts index 5dac42468..f0657cdde 100644 --- a/ide/src/trace/component/chart/SpFrameTimeChart.ts +++ b/ide/src/trace/component/chart/SpFrameTimeChart.ts @@ -255,7 +255,7 @@ export class SpFrameTimeChart { processRow.addChildTraceRowBefore(frameChart, firstRow); } else if (secondRow !== null) { processRow.addChildTraceRowBefore(frameChart, secondRow); - } else { + } else {// @ts-ignore processRow.addChildTraceRowBefore(frameChart, targetRowList[0]); } let appNameList = await queryDynamicIdAndNameData(); diff --git a/ide/src/trace/component/chart/SpHiPerf.ts b/ide/src/trace/component/chart/SpHiPerf.ts index 42f9ff4db..5b1ddd40f 100644 --- a/ide/src/trace/component/chart/SpHiPerf.ts +++ b/ide/src/trace/component/chart/SpHiPerf.ts @@ -332,7 +332,7 @@ export class SpHiPerf { return; } this.callChartType = type; - this.callChartId = id; + this.callChartId = id;// @ts-ignore row.name = `CallChart [${nodes[0].title}]`; row.isComplete = false; row.needRefresh = true; diff --git a/ide/src/trace/component/chart/SpHiSysEnergyChart.ts b/ide/src/trace/component/chart/SpHiSysEnergyChart.ts index 88b32c054..21ba7d1c0 100644 --- a/ide/src/trace/component/chart/SpHiSysEnergyChart.ts +++ b/ide/src/trace/component/chart/SpHiSysEnergyChart.ts @@ -127,7 +127,7 @@ export class SpHiSysEnergyChart { new Promise>((resolve) => resolve([])); this.energyTraceRow!.onThreadHandler = (useCache: boolean): void => { this.energyTraceRow?.canvasSave(this.trace.canvasPanelCtx!); - if (this.energyTraceRow!.expansion) { + if (this.energyTraceRow!.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, this.energyTraceRow!.frame.width, this.energyTraceRow!.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpIrqChart.ts b/ide/src/trace/component/chart/SpIrqChart.ts index 3a816ecb7..f6522e5b7 100644 --- a/ide/src/trace/component/chart/SpIrqChart.ts +++ b/ide/src/trace/component/chart/SpIrqChart.ts @@ -116,7 +116,7 @@ export class SpIrqChart { irqFolder.supplier = (): Promise> => new Promise>((resolve) => resolve([])); irqFolder.onThreadHandler = (useCache): void => { irqFolder.canvasSave(this.trace.canvasPanelCtx!); - if (irqFolder.expansion) { + if (irqFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, irqFolder.frame.width, irqFolder.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpNativeMemoryChart.ts b/ide/src/trace/component/chart/SpNativeMemoryChart.ts index cf2d836a8..f7df8d8af 100644 --- a/ide/src/trace/component/chart/SpNativeMemoryChart.ts +++ b/ide/src/trace/component/chart/SpNativeMemoryChart.ts @@ -44,7 +44,7 @@ export class SpNativeMemoryChart { folderThreadHandler(row: TraceRow): void { row.onThreadHandler = (useCache): void => { row.canvasSave(this.trace.canvasPanelCtx!); - if (row.expansion) { + if (row.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, row.frame.width, row.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpProcessChart.ts b/ide/src/trace/component/chart/SpProcessChart.ts index a8c77ecd4..248e76310 100644 --- a/ide/src/trace/component/chart/SpProcessChart.ts +++ b/ide/src/trace/component/chart/SpProcessChart.ts @@ -109,11 +109,11 @@ export class SpProcessChart { let asyncFuncGroup = Utils.groupBy( this.processAsyncFuncArray.filter((it) => it.funName === 'deliverInputEvent'), 'tid' - ); + );// @ts-ignore if (Reflect.ownKeys(asyncFuncGroup).length > 0) { this.trace.rowsEL?.appendChild(row); - } - Reflect.ownKeys(asyncFuncGroup).map((key: any) => { + }// @ts-ignore + Reflect.ownKeys(asyncFuncGroup).map((key: any) => {// @ts-ignore let asyncFuncGroups: Array = asyncFuncGroup[key]; if (asyncFuncGroups.length > 0) { row.addChildTraceRow(this.createDeliverInputEventRow(row, key, asyncFuncGroups)); @@ -212,8 +212,8 @@ export class SpProcessChart { if (FlagsConfig.getFlagsConfigEnableStatus('TaskPool')) { allTaskPoolPid = await queryTaskPoolProcessIds(); } - let renderServiceProcess = await queryRsProcess(); - info('ProcessList Data size is: ', processList!.length); + let renderServiceProcess = await queryRsProcess();// @ts-ignore + info('ProcessList Data size is: ', processList!.length);// @ts-ignore await this.initProcessRow(processList, allTaskPoolPid, allJankProcess, renderServiceProcess); let durTime = new Date().getTime() - time; info('The time to load the Process data is: ', durTime); @@ -261,7 +261,7 @@ export class SpProcessChart { return pre; }, {}); let queryProcessThreadResult = await queryProcessThreads(); - let queryProcessThreadsByTableResult = await queryProcessThreadsByTable(); + let queryProcessThreadsByTableResult = await queryProcessThreadsByTable();// @ts-ignore this.processThreads = Utils.removeDuplicates(queryProcessThreadResult, queryProcessThreadsByTableResult, 'tid'); info('The amount of initialized process threads data is : ', this.processThreads!.length); } @@ -964,8 +964,8 @@ export class SpProcessChart { //Async Function addAsyncFunction(it: { pid: number; processName: string | null }, processRow: TraceRow): void { let asyncFuncList = this.processAsyncFuncMap[it.pid] || []; - let asyncFuncGroup = Utils.groupBy(asyncFuncList, 'funName'); - Reflect.ownKeys(asyncFuncGroup).map((key: any) => { + let asyncFuncGroup = Utils.groupBy(asyncFuncList, 'funName');// @ts-ignore + Reflect.ownKeys(asyncFuncGroup).map((key: any) => {// @ts-ignore let asyncFunctions: Array = asyncFuncGroup[key]; if (asyncFunctions.length > 0) { let isIntersect = (a: any, b: any): boolean => diff --git a/ide/src/trace/component/chart/SpSdkChart.ts b/ide/src/trace/component/chart/SpSdkChart.ts index 3fc0d9ca5..54b8efb49 100644 --- a/ide/src/trace/component/chart/SpSdkChart.ts +++ b/ide/src/trace/component/chart/SpSdkChart.ts @@ -174,7 +174,7 @@ export class SpSdkChart { return; } let res = await queryStartTime(); - let startTime = res[0].start_ts; + let startTime = res[0].start_ts;// @ts-ignore let tablesMap = this.parseJson(startTime, configMap); let tableKeys = tablesMap.keys(); for (let componentId of tableKeys) { @@ -297,7 +297,7 @@ export class SpSdkChart { sdkFolder.supplier = async (): Promise => new Promise<[]>((resolve) => resolve([])); sdkFolder.onThreadHandler = (useCache: boolean): void => { sdkFolder.canvasSave(this.trace.canvasPanelCtx!); - if (sdkFolder.expansion) { + if (sdkFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, sdkFolder.frame.width, sdkFolder.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( @@ -335,7 +335,7 @@ export class SpSdkChart { sdkSecondFolder.supplier = async (): Promise => new Promise<[]>((resolve) => resolve([])); sdkSecondFolder.onThreadHandler = (useCache: boolean): void => { sdkSecondFolder.canvasSave(this.trace.canvasPanelCtx!); - if (sdkSecondFolder.expansion) { + if (sdkSecondFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, sdkSecondFolder.frame.width, sdkSecondFolder.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpSegmentationChart.ts b/ide/src/trace/component/chart/SpSegmentationChart.ts index 796c6657e..82c4fda4b 100644 --- a/ide/src/trace/component/chart/SpSegmentationChart.ts +++ b/ide/src/trace/component/chart/SpSegmentationChart.ts @@ -200,7 +200,7 @@ export class SpSegmentationChart { row.supplier = (): Promise> => new Promise>((resolve) => resolve([])); row.onThreadHandler = (useCache): void => { row.canvasSave(SpSegmentationChart.trace.canvasPanelCtx!); - if (row.expansion) { + if (row.expansion) {// @ts-ignore SpSegmentationChart.trace.canvasPanelCtx?.clearRect(0, 0, row.frame.width, row.frame.height); } else { (renders['empty'] as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpVirtualMemChart.ts b/ide/src/trace/component/chart/SpVirtualMemChart.ts index 3f5c765a5..2b6d39d8a 100644 --- a/ide/src/trace/component/chart/SpVirtualMemChart.ts +++ b/ide/src/trace/component/chart/SpVirtualMemChart.ts @@ -48,7 +48,7 @@ export class SpVirtualMemChart { vmFolder.supplier = async (): Promise => new Promise<[]>((resolve) => resolve([])); vmFolder.onThreadHandler = (useCache): void => { vmFolder.canvasSave(this.trace.canvasPanelCtx!); - if (vmFolder.expansion) { + if (vmFolder.expansion) {// @ts-ignore this.trace.canvasPanelCtx?.clearRect(0, 0, vmFolder.frame.width, vmFolder.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/chart/SpVmTrackerChart.ts b/ide/src/trace/component/chart/SpVmTrackerChart.ts index ab8c8bd4f..ef5fc91da 100644 --- a/ide/src/trace/component/chart/SpVmTrackerChart.ts +++ b/ide/src/trace/component/chart/SpVmTrackerChart.ts @@ -162,7 +162,7 @@ export class VmTrackerChart { context = VmTrackerRow.collect ? this.trace.canvasFavoritePanelCtx! : this.trace.canvasPanelCtx!; } VmTrackerRow.canvasSave(context); - if (VmTrackerRow.expansion) { + if (VmTrackerRow.expansion) {// @ts-ignore context?.clearRect(0, 0, VmTrackerRow.frame.width, VmTrackerRow.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( @@ -203,7 +203,7 @@ export class VmTrackerChart { context = sMapsRow.collect ? this.trace.canvasFavoritePanelCtx! : this.trace.canvasPanelCtx!; } sMapsRow.canvasSave(context); - if (sMapsRow.expansion) { + if (sMapsRow.expansion) {// @ts-ignore context?.clearRect(0, 0, sMapsRow.frame.width, sMapsRow.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( @@ -243,7 +243,7 @@ export class VmTrackerChart { context = gpuTraceRow.collect ? this.trace.canvasFavoritePanelCtx! : this.trace.canvasPanelCtx!; } gpuTraceRow.canvasSave(context); - if (gpuTraceRow.expansion) { + if (gpuTraceRow.expansion) {// @ts-ignore context?.clearRect(0, 0, gpuTraceRow.frame.width, gpuTraceRow.frame.height); } else { (renders.empty as EmptyRender).renderMainThread( diff --git a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts index 6e690334c..1010f38b3 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts @@ -82,7 +82,7 @@ export class Top20FrequencyThread extends BaseElement { } } this.frequencyThreadPie?.showHover(); - }); + });// @ts-ignore this.frequencyThreadTbl!.itemTextHandleMap.set('freq', (value) => (value === -1 ? 'unknown' : value)); } diff --git a/ide/src/trace/component/trace/base/RangeSelect.ts b/ide/src/trace/component/trace/base/RangeSelect.ts index 8987c3c88..638cdf4ce 100644 --- a/ide/src/trace/component/trace/base/RangeSelect.ts +++ b/ide/src/trace/component/trace/base/RangeSelect.ts @@ -25,9 +25,9 @@ import { SpLtpoChart } from '../../chart/SpLTPO'; export class RangeSelect { private rowsEL: HTMLDivElement | undefined | null; private rowsPaneEL: HTMLDivElement | undefined | null; - isMouseDown: boolean = false; - public rangeTraceRow: Array> | undefined; - public selectHandler: ((ds: Array>, refreshCheckBox: boolean) => void) | undefined; + isMouseDown: boolean = false;// @ts-ignore + public rangeTraceRow: Array> | undefined;// @ts-ignore + public selectHandler: ((ds: Array>, refreshCheckBox: boolean) => void) | undefined; private startPageX: number = 0; private startPageY: number = 0; private endPageX: number = 0; @@ -84,7 +84,8 @@ export class RangeSelect { } // 对应查询方法行所有的数据 - queryRowsData(rowList: Array>): void { + // @ts-ignore + queryRowsData(rowList: Array>): void { rowList.forEach((row): void => { if (row.getAttribute('row-type') === 'func') { if (row.getAttribute('name')?.startsWith('render_service')) { @@ -99,29 +100,31 @@ export class RangeSelect { } // 查到所有的数据存储起来 - saveFrameRateData(row: TraceRow, funcName: string): void { - let dataList: any = []; + // @ts-ignore + saveFrameRateData(row: TraceRow, funcName: string): void { + let dataList: unknown = []; queryFuncRowData(funcName, Number(row?.getAttribute('row-id'))).then((res): void => { if (res.length) { - res.forEach((item): void => { + res.forEach((item): void => {// @ts-ignore dataList?.push({ startTime: item.startTime!, tid: item.tid }); }); - if (funcName === 'H:RSMainThread::DoComposition') { + if (funcName === 'H:RSMainThread::DoComposition') {// @ts-ignore this.docomList = dataList; - } else { + } else {// @ts-ignore this.repaintList = dataList; } } }); } // 查到present泳道所有的数据存储起来 - savePresentData(row: TraceRow, funcName: string): void { - let dataList: any = []; + // @ts-ignore + savePresentData(row: TraceRow, funcName: string): void { + let dataList: unknown = []; fuzzyQueryFuncRowData(funcName, Number(row?.getAttribute('row-id'))).then((res): void => { if (res.length) { - res.forEach((item): void => { + res.forEach((item): void => {// @ts-ignore dataList?.push({ endTime: item.endTime!, tid: item.tid }); - }); + });// @ts-ignore this.presentList = dataList; } }); @@ -143,8 +146,8 @@ export class RangeSelect { } this.isMouseDown = false; } - - checkRowsName(rowList: Array>): void { +// @ts-ignore + checkRowsName(rowList: Array>): void { rowList.forEach((row): void => { if ( row.getAttribute('row-type') === 'func' && @@ -162,13 +165,14 @@ export class RangeSelect { } // 过滤处理数据 - filterRateData(row: TraceRow, data: any): void { - data.forEach((it: any): void => { - if ( - it.startTime >= TraceRow.rangeSelectObject!.startNS! && - it.startTime <= TraceRow.rangeSelectObject!.endNS! && + // @ts-ignore + filterRateData(row: TraceRow, data: unknown): void {// @ts-ignore + data.forEach((it: unknown): void => { + if (// @ts-ignore + it.startTime >= TraceRow.rangeSelectObject!.startNS! &&// @ts-ignore + it.startTime <= TraceRow.rangeSelectObject!.endNS! &&// @ts-ignore Number(row.rowId) === Number(it.tid) - ) { + ) {// @ts-ignore row.frameRateList?.push(it.startTime); } }); @@ -184,13 +188,14 @@ export class RangeSelect { } // 过滤并处理present数据 - filterPresentData(row: TraceRow, data: any): void { - data.forEach((it: any): void => { - if ( - it.endTime >= TraceRow.rangeSelectObject!.startNS! && - it.endTime <= TraceRow.rangeSelectObject!.endNS! && + // @ts-ignore + filterPresentData(row: TraceRow, data: unknown): void {// @ts-ignore + data.forEach((it: unknown): void => { + if (// @ts-ignore + it.endTime >= TraceRow.rangeSelectObject!.startNS! &&// @ts-ignore + it.endTime <= TraceRow.rangeSelectObject!.endNS! &&// @ts-ignore Number(row.rowId) === Number(it.tid) - ) { + ) {// @ts-ignore row.frameRateList?.push(it.endTime); } }); @@ -251,8 +256,8 @@ export class RangeSelect { document.getSelection()?.removeAllRanges(); this.isMouseDown = false; } - - mouseMove(rows: Array>, ev: MouseEvent): void { +// @ts-ignore + mouseMove(rows: Array>, ev: MouseEvent): void { this.endPageX = ev.pageX; this.endPageY = ev.pageY; if (this.isTouchMark(ev) && TraceRow.rangeSelectObject) { @@ -272,8 +277,8 @@ export class RangeSelect { this.timerShaftEL!.sportRuler!.isRangeSelect = this.rangeTraceRow!.length > 0; this.timerShaftEL!.sportRuler!.draw(); } - - private handleRangeSelect(rows: Array>): void { +// @ts-ignore + private handleRangeSelect(rows: Array>): void { let rangeSelect: RangeSelectStruct | undefined; let favoriteRect = this.trace?.favoriteChartListEL?.getBoundingClientRect(); let favoriteLimit = favoriteRect!.top + favoriteRect!.height; @@ -305,7 +310,7 @@ export class RangeSelect { rangeSelect = new RangeSelectStruct(); let startX = Math.min(this.startPageX, this.endPageX) - it.describeEl!.getBoundingClientRect().right; let endX = Math.max(this.startPageX, this.endPageX) - it.describeEl!.getBoundingClientRect().right; - if (startX <= 0) {startX = 0} + if (startX <= 0) {startX = 0}// @ts-ignore if (endX > it.frame.width) {endX = it.frame.width} rangeSelect.startX = startX; rangeSelect.endX = endX; @@ -334,8 +339,8 @@ export class RangeSelect { this.timerShaftEL!.sportRuler!.isRangeSelect = this.rangeTraceRow?.isNotEmpty() ?? false; this.timerShaftEL!.sportRuler!.draw(); } - - private handleRangeSelectAndDraw(rows: Array>, ev: MouseEvent): void { +// @ts-ignore + private handleRangeSelectAndDraw(rows: Array>, ev: MouseEvent): void { let rangeSelect: RangeSelectStruct | undefined; this.rangeTraceRow = rows.filter((it) => { if (it.rangeSelect) { @@ -359,7 +364,7 @@ export class RangeSelect { } if (startX < 0) { rangeSelect.startNS = TraceRow.rangeSelectObject!.startNS!; - } + }// @ts-ignore if (endX > it.frame.width) { rangeSelect.endNS = TraceRow.rangeSelectObject!.endNS!; } @@ -396,9 +401,9 @@ export class RangeSelect { document.body.style.cursor = 'default'; } } - - static SetNS(row: TraceRow, num: number): number { - return Math.floor( +// @ts-ignore + static SetNS(row: TraceRow, num: number): number { + return Math.floor(// @ts-ignore ((TraceRow.range!.endNS - TraceRow.range!.startNS) * num) / row.frame.width + TraceRow.range!.startNS! ); } diff --git a/ide/src/trace/component/trace/base/TraceRow.ts b/ide/src/trace/component/trace/base/TraceRow.ts index b674a42d6..05affa969 100644 --- a/ide/src/trace/component/trace/base/TraceRow.ts +++ b/ide/src/trace/component/trace/base/TraceRow.ts @@ -40,13 +40,13 @@ export class RangeSelectStruct { endNS: number | undefined; } -let collectList: Array = []; +let collectList: Array = []; let rowDragElement: EventTarget | undefined | null; let dragDirection: string = ''; @element('trace-row') export class TraceRow extends HTMLElement { - sharedArrayBuffers: any; + sharedArrayBuffers: unknown; intersectionRatio: number = 0; static ROW_TYPE_SPSEGNENTATION = 'spsegmentation'; static ROW_TYPE_CPU_COMPUTILITY = 'cpu-computility'; @@ -131,8 +131,8 @@ export class TraceRow extends HTMLElement { static FRAME_WIDTH: number = 0; static range: TimeRange | undefined | null; static rangeSelectObject: RangeSelectStruct | undefined; - static ROW_TYPE_HI_SYSEVENT = 'hi-sysevent'; - public obj: TraceRowObject | undefined | null; + static ROW_TYPE_HI_SYSEVENT = 'hi-sysevent';// @ts-ignore + public obj: TraceRowObject | undefined | null; isHover: boolean = false; hoverX: number = 0; hoverY: number = 0; @@ -153,11 +153,11 @@ export class TraceRow extends HTMLElement { public checkBoxEL: LitCheckBox | null | undefined; public collectEL: LitIcon | null | undefined; public onThreadHandler: ((useCache: boolean, buf: ArrayBuffer | undefined | null) => void) | undefined | null; - public onRowSettingChangeHandler: ((keys: Array, nodes: Array) => void) | undefined | null; + public onRowSettingChangeHandler: ((keys: Array, nodes: Array) => void) | undefined | null; public onRowCheckFileChangeHandler: (() => void) | undefined | null; - public supplier: (() => Promise>) | undefined | null; - public favoriteChangeHandler: ((fav: TraceRow) => void) | undefined | null; - public selectChangeHandler: ((traceRow: TraceRow) => void) | undefined | null; + public supplier: (() => Promise>) | undefined | null;// @ts-ignore + public favoriteChangeHandler: ((fav: TraceRow) => void) | undefined | null;// @ts-ignore + public selectChangeHandler: ((traceRow: TraceRow) => void) | undefined | null; dpr = window.devicePixelRatio || 1; // @ts-ignore offscreen: Array = []; @@ -167,13 +167,13 @@ export class TraceRow extends HTMLElement { public _frame: Rect | undefined; public isLoading: boolean = false; public tampName: string = ''; - public readonly args: any; + public readonly args: unknown; public templateType: Set = new Set(); private rootEL: HTMLDivElement | null | undefined; private nameEL: HTMLLabelElement | null | undefined; private rowSettingTree: LitTree | null | undefined; private rowSettingPop: LitPopover | null | undefined; - private fileEL: any; + private fileEL: unknown; private rowCheckFilePop: LitPopover | null | undefined; private _rangeSelect: boolean = false; private _drawType: number = 0; @@ -183,11 +183,12 @@ export class TraceRow extends HTMLElement { asyncFuncName: string | undefined | null; asyncFuncNamePID: number | undefined | null; translateY: number = 0; //single canvas offsetY; - childrenList: Array> = []; - parentRowEl: TraceRow | undefined; + // @ts-ignore + childrenList: Array> = [];// @ts-ignore + parentRowEl: TraceRow | undefined; _rowSettingList: Array | null | undefined; public supplierFrame: (() => Promise>) | undefined | null; //实时查询 - public getCacheData: ((arg: any) => Promise> | undefined) | undefined; //实时查询 + public getCacheData: ((arg: unknown) => Promise> | undefined) | undefined; //实时查询 public loadingFrame: boolean = false; //实时查询,正在查询中 public needRefresh: boolean = true; _frameRateList: Array | undefined; //存储平均帧率数据 @@ -542,8 +543,8 @@ export class TraceRow extends HTMLElement { this.toParentAddTemplateType(this); } } - - toParentAddTemplateType = (currentRowEl: TraceRow): void => { +// @ts-ignore + toParentAddTemplateType = (currentRowEl: TraceRow): void => { let parentRow = currentRowEl.parentRowEl; if (parentRow !== undefined) { currentRowEl.templateType.forEach((item) => { @@ -563,8 +564,8 @@ export class TraceRow extends HTMLElement { if (this.isHover) { if (maxKey) { let arr = this.dataListCache - .filter((re) => re.frame && isFrameContainPoint(re.frame, this.hoverX, this.hoverY, strict, offset)) - .sort((targetA, targetB) => (targetB as any)[maxKey] - (targetA as any)[maxKey]); + .filter((re) => re.frame && isFrameContainPoint(re.frame, this.hoverX, this.hoverY, strict, offset))// @ts-ignore + .sort((targetA, targetB) => (targetB as unknown)[maxKey] - (targetA as unknown)[maxKey]); return arr[0]; } else { return this.dataListCache.find( @@ -573,8 +574,8 @@ export class TraceRow extends HTMLElement { } } } - - addChildTraceRow(child: TraceRow): void { +// @ts-ignore + addChildTraceRow(child: TraceRow): void {// @ts-ignore TraceRowConfig.allTraceRowList.push(child); child.parentRowEl = this; this.toParentAddTemplateType(child); @@ -583,8 +584,8 @@ export class TraceRow extends HTMLElement { child.rowHidden = false; this.fragment.appendChild(child); } - - addChildTraceRowAfter(child: TraceRow, targetRow: TraceRow): void { +// @ts-ignore + addChildTraceRowAfter(child: TraceRow, targetRow: TraceRow): void {// @ts-ignore TraceRowConfig.allTraceRowList.push(child); child.parentRowEl = this; this.toParentAddTemplateType(child); @@ -645,8 +646,8 @@ export class TraceRow extends HTMLElement { }); this.describeEl?.appendChild(this.sampleUploadEl!); } - - addChildTraceRowSpecifyLocation(child: TraceRow, index: number): void { +// @ts-ignore + addChildTraceRowSpecifyLocation(child: TraceRow, index: number): void {// @ts-ignore TraceRowConfig.allTraceRowList.push(child); child.parentRowEl = this; child.setAttribute('scene', ''); @@ -695,15 +696,15 @@ export class TraceRow extends HTMLElement { ]; let filterOrderArr: Array> = []; let filterNotOrderArr: Array> = []; - for (let i = 0; i < threadRowArr.length; i++) { - const element: TraceRow = threadRowArr[i]; + for (let i = 0; i < threadRowArr.length; i++) {// @ts-ignore + const element: TraceRow = threadRowArr[i]; let renderFlag: boolean = element.name.startsWith('render_service') && element.rowId === element.rowParentId ? true : false; - if (renderFlag) { + if (renderFlag) {// @ts-ignore filterOrderArr.push(element); - } else if (order.includes(element.namePrefix!) && !element.name.startsWith('render_service')) { + } else if (order.includes(element.namePrefix!) && !element.name.startsWith('render_service')) {// @ts-ignore filterOrderArr.push(element); - } else if (!order.includes(element.namePrefix!) || !renderFlag) { + } else if (!order.includes(element.namePrefix!) || !renderFlag) {// @ts-ignore filterNotOrderArr.push(element); } } @@ -723,7 +724,7 @@ export class TraceRow extends HTMLElement { } } - get frame(): Rect | any { + get frame(): Rect | unknown { if (this._frame) { this._frame.width = TraceRow.FRAME_WIDTH; this._frame.height = this.clientHeight; @@ -789,9 +790,9 @@ export class TraceRow extends HTMLElement { } set drawType(value: number) { - this._drawType = value; - let radioList: NodeListOf = this.shadowRoot!.querySelectorAll('input[type=radio][name=status]'); - if (radioList!.length > 0) { + this._drawType = value;// @ts-ignore + let radioList: NodeListOf = this.shadowRoot!.querySelectorAll('input[type=radio][name=status]'); + if (radioList!.length > 0) {// @ts-ignore radioList[Number(value)].checked = true; } } @@ -825,8 +826,8 @@ export class TraceRow extends HTMLElement { this.describeEl = this.shadowRoot?.querySelector('.describe'); this.nameEL = this.shadowRoot?.querySelector('.name'); this.canvasVessel = this.shadowRoot?.querySelector('.panel-vessel'); - this.tipEL = this.shadowRoot?.querySelector('.tip'); - let canvasNumber = this.args.canvasNumber; + this.tipEL = this.shadowRoot?.querySelector('.tip');// @ts-ignore + let canvasNumber = this.args.canvasNumber;// @ts-ignore if (!this.args.skeleton) { for (let i = 0; i < canvasNumber; i++) { let canvas = document.createElement('canvas'); @@ -846,7 +847,7 @@ export class TraceRow extends HTMLElement { }); this.funcExpand = true; if (this.rowSettingTree) { - this.rowSettingTree.onChange = (e: any): void => { + this.rowSettingTree.onChange = (e: unknown): void => { // @ts-ignore this.rowSettingPop!.visible = false; if (this.rowSettingTree?.multiple) { @@ -863,8 +864,8 @@ export class TraceRow extends HTMLElement { } private checkBoxEvent(): void { - this.checkBoxEL!.onchange = (ev: any): void => { - info('checkBoxEL onchange '); + this.checkBoxEL!.onchange = (ev: unknown): void => { + info('checkBoxEL onchange ');// @ts-ignore if (!ev.target.checked) { info('checkBoxEL target not checked'); this.rangeSelect = false; @@ -872,12 +873,12 @@ export class TraceRow extends HTMLElement { } else { this.rangeSelect = true; this.checkType = '2'; - } - this.setCheckBox(ev.target.checked); + }// @ts-ignore + this.setCheckBox(ev.target.checked);// @ts-ignore ev.stopPropagation(); }; // 防止事件冒泡触发两次describeEl的点击事件 - this.checkBoxEL!.onclick = (ev: any): void => { + this.checkBoxEL!.onclick = (ev: unknown): void => {// @ts-ignore ev.stopPropagation(); }; } @@ -895,9 +896,9 @@ export class TraceRow extends HTMLElement { window.publish(window.SmartEvent.UI.HoverNull, undefined); }); this.fileEL = this.rowCheckFilePop.querySelector('#jsoninput'); - this.rowCheckFilePop.addEventListener('click', (e): void => { + this.rowCheckFilePop.addEventListener('click', (e): void => {// @ts-ignore this.fileEL.click(); - }); + });// @ts-ignore this.fileEL.addEventListener('click', (event: Event) => { event.stopPropagation(); }); @@ -909,10 +910,10 @@ export class TraceRow extends HTMLElement { that.onRowCheckFileChangeHandler?.(); } } - }); + });// @ts-ignore this.fileEL.addEventListener( 'change', - (e: any): void => { + (e: unknown): void => {// @ts-ignore let file = e.target.files[0]; if (file && file.type === 'application/json') { let file_reader = new FileReader(); @@ -921,7 +922,7 @@ export class TraceRow extends HTMLElement { let fc = file_reader.result; window.sessionStorage.setItem('freqInfoData', JSON.stringify(fc)); this.onRowCheckFileChangeHandler?.(); - alert('json文件上传成功!'); + alert('json文件上传成功!');// @ts-ignore this.fileEL.value = ''; }; } else { @@ -1063,7 +1064,7 @@ export class TraceRow extends HTMLElement { this.canvas.forEach((it): void => { this.canvasWidth = Math.ceil((width - (this.describeEl?.clientWidth || 248)) * this.dpr); this.canvasHeight = Math.ceil(tempHeight * this.dpr); - it!.style.width = `${width - (this.describeEl?.clientWidth || 248) }px`; + it!.style.width = `${width - (this.describeEl?.clientWidth || 248) }px`;// @ts-ignore if (this.args.isOffScreen) { this.draw(true); } @@ -1090,7 +1091,7 @@ export class TraceRow extends HTMLElement { connectedCallback(): void { this.describeEl!.ondragstart = (ev: DragEvent): void => this.rowDragstart(ev); - this.describeEl!.ondragleave = (ev: any): void => { + this.describeEl!.ondragleave = (ev: unknown): void => {// @ts-ignore this.drawLine(ev.currentTarget, ''); return undefined; }; @@ -1111,37 +1112,37 @@ export class TraceRow extends HTMLElement { }) ); this.favoriteChangeHandler?.(this); - }; + };// @ts-ignore if (!this.args.skeleton) { this.initCanvas(this.canvas); } } private describeElEvent(): void { - this.describeEl!.ondragend = (ev: any): void => { - rowDragElement = null; - ev.target.classList.remove('drag'); + this.describeEl!.ondragend = (ev: unknown): void => { + rowDragElement = null;// @ts-ignore + ev.target.classList.remove('drag');// @ts-ignore this.drawLine(ev.currentTarget, ''); return undefined; }; - this.describeEl!.ondragover = (ev: any): undefined => { + this.describeEl!.ondragover = (ev: unknown): undefined => { if (!this.collect || rowDragElement === this) { return; - } - let rect = ev.currentTarget.getBoundingClientRect(); + }// @ts-ignore + let rect = ev.currentTarget.getBoundingClientRect();// @ts-ignore if (ev.clientY >= rect.top && ev.clientY < rect.top + rect.height / 2) { //上面 - dragDirection = 'top'; - this.drawLine(ev.currentTarget, 'top'); + dragDirection = 'top';// @ts-ignore + this.drawLine(ev.currentTarget, 'top');// @ts-ignore } else if (ev.clientY <= rect.bottom && ev.clientY > rect.top + rect.height / 2) { //下面 - dragDirection = 'bottom'; + dragDirection = 'bottom';// @ts-ignore this.drawLine(ev.currentTarget, 'bottom'); } return undefined; }; - this.describeEl!.ondrop = (ev: any): void => { - if (!this.collect) {return} + this.describeEl!.ondrop = (ev: unknown): void => { + if (!this.collect) {return}// @ts-ignore this.drawLine(ev.currentTarget, ''); let spacer = this.parentElement!.previousElementSibling! as HTMLDivElement; let startDragNode = collectList.findIndex((it): boolean => it === rowDragElement); @@ -1154,17 +1155,17 @@ export class TraceRow extends HTMLElement { } collectList.splice(endDragNode, 0, ...collectList.splice(startDragNode, 1)); collectList.forEach((it, i): void => { - if (i === 0) { + if (i === 0) {// @ts-ignore it.style.top = `${spacer.offsetTop + 48}px`; - } else { + } else {// @ts-ignore it.style.top = `${collectList[i - 1].offsetTop + collectList[i - 1].offsetHeight}px`; } }); }; } - rowDragstart(ev: any): void { - rowDragElement = this; + rowDragstart(ev: unknown): void { + rowDragElement = this;// @ts-ignore ev.target.classList.add('drag'); } @@ -1193,7 +1194,7 @@ export class TraceRow extends HTMLElement { return null; } - setTipLeft(x: number, struct: any): void { + setTipLeft(x: number, struct: unknown): void { if (struct === null && this.tipEL) { this.tipEL.style.display = 'none'; return; @@ -1268,8 +1269,8 @@ export class TraceRow extends HTMLElement { } if (this.online) { if (!useCache && !TraceRow.isUserInteraction) { - this.supplier?.().then((res) => { - this.onThreadHandler?.(useCache, res as any); + this.supplier?.().then((res) => {// @ts-ignore + this.onThreadHandler?.(useCache, res as unknown); }); } this.onThreadHandler?.(useCache, null); @@ -1308,7 +1309,7 @@ export class TraceRow extends HTMLElement { canvasSave(ctx: CanvasRenderingContext2D): void { ctx.save(); ctx.translate(0, this.translateY); - const clipRect = new Path2D(); + const clipRect = new Path2D();// @ts-ignore clipRect.rect(0, 0, this.frame.width, this.frame.height); ctx.clip(clipRect); } @@ -1349,7 +1350,7 @@ export class TraceRow extends HTMLElement { TraceRow.rangeSelectObject!.startNS!, TraceRow.range!.startNS, TraceRow.range!.endNS, - TraceRow.range!.totalNS!, + TraceRow.range!.totalNS!,// @ts-ignore this.frame ) ); @@ -1358,7 +1359,7 @@ export class TraceRow extends HTMLElement { TraceRow.rangeSelectObject!.endNS!, TraceRow.range!.startNS, TraceRow.range!.endNS, - TraceRow.range!.totalNS!, + TraceRow.range!.totalNS!,// @ts-ignore this.frame ) ); @@ -1366,9 +1367,9 @@ export class TraceRow extends HTMLElement { ctx.globalAlpha = 0.5; ctx.fillStyle = '#666666'; ctx.fillRect( - TraceRow.rangeSelectObject!.startX!, + TraceRow.rangeSelectObject!.startX!,// @ts-ignore this.frame.y, - TraceRow.rangeSelectObject!.endX! - TraceRow.rangeSelectObject!.startX!, + TraceRow.rangeSelectObject!.endX! - TraceRow.rangeSelectObject!.startX!,// @ts-ignore this.frame.height ); ctx.globalAlpha = 1; @@ -1383,8 +1384,8 @@ export class TraceRow extends HTMLElement { ); } - buildArgs(obj: any): any { - let result: any = { + buildArgs(obj: unknown): unknown { + let result: unknown = { list: this.must ? this.dataList : undefined, offscreen: !this.isTransferCanvas ? this.offscreen[0] : undefined, //是否离屏 dpr: this.dpr, //屏幕dpr值 @@ -1407,14 +1408,14 @@ export class TraceRow extends HTMLElement { flagMoveInfo: null, flagSelectedInfo: null, wakeupBean: null, - }; - Reflect.ownKeys(obj).forEach((it): void => { + };// @ts-ignore + Reflect.ownKeys(obj).forEach((it): void => {// @ts-ignore result[it] = obj[it]; }); return result; } - getTransferArray(): any[] { + getTransferArray(): unknown[] { let tsf = []; if (!this.isTransferCanvas) { tsf.push(this.offscreen[0]); @@ -1434,7 +1435,7 @@ export class TraceRow extends HTMLElement { } break; case 'height': - if (newValue !== oldValue) { + if (newValue !== oldValue) {// @ts-ignore if (!this.args.isOffScreen) { } } diff --git a/ide/src/trace/component/trace/base/TraceRowConfig.ts b/ide/src/trace/component/trace/base/TraceRowConfig.ts index 2f8a80067..d7c0e23c1 100644 --- a/ide/src/trace/component/trace/base/TraceRowConfig.ts +++ b/ide/src/trace/component/trace/base/TraceRowConfig.ts @@ -203,7 +203,7 @@ export class TraceRowConfig extends BaseElement { while (upParentRow.hasParentRowEl) { if (!upParentRow.parentRowEl) { break; - } + }// @ts-ignore upParentRow = upParentRow.parentRowEl; } if (upParentRow === row) { @@ -278,7 +278,7 @@ export class TraceRowConfig extends BaseElement { let isShowRow: boolean = false; if (this.selectTypeList!.length === 0) { traceRow.rowHidden = false; - traceRow.setAttribute('scene', ''); + traceRow.setAttribute('scene', '');// @ts-ignore this.refreshChildRow(traceRow.childrenList, true); } else { let templateTypeList = [...traceRow.templateType]; @@ -288,13 +288,13 @@ export class TraceRowConfig extends BaseElement { if (traceRow.templateType.size > 0) { traceRow.rowHidden = false; traceRow.setAttribute('scene', ''); - if (traceRow.childrenList && traceRow.childrenList.length > 0) { + if (traceRow.childrenList && traceRow.childrenList.length > 0) {// @ts-ignore this.refreshChildRow(traceRow.childrenList, isShowRow); } } } else { traceRow.removeAttribute('scene'); - traceRow.rowHidden = true; + traceRow.rowHidden = true;// @ts-ignore this.refreshChildRow(traceRow.childrenList); } } @@ -361,14 +361,14 @@ export class TraceRowConfig extends BaseElement { childRows.forEach((row) => { if (isShowScene) { row.setAttribute('scene', ''); - if (row.childrenList && row.childrenList.length > 0) { + if (row.childrenList && row.childrenList.length > 0) {// @ts-ignore this.refreshChildRow(row.childrenList, isShowScene); } row.expansion = false; } else { row.removeAttribute('scene'); row.rowHidden = true; - if (row.childrenList && row.childrenList.length > 0) { + if (row.childrenList && row.childrenList.length > 0) {// @ts-ignore this.refreshChildRow(row.childrenList); } } @@ -551,13 +551,13 @@ export class TraceRowConfig extends BaseElement { } // 构建节点关系 - private buildSubSystemTreeData(id: number, configJson: any): SubsystemNode[] { - let subsystemsKey: string = 'subsystems'; + private buildSubSystemTreeData(id: number, configJson: unknown): SubsystemNode[] { + let subsystemsKey: string = 'subsystems';// @ts-ignore let keys = Object.keys(configJson); if (keys.indexOf(subsystemsKey) < 0) { return []; } - let subSystems: SubsystemNode[] = []; + let subSystems: SubsystemNode[] = [];// @ts-ignore let subsystemsData = configJson[subsystemsKey]; this.initOtherRowNames(); let subsystemList = []; @@ -617,9 +617,9 @@ export class TraceRowConfig extends BaseElement { } } - private setSubsystemComp(currentCompDate: any, id: number, subsystemStruct: SubsystemNode): number { - let currentCompName = currentCompDate.component; - let currentChartDates = currentCompDate.charts; + private setSubsystemComp(currentCompDate: unknown, id: number, subsystemStruct: SubsystemNode): number {// @ts-ignore + let currentCompName = currentCompDate.component;// @ts-ignore + let currentChartDates = currentCompDate.charts;// @ts-ignore id++; let componentStruct: SubsystemNode = { id: id, diff --git a/ide/src/trace/component/trace/base/TraceRowRecyclerView.ts b/ide/src/trace/component/trace/base/TraceRowRecyclerView.ts index e7add7efe..a85feb109 100644 --- a/ide/src/trace/component/trace/base/TraceRowRecyclerView.ts +++ b/ide/src/trace/component/trace/base/TraceRowRecyclerView.ts @@ -16,29 +16,29 @@ import { BaseElement, element } from '../../../../base-ui/BaseElement'; import { TraceRowObject } from './TraceRowObject'; import { TraceRow } from './TraceRow'; import { log } from '../../../../log/Log'; - +// @ts-ignore @element('trace-row-recycler-view') export class TraceRowRecyclerView extends BaseElement { private recycler: boolean = true; private gasketEL: HTMLDivElement | null | undefined; private vessel: HTMLDivElement | null | undefined; - private visibleRowsCount: number = 0; - private visibleObjects: TraceRowObject[] = []; + private visibleRowsCount: number = 0;// @ts-ignore + private visibleObjects: TraceRowObject[] = []; private totalHeight: number = 0; - - private _dataSource: Array> = []; +// @ts-ignore + private _dataSource: Array> = []; private _renderType: string = 'div'; - - get dataSource(): Array> { +// @ts-ignore + get dataSource(): Array> { return this._dataSource; } - - set dataSource(value: Array>) { +// @ts-ignore + set dataSource(value: Array>) { log(`dataSource TraceRowObject size :${ value.length}`); this._dataSource = value; this.measureHeight(); - this.initUI(); - let els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; + this.initUI();// @ts-ignore + let els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; for (let i = 0; i < els.length; i++) { this.refreshRow(els[i], this.visibleObjects[i]); } @@ -51,8 +51,8 @@ export class TraceRowRecyclerView extends BaseElement { set renderType(value: string) { this._renderType = value; } - - refreshRow(el: TraceRow, obj: TraceRowObject): void { +// @ts-ignore + refreshRow(el: TraceRow, obj: TraceRowObject): void { if (!obj) { return; } @@ -77,8 +77,8 @@ export class TraceRowRecyclerView extends BaseElement { initElements(): void { this.vessel = this.shadowRoot?.querySelector('.vessel'); - this.gasketEL = this.shadowRoot?.querySelector('.gasket'); - let els: Array> | undefined | null; + this.gasketEL = this.shadowRoot?.querySelector('.gasket');// @ts-ignore + let els: Array> | undefined | null; this.vessel!.onscroll = (ev): void => { let top = this.vessel!.scrollTop; let skip = 0; @@ -91,8 +91,8 @@ export class TraceRowRecyclerView extends BaseElement { if (skip < 0) { skip = 0; } - if (!els) { - els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; + if (!els) {// @ts-ignore + els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; } for (let i = 0; i < els.length; i++) { let obj = this.visibleObjects[i + skip]; @@ -123,8 +123,8 @@ export class TraceRowRecyclerView extends BaseElement { if (!this.recycler) { this.visibleRowsCount = this.dataSource.length; } - for (let i = 0; i <= this.visibleRowsCount; i++) { - let el = new TraceRow({ + for (let i = 0; i <= this.visibleRowsCount; i++) {// @ts-ignore + let el = new TraceRow({ canvasNumber: 1, alpha: true, contextId: '2d', @@ -132,15 +132,15 @@ export class TraceRowRecyclerView extends BaseElement { }); el.className = 'recycler-cell'; this.vessel?.appendChild(el); - el.addEventListener('expansion-change', (ev: any): void => { + el.addEventListener('expansion-change', (ev: unknown): void => {// @ts-ignore el.obj!.expansion = ev.detail.expansion; - for (let j = 0; j < this.dataSource.length; j++) { - if (this.dataSource[j].rowParentId === ev.detail.rowId) { + for (let j = 0; j < this.dataSource.length; j++) {// @ts-ignore + if (this.dataSource[j].rowParentId === ev.detail.rowId) {// @ts-ignore this.dataSource[j].rowHidden = !ev.detail.expansion; } } - this.measureHeight(); - let els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; + this.measureHeight();// @ts-ignore + let els = [...this.shadowRoot!.querySelectorAll>('.recycler-cell')]; let top = this.vessel!.scrollTop; let skip = 0; for (let i = 0; i < this.visibleObjects.length; i++) { diff --git a/ide/src/trace/component/trace/base/TraceSheet.ts b/ide/src/trace/component/trace/base/TraceSheet.ts index 4b314b712..a5a219c42 100644 --- a/ide/src/trace/component/trace/base/TraceSheet.ts +++ b/ide/src/trace/component/trace/base/TraceSheet.ts @@ -117,14 +117,14 @@ export class TraceSheet extends BaseElement { } buildTabs(litTabs: LitTabs | undefined | null): void { - this.fragment = document.createDocumentFragment(); + this.fragment = document.createDocumentFragment();// @ts-ignore Reflect.ownKeys(tabConfig).forEach((key, index): void => { let pane = new LitTabpane(); pane.id = key.toString(); - pane.className = 'tabHeight'; + pane.className = 'tabHeight';// @ts-ignore pane.tab = tabConfig[key].title; - pane.hidden = true; - pane.key = `${tabConfig[key].key || index}`; + pane.hidden = true;// @ts-ignore + pane.key = `${tabConfig[key].key || index}`;// @ts-ignore let cls = tabConfig[key].type; let node = new cls(); pane.append(node); @@ -191,8 +191,8 @@ export class TraceSheet extends BaseElement { this.updateRangeSelect(selectIPid); this.lastSelectIPid = selectIPid; }; - this.buildTabs(this.litTabs); - this.litTabs!.onTabClick = (e: any): void => this.loadTabPaneData(e.detail.key); + this.buildTabs(this.litTabs);// @ts-ignore + this.litTabs!.onTabClick = (e: unknown): void => this.loadTabPaneData(e.detail.key); this.tableCloseHandler(); this.rowClickEvent(); } @@ -306,10 +306,10 @@ export class TraceSheet extends BaseElement { } private tableCloseHandler(): void { - this.litTabs!.addEventListener('close-handler', () => { + this.litTabs!.addEventListener('close-handler', () => {// @ts-ignore Reflect.ownKeys(tabConfig) .reverse() - .forEach((id) => { + .forEach((id) => {// @ts-ignore let element = tabConfig[id]; let pane = this.shadowRoot!.querySelector(`#${id as string}`); if (element.require) { @@ -362,8 +362,8 @@ export class TraceSheet extends BaseElement { window.publish(window.SmartEvent.UI.ShowBottomTab, { show: 2, delta: beforeHeight - this.clientHeight }); litTabpane!.forEach((node: HTMLDivElement) => (node!.style.height = '0px')); tabsPackUp!.name = 'up'; - tabsPackUp!.title = 'Reset Tab'; - (window as any).isPackUpTable = true; + tabsPackUp!.title = 'Reset Tab';// @ts-ignore + (window as unknown).isPackUpTable = true; } else { tabsPackUp!.name = 'down'; tabsPackUp!.title = 'Minimize Tab'; @@ -504,11 +504,11 @@ export class TraceSheet extends BaseElement { 'upload-so', '', fileList, - (res: any) => { - importFileBt!.disabled = false; + (res: unknown) => { + importFileBt!.disabled = false;// @ts-ignore if (res.result === 'ok') { window.publish(window.SmartEvent.UI.UploadSOFile, {}); - } else { + } else {// @ts-ignore const failedList = res.failedArray.join(','); window.publish(window.SmartEvent.UI.Error, `parse so file ${failedList} failed!`); } @@ -618,8 +618,8 @@ export class TraceSheet extends BaseElement { displayThreadData = ( data: ThreadStruct, scrollCallback: ((e: ThreadStruct) => void) | undefined, - scrollWakeUp: (d: any) => void | undefined, - callback?: (data: Array, str: string) => void + scrollWakeUp: (d: unknown) => void | undefined, + callback?: (data: Array, str: string) => void ): Promise => this.displayTab('current-selection').setThreadData( data, @@ -633,7 +633,7 @@ export class TraceSheet extends BaseElement { this.displayTab('current-selection').setClockData(data); displayIrqData = (data: IrqStruct): void => this.displayTab('current-selection').setIrqData(data); - displayStartupData = (data: AppStartupStruct, scrollCallback: Function, rowData: any): void => + displayStartupData = (data: AppStartupStruct, scrollCallback: Function, rowData: unknown): void => this.displayTab('current-selection').setStartupData(data, scrollCallback, rowData); displayAllStartupData = (data: AllAppStartupStruct, scrollCallback: Function): void => this.displayTab('current-selection').setAllStartupData(data, scrollCallback); @@ -673,7 +673,7 @@ export class TraceSheet extends BaseElement { this.displayTab('current-selection').setCpuData(data, callback, scrollCallback); displayJankData = ( data: JankStruct, - callback: ((data: Array) => void) | undefined = undefined, + callback: ((data: Array) => void) | undefined = undefined, scrollCallback: ((e: JankStruct) => void) | undefined ): void => this.displayTab('current-selection').setJankData(data, callback, scrollCallback); displayShmData = (data: SnapshotStruct, dataList: Array): void => { @@ -869,10 +869,10 @@ export class TraceSheet extends BaseElement { this.exportBt!.style.display = 'flex'; this.showUploadSoBt(selection); this.showSwitchProcessBt(selection); - this.showOptionsBt(selection); + this.showOptionsBt(selection);// @ts-ignore Reflect.ownKeys(tabConfig) .reverse() - .forEach((id) => { + .forEach((id) => {// @ts-ignore let element = tabConfig[id]; let pane = this.shadowRoot!.querySelector(`#${id as string}`); if (pane) { @@ -1016,10 +1016,10 @@ export class TraceSheet extends BaseElement { } loadTabPaneData(key: string): void { - let component: any = this.shadowRoot + let component: unknown = this.shadowRoot ?.querySelector(`#tabs lit-tabpane[key='${key}']`) ?.children.item(0); - if (component) { + if (component) {// @ts-ignore component.data = this.selection; if (this.selection) { this.selection.isRowClick = false; @@ -1037,7 +1037,7 @@ export class TraceSheet extends BaseElement { window.publish(window.SmartEvent.UI.ShowBottomTab, { show: show, delta: delta }); } - rowClickHandler(e: any): void { + rowClickHandler(e: unknown): void {// @ts-ignore this.currentPaneID = e.target.parentElement.id; this.shadowRoot!.querySelectorAll('lit-tabpane').forEach((it): boolean => it.id !== this.currentPaneID ? (it.hidden = true) : (it.hidden = false) @@ -1045,14 +1045,14 @@ export class TraceSheet extends BaseElement { let pane = this.getPaneByID('box-cpu-child'); pane.closeable = true; pane.hidden = false; - this.litTabs!.activeByKey(pane.key); + this.litTabs!.activeByKey(pane.key);// @ts-ignore pane.tab = Utils.transferPTSTitle(e.detail.title); let param = new BoxJumpParam(); param.leftNs = this.selection!.leftNs; param.rightNs = this.selection!.rightNs; - param.cpus = this.selection!.cpus; - param.state = e.detail.state; - param.processId = e.detail.pid; + param.cpus = this.selection!.cpus;// @ts-ignore + param.state = e.detail.state;// @ts-ignore + param.processId = e.detail.pid;// @ts-ignore param.threadId = e.detail.tid; (pane.children.item(0) as TabPaneBoxChild).data = param; } diff --git a/ide/src/trace/component/trace/base/TraceSheetConfig.ts b/ide/src/trace/component/trace/base/TraceSheetConfig.ts index 9c851b11b..a0a5f6bae 100644 --- a/ide/src/trace/component/trace/base/TraceSheetConfig.ts +++ b/ide/src/trace/component/trace/base/TraceSheetConfig.ts @@ -129,7 +129,7 @@ import { TabPaneSampleInstructionTotalTime } from '../sheet/bpftrace/TabPaneSamp import { TabPaneSampleInstructionSelection } from '../sheet/bpftrace/TabPaneSampleInstructionSelection'; import { TabPaneDataCut } from '../sheet/TabPaneDataCut'; -export let tabConfig: any = { +export let tabConfig: unknown = { 'current-selection': { title: 'Current Selection', type: TabPaneCurrentSelection, diff --git a/ide/src/trace/component/trace/base/Utils.ts b/ide/src/trace/component/trace/base/Utils.ts index c5a2c0f28..660dc20a0 100644 --- a/ide/src/trace/component/trace/base/Utils.ts +++ b/ide/src/trace/component/trace/base/Utils.ts @@ -82,23 +82,24 @@ export class Utils { } } - public static isBinder(data: any): boolean { - return ( - data.funName !== null && + public static isBinder(data: unknown): boolean { + return (// @ts-ignore + data.funName !== null &&// @ts-ignore (data.funName.toLowerCase().startsWith('binder transaction async') || //binder transaction - data.funName.toLowerCase().startsWith('binder async') || + // @ts-ignore + data.funName.toLowerCase().startsWith('binder async') ||// @ts-ignore data.funName.toLowerCase().startsWith('binder reply')) ); } - public static transferPTSTitle(ptsValue: any): string { - if (ptsValue.startsWith('S-')) { - return Utils.getEndState(ptsValue.replace('S-', '')); - } else if (ptsValue.startsWith('P-')) { - let pid = ptsValue.replace('P-', ''); + public static transferPTSTitle(ptsValue: unknown): string {// @ts-ignore + if (ptsValue.startsWith('S-')) {// @ts-ignore + return Utils.getEndState(ptsValue.replace('S-', ''));// @ts-ignore + } else if (ptsValue.startsWith('P-')) {// @ts-ignore + let pid = ptsValue.replace('P-', '');// @ts-ignore let process = Utils.PROCESS_MAP.get(parseInt(pid)) || 'Process'; - return `${process} [${pid}]`; - } else if (ptsValue.startsWith('T-')) { + return `${process} [${pid}]`;// @ts-ignore + } else if (ptsValue.startsWith('T-')) {// @ts-ignore let tid = ptsValue.replace('T-', ''); let thread = Utils.THREAD_MAP.get(parseInt(tid)) || 'Thread'; return `${thread} [${tid}]`; @@ -107,12 +108,12 @@ export class Utils { } } - public static transferBinderTitle(value: any): string { - if (value.startsWith('P-')) { + public static transferBinderTitle(value: unknown): string {// @ts-ignore + if (value.startsWith('P-')) {// @ts-ignore let pid = value.replace('P-', ''); let process = Utils.PROCESS_MAP.get(parseInt(pid)) || 'Process'; - return `${process} [${pid}]`; - } else if (value.startsWith('T-')) { + return `${process} [${pid}]`;// @ts-ignore + } else if (value.startsWith('T-')) {// @ts-ignore let tid = value.replace('T-', ''); let thread = Utils.THREAD_MAP.get(parseInt(tid)) || 'Thread'; return `${thread} [${tid}]`; @@ -262,9 +263,9 @@ export class Utils { return res; } - public static groupByMap(array: Array, key: string): Map { + public static groupByMap(array: Array, key: string): Map { let result = new Map(); - array.forEach((item) => { + array.forEach((item) => {// @ts-ignore let value = item[key]; if (!result.has(value)) { result.set(value, []); @@ -274,8 +275,8 @@ export class Utils { return result; } - public static groupBy(array: Array, key: string): any { - return array.reduce((pre, current, index, arr) => { + public static groupBy(array: Array, key: string): unknown { + return array.reduce((pre, current, index, arr) => {// @ts-ignore (pre[current[key]] = pre[current[key]] || []).push(current); return pre; }, {}); @@ -446,11 +447,11 @@ export class Utils { return Utils.statusMap; } - public static removeDuplicates(array1: any[], array2: any[], key: string): any { - let obj: any = {}; - return array1.concat(array2).reduce(function (total, item) { - if (!obj[`${item[key]}-${item.pid}`]) { - obj[`${item[key]}-${item.pid}`] = true; + public static removeDuplicates(array1: unknown[], array2: unknown[], key: string): unknown { + let obj: unknown = {}; + return array1.concat(array2).reduce(function (total, item) {// @ts-ignore + if (!obj[`${item[key]}-${item.pid}`]) {// @ts-ignore + obj[`${item[key]}-${item.pid}`] = true;// @ts-ignore total.push(item); } return total; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneCpuAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneCpuAbility.ts index 59cded62b..de5e1ba6b 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneCpuAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneCpuAbility.ts @@ -186,15 +186,15 @@ export class TabPaneCpuAbility extends BaseElement { return this.compareFunction(sort, getProperty); }; - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { let typeMaping: { [key: string]: string } = { startTime: 'string', durationStr: 'durationStr', totalLoadStr: 'totalLoadStr', userLoadStr: 'userLoadStr', systemLoadStr: 'systemLoadStr', - }; - let type = typeMaping[detail.key] || 'number'; + };// @ts-ignore + let type = typeMaping[detail.key] || 'number';// @ts-ignore this.cpuAbilitySource.sort(this.compare(detail.key, detail.sort, type)); this.cpuAbilityTbl!.recycleDataSource = this.cpuAbilitySource; } diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneDiskAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneDiskAbility.ts index cf01000c2..c52d8deff 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneDiskAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneDiskAbility.ts @@ -203,7 +203,7 @@ export class TabPaneDiskAbility extends BaseElement { return this.compareFunction(sort, getProperty); } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { let typeMapping = { startTime: 'string', durationStr: 'durationStr', @@ -217,7 +217,7 @@ export class TabPaneDiskAbility extends BaseElement { writeOutSecStr: 'writeOutSecStr', }; // @ts-ignore - let type = typeMapping[detail.key] || 'number'; + let type = typeMapping[detail.key] || 'number';// @ts-ignore this.diskAbilitySource.sort(this.compareDisk(detail.key, detail.sort, type)); this.diskAbilityTbl!.recycleDataSource = this.diskAbilitySource; } diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneDmaSelectAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneDmaSelectAbility.ts index 90214cfce..416ca5a8e 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneDmaSelectAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneDmaSelectAbility.ts @@ -78,7 +78,8 @@ export class TabPaneDmaSelectAbility extends BaseElement { } item.sizes = Utils.getBinaryByteWithUnit(item.size); item.timeStamp = ns2s(item.startNs); - this.damClickTable!.getItemTextColor = (dmaItem: Dma): any => { + // @ts-ignore + this.damClickTable!.getItemTextColor = (dmaItem: Dma): unknown => { if (dmaItem.flag === 1) { return '#d4b550'; } else if (dmaItem.flag === 2) { @@ -140,14 +141,14 @@ export class TabPaneDmaSelectAbility extends BaseElement { } sortDmaByColumn(column: string, sort: number): void { - const sortFunction = function (leftData: any, rightData: any, sortType: number, property: string): number { - if (sortType === 1) { - return typeof leftData[property] === 'string' - ? `${leftData[property]}`.localeCompare(`${rightData[property]}`) + const sortFunction = function (leftData: unknown, rightData: unknown, sortType: number, property: string): number { + if (sortType === 1) {// @ts-ignore + return typeof leftData[property] === 'string'// @ts-ignore + ? `${leftData[property]}`.localeCompare(`${rightData[property]}`)// @ts-ignore : leftData[property] - rightData[property]; - } else { - return typeof rightData[property] === 'string' - ? `${rightData[property]}`.localeCompare(`${leftData[property]}`) + } else {// @ts-ignore + return typeof rightData[property] === 'string'// @ts-ignore + ? `${rightData[property]}`.localeCompare(`${leftData[property]}`)// @ts-ignore : rightData[property] - leftData[property]; } }; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneLiveProcesses.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneLiveProcesses.ts index d7a7f6497..5deeeac9f 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneLiveProcesses.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneLiveProcesses.ts @@ -29,7 +29,7 @@ export class TabPaneLiveProcesses extends BaseElement { private queryLiveResult: Array = []; private search: HTMLInputElement | undefined | null; - set data(liveProcessValue: SelectionParam | any) { + set data(liveProcessValue: SelectionParam | unknown) { if (this.liveProcessTbl) { // @ts-ignore this.liveProcessTbl.shadowRoot.querySelector('.table').style.height = `${this.parentElement.clientHeight - 45}px`; @@ -52,7 +52,7 @@ export class TabPaneLiveProcesses extends BaseElement { filterData(): void { if (this.queryLiveResult.length > 0) { let filterLive = this.queryLiveResult.filter((item): boolean => { - let array = this.toLiveProcessArray(item); + let array = this.toLiveProcessArray(item);// @ts-ignore let isInclude = array.filter((value) => value.indexOf(this.search!.value) > -1); return isInclude.length > 0; }); @@ -66,7 +66,7 @@ export class TabPaneLiveProcesses extends BaseElement { } } - toLiveProcessArray(liveProcess: LiveProcess): any[] { + toLiveProcessArray(liveProcess: LiveProcess): unknown[] { let array: Array = []; array.push(liveProcess.processId.toString()); array.push(liveProcess.processName); @@ -80,7 +80,7 @@ export class TabPaneLiveProcesses extends BaseElement { return array; } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void {// @ts-ignore getTabLiveProcessData(val.leftNs, val.rightNs).then((item): void => { if (item.length !== null && item.length > 0) { log(`getTabLiveProcessData result size : ${ item.length}`); @@ -160,7 +160,7 @@ export class TabPaneLiveProcesses extends BaseElement { `; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (liveProcessLeftData: LiveProcess, liveProcessRightData: LiveProcess): number { @@ -189,14 +189,14 @@ export class TabPaneLiveProcesses extends BaseElement { } }; } - - if (detail.key === 'startTime' || detail.key === 'processName') { - this.liveProcessSource.sort(compare(detail.key, detail.sort, 'string')); - } else if (detail.key === 'cpuTime') { - this.liveProcessSource.sort(compare(detail.key, detail.sort, 'cpuTime')); - } else if (detail.key === 'memory') { - this.liveProcessSource.sort(compare(detail.key, detail.sort, 'memory')); - } else { +// @ts-ignore + if (detail.key === 'startTime' || detail.key === 'processName') {// @ts-ignore + this.liveProcessSource.sort(compare(detail.key, detail.sort, 'string'));// @ts-ignore + } else if (detail.key === 'cpuTime') {// @ts-ignore + this.liveProcessSource.sort(compare(detail.key, detail.sort, 'cpuTime'));// @ts-ignore + } else if (detail.key === 'memory') {// @ts-ignore + this.liveProcessSource.sort(compare(detail.key, detail.sort, 'memory'));// @ts-ignore + } else {// @ts-ignore this.liveProcessSource.sort(compare(detail.key, detail.sort, 'number')); } this.liveProcessTbl!.recycleDataSource = this.liveProcessSource; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts index 0e4c6eb7f..4ee54347e 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts @@ -30,7 +30,7 @@ export class TabPaneMemoryAbility extends BaseElement { private queryMemoryResult: Array = []; private search: HTMLInputElement | undefined | null; - set data(memoryAbilityValue: SelectionParam | any) { + set data(memoryAbilityValue: SelectionParam | unknown) { if (this.memoryAbilityTbl) { // @ts-ignore this.memoryAbilityTbl.shadowRoot?.querySelector('.table').style.height = @@ -55,7 +55,7 @@ export class TabPaneMemoryAbility extends BaseElement { filterData(): void { if (this.queryMemoryResult.length > 0) { let filterMemory = this.queryMemoryResult.filter((item): boolean => { - let array = this.toMemoryAbilityArray(item); + let array = this.toMemoryAbilityArray(item);// @ts-ignore let isInclude = array.filter((value): boolean => value.indexOf(this.search!.value) > -1); return isInclude.length > 0; }); @@ -69,7 +69,7 @@ export class TabPaneMemoryAbility extends BaseElement { } } - toMemoryAbilityArray(systemMemorySummary: SystemMemorySummary): any[] { + toMemoryAbilityArray(systemMemorySummary: SystemMemorySummary): unknown[] { let array: Array = []; array.push(systemMemorySummary.startTimeStr); array.push(systemMemorySummary.durationStr); @@ -79,7 +79,7 @@ export class TabPaneMemoryAbility extends BaseElement { return array; } - getMemoryKeys(): any { + getMemoryKeys(): unknown { return { 'sys.mem.total': 'memoryTotal', 'sys.mem.free': 'memFree', @@ -105,9 +105,9 @@ export class TabPaneMemoryAbility extends BaseElement { }; } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { queryStartTime().then((res): void => { - let startTime = res[0].start_ts; + let startTime = res[0].start_ts;// @ts-ignore getTabMemoryAbilityData(val.leftNs + startTime, val.rightNs + startTime).then((items): void => { log(`getTabMemoryAbilityData result size : ${ items.length}`); this.memoryAbilitySource = []; @@ -126,7 +126,7 @@ export class TabPaneMemoryAbility extends BaseElement { let names = item.name.split(','); if (memorys.length !== names.length) { continue; - } + }// @ts-ignore let memoryKeys: { [key: string]: string } = this.getMemoryKeys(); for (let i = 0; i < names.length; i++) { let key = memoryKeys[names[i]]; @@ -192,7 +192,7 @@ export class TabPaneMemoryAbility extends BaseElement { `; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (memoryAbilityLeftData: SystemMemorySummary, memoryAbilityRightData: SystemMemorySummary): number { @@ -218,12 +218,12 @@ export class TabPaneMemoryAbility extends BaseElement { } }; } - - if (detail.key === 'startTime') { - this.memoryAbilitySource.sort(compare(detail.key, detail.sort, 'string')); - } else if (detail.key === 'durationStr') { +// @ts-ignore + if (detail.key === 'startTime') {// @ts-ignore + this.memoryAbilitySource.sort(compare(detail.key, detail.sort, 'string'));// @ts-ignore + } else if (detail.key === 'durationStr') {// @ts-ignore this.memoryAbilitySource.sort(compare(detail.key, detail.sort, 'durationStr')); - } else { + } else {// @ts-ignore this.memoryAbilitySource.sort(compare(detail.key, detail.sort, 'number')); } this.memoryAbilityTbl!.recycleDataSource = this.memoryAbilitySource; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneNetworkAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneNetworkAbility.ts index e6ace319f..bbf992552 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneNetworkAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneNetworkAbility.ts @@ -31,7 +31,7 @@ export class TabPaneNetworkAbility extends BaseElement { private queryResult: Array = []; private search: HTMLInputElement | undefined | null; - set data(networkAbilityValue: SelectionParam | any) { + set data(networkAbilityValue: SelectionParam | unknown) { if (this.networkAbilityTbl) { // @ts-ignore this.networkAbilityTbl.shadowRoot?.querySelector('.table').style.height = @@ -56,7 +56,7 @@ export class TabPaneNetworkAbility extends BaseElement { filterData(): void { if (this.queryResult.length > 0) { let filterNetwork = this.queryResult.filter((item): boolean => { - let array = this.toNetWorkAbilityArray(item); + let array = this.toNetWorkAbilityArray(item);// @ts-ignore let isInclude = array.filter((value) => value.indexOf(this.search!.value) > -1); return isInclude.length > 0; }); @@ -70,7 +70,7 @@ export class TabPaneNetworkAbility extends BaseElement { } } - toNetWorkAbilityArray(systemNetworkSummary: SystemNetworkSummary): any[] { + toNetWorkAbilityArray(systemNetworkSummary: SystemNetworkSummary): unknown[] { let array: Array = []; array.push(systemNetworkSummary.startTimeStr); array.push(systemNetworkSummary.durationStr); @@ -84,7 +84,7 @@ export class TabPaneNetworkAbility extends BaseElement { return array; } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void {// @ts-ignore getTabNetworkAbilityData(val.leftNs, val.rightNs).then((item): void => { log(`getTabNetworkAbilityData result size : ${ item.length}`); if (item.length !== null && item.length > 0) { @@ -142,7 +142,7 @@ export class TabPaneNetworkAbility extends BaseElement { `; } - compare(property: string, sort: number, type: string): any { + compare(property: string, sort: number, type: string): unknown { let getProperty = this.getPropertyByType(property, type); return this.compareFunction(sort, getProperty); } @@ -181,29 +181,29 @@ export class TabPaneNetworkAbility extends BaseElement { return typeMap[type] || data[property]; }; - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore - if (detail.key === 'startTime') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'string')); - } else if (detail.key === 'durationStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'durationStr')); - } else if (detail.key === 'dataReceivedStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataReceivedStr')); - } else if (detail.key === 'dataReceivedSecStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataReceivedSecStr')); - } else if (detail.key === 'dataSendStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataSendStr')); - } else if (detail.key === 'dataSendSecStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataSendSecStr')); - } else if (detail.key === 'packetsInStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsInStr')); - } else if (detail.key === 'packetsInSecStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsInSecStr')); - } else if (detail.key === 'packetsOutStr') { - this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsOutStr')); - } else if (detail.key === 'packetsOutSecStr') { + if (detail.key === 'startTime') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'string'));// @ts-ignore + } else if (detail.key === 'durationStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'durationStr'));// @ts-ignore + } else if (detail.key === 'dataReceivedStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataReceivedStr'));// @ts-ignore + } else if (detail.key === 'dataReceivedSecStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataReceivedSecStr'));// @ts-ignore + } else if (detail.key === 'dataSendStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataSendStr'));// @ts-ignore + } else if (detail.key === 'dataSendSecStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'dataSendSecStr'));// @ts-ignore + } else if (detail.key === 'packetsInStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsInStr'));// @ts-ignore + } else if (detail.key === 'packetsInSecStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsInSecStr'));// @ts-ignore + } else if (detail.key === 'packetsOutStr') {// @ts-ignore + this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsOutStr'));// @ts-ignore + } else if (detail.key === 'packetsOutSecStr') {// @ts-ignore this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'packetsOutSecStr')); - } else { + } else {// @ts-ignore this.networkAbilitySource.sort(this.compare(detail.key, detail.sort, 'number')); } this.networkAbilityTbl!.recycleDataSource = this.networkAbilitySource; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPin.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPin.ts index 71b92dc80..82e89624f 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPin.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPin.ts @@ -70,9 +70,9 @@ export class TabPanePurgPin extends BaseElement { } } - getDataSource(res: any): void { - if (res.length > 0) { - for (let i = 0; i < res.length; i++) { + getDataSource(res: unknown): void {// @ts-ignore + if (res.length > 0) {// @ts-ignore + for (let i = 0; i < res.length; i++) {// @ts-ignore this.purgeablePinSource.push(this.toTabStruct(res[i].name, res[i].maxSize, res[i].minSize, res[i].avgSize)); } this.sortByColumn({ key: this.sortKey, sort: this.sortType }); @@ -133,10 +133,10 @@ export class TabPanePurgPin extends BaseElement { return pinData; } - private sortByColumn(detail: any): void { + private sortByColumn(detail: unknown): void { // @ts-ignore function compare(key, sort, type) { - return function (purgePinLeftData: any, purgePinRightData: any) { + return function (purgePinLeftData: unknown, purgePinRightData: unknown) { // 不管哪一列的排序方式是0(默认排序),都按照avgSize列从大到小排序 if (sort === 0) { sort = 2; @@ -145,22 +145,22 @@ export class TabPanePurgPin extends BaseElement { } if (type === 'number') { // @ts-ignore - return sort === 2 - ? parseFloat(purgePinRightData[key]) - parseFloat(purgePinLeftData[key]) + return sort === 2// @ts-ignore + ? parseFloat(purgePinRightData[key]) - parseFloat(purgePinLeftData[key])// @ts-ignore : parseFloat(purgePinLeftData[key]) - parseFloat(purgePinRightData[key]); } else { - if (sort === 2) { + if (sort === 2) {// @ts-ignore return purgePinRightData[key].toString().localeCompare(purgePinLeftData[key].toString()); - } else { + } else {// @ts-ignore return purgePinLeftData[key].toString().localeCompare(purgePinRightData[key].toString()); } } }; } - - if (detail.key === 'type') { +// @ts-ignore + if (detail.key === 'type') {// @ts-ignore this.purgeablePinSource.sort(compare(detail.key, detail.sort, 'string')); - } else { + } else {// @ts-ignore this.purgeablePinSource.sort(compare(detail.key, detail.sort, 'number')); } let pin = this.totalData(this.purgeablePinSource); @@ -173,8 +173,8 @@ export class TabPanePurgPin extends BaseElement { this.purgeablePinTable = this.shadowRoot?.querySelector('#tb-purgeable-pin'); this.tabTitle = this.purgeablePinTable!.shadowRoot?.querySelector('.thead') as HTMLDivElement; this.purgPinTimeRange = this.shadowRoot?.querySelector('#purg-pin-time-range'); - this.purgeablePinTable!.addEventListener('column-click', (evt: any) => { - this.sortKey = evt.detail.key; + this.purgeablePinTable!.addEventListener('column-click', (evt: unknown) => {// @ts-ignore + this.sortKey = evt.detail.key;// @ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts index 6bfdf9608..8947aab4b 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts @@ -35,7 +35,7 @@ export class TabPanePurgPinComparisonAbility extends BaseElement { this.selectEl = this.filterEl?.shadowRoot?.querySelector('lit-select'); } - public totalData(purgePinComParam: SelectionParam | any, dataList: any): void { + public totalData(purgePinComParam: SelectionParam | unknown, dataList: unknown): void { if (this.purgeablePinTable) { //@ts-ignore this.purgeablePinTable.shadowRoot?.querySelector('.table').style.height = `${ @@ -43,44 +43,44 @@ export class TabPanePurgPinComparisonAbility extends BaseElement { }px`; } this.purgeablePinSource = []; - let fileArr: any[] = []; - for (let file of dataList) { + let fileArr: unknown[] = [];// @ts-ignore + for (let file of dataList) {// @ts-ignore if (file.startNs !== purgePinComParam.startNs) { fileArr.push(file); } } - fileArr = fileArr.sort(); - this.initSelect(purgePinComParam.startNs, fileArr); + fileArr = fileArr.sort();// @ts-ignore + this.initSelect(purgePinComParam.startNs, fileArr);// @ts-ignore this.updateComparisonData(purgePinComParam.startNs, fileArr[0].startNs); } - private initSelect(fileStartNs: number, purgePinComFileArr: Array): void { + private initSelect(fileStartNs: number, purgePinComFileArr: Array): void { let that = this; let input = this.selectEl!.shadowRoot?.querySelector('input') as HTMLInputElement; this.selectEl!.innerHTML = ''; let option = new LitSelectOption(); option.innerHTML = 'File Name'; option.setAttribute('disabled', 'disabled'); - this.selectEl?.appendChild(option); - if (purgePinComFileArr[0].name) { + this.selectEl?.appendChild(option);// @ts-ignore + if (purgePinComFileArr[0].name) {// @ts-ignore option.setAttribute('value', purgePinComFileArr[0].name); - } - this.selectEl!.defaultValue = purgePinComFileArr[0].name; + }// @ts-ignore + this.selectEl!.defaultValue = purgePinComFileArr[0].name;// @ts-ignore this.selectEl!.placeholder = purgePinComFileArr[0].name; this.selectEl!.dataSource = purgePinComFileArr; this.selectEl!.querySelectorAll('lit-select-option').forEach((a) => { - a.addEventListener('onSelected', (e: any) => { - for (let f of purgePinComFileArr) { - if (input.value === f.name) { + a.addEventListener('onSelected', (e: unknown) => { + for (let f of purgePinComFileArr) {// @ts-ignore + if (input.value === f.name) {// @ts-ignore that.updateComparisonData(fileStartNs, f.startNs); } - } + }// @ts-ignore e.stopPropagation(); }); }); } - - private async updateComparisonData(baseTime: number, targetTime: number): Promise { +// @ts-ignore + private async updateComparisonData(baseTime: number, targetTime: number): Promise { this.purgeablePinSource = []; let tableData = await this.queryTableData(baseTime, targetTime); this.purgeablePinSource.push(tableData); @@ -91,7 +91,7 @@ export class TabPanePurgPinComparisonAbility extends BaseElement { } } - private async queryTableData(baseTime: number, targetTime: number): Promise { + private async queryTableData(baseTime: number, targetTime: number): Promise { let delta = { purgPinedDelta: '0Bytes', shmPurgPinDelta: '0Bytes', diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts index d880510d6..cc8e66fda 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts @@ -26,10 +26,11 @@ import { queryProcessPurgeableSelectionTab } from '../../../../database/sql/Proc @element('tabpane-purg-pin-selection') export class TabPanePurgPinSelection extends BaseElement { private purgeableSelectionTable: LitTable | null | undefined; - private purgeableSelectionSource: Array = []; + private purgeableSelectionSource: Array = []; - set data(selection: SelectionParam | any) { - if (selection && selection.type) { + set data(selection: SelectionParam | unknown) { + // @ts-ignore + if (selection && selection.type) {// @ts-ignore this.queryTableData(selection.type, selection.startNs); } } diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotal.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotal.ts index 0128ce112..9185da7d1 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotal.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotal.ts @@ -68,10 +68,10 @@ export class TabPanePurgTotal extends BaseElement { } } - getPurgeableTotalSource(results: any): void { - if (results.length > 0) { - for (let i = 0; i < results.length; i++) { - this.purgeableTotalSource.push( + getPurgeableTotalSource(results: unknown): void {// @ts-ignore + if (results.length > 0) {// @ts-ignore + for (let i = 0; i < results.length; i++) {// @ts-ignore + this.purgeableTotalSource.push(// @ts-ignore this.toTabStruct(results[i].name, results[i].maxSize, results[i].minSize, results[i].avgSize) ); } @@ -128,10 +128,10 @@ export class TabPanePurgTotal extends BaseElement { return totalData; } - private sortByColumn(detail: any): void { + private sortByColumn(detail: unknown): void { // @ts-ignore function compare(key, sort, type) { - return function (purgeTotalLeftData: any, purgeTotalRightData: any) { + return function (purgeTotalLeftData: unknown, purgeTotalRightData: unknown) { // 不管哪一列的排序方式是0(默认排序),都按照avgSize列从大到小排序 if (sort === 0) { sort = 2; @@ -140,22 +140,22 @@ export class TabPanePurgTotal extends BaseElement { } if (type === 'number') { // @ts-ignore - return sort === 2 - ? parseFloat(purgeTotalRightData[key]) - parseFloat(purgeTotalLeftData[key]) + return sort === 2// @ts-ignore + ? parseFloat(purgeTotalRightData[key]) - parseFloat(purgeTotalLeftData[key])// @ts-ignore : parseFloat(purgeTotalLeftData[key]) - parseFloat(purgeTotalRightData[key]); } else { - if (sort === 2) { + if (sort === 2) {// @ts-ignore return purgeTotalRightData[key].toString().localeCompare(purgeTotalLeftData[key].toString()); - } else { + } else {// @ts-ignore return purgeTotalLeftData[key].toString().localeCompare(purgeTotalRightData[key].toString()); } } }; } - - if (detail.key === 'type') { +// @ts-ignore + if (detail.key === 'type') {// @ts-ignore this.purgeableTotalSource.sort(compare(detail.key, detail.sort, 'string')); - } else { + } else {// @ts-ignore this.purgeableTotalSource.sort(compare(detail.key, detail.sort, 'number')); } let total = this.totalData(this.purgeableTotalSource); @@ -168,8 +168,8 @@ export class TabPanePurgTotal extends BaseElement { this.purgeableTotalTable = this.shadowRoot?.querySelector('#tb-purgeable-total'); this.tabTitle = this.purgeableTotalTable!.shadowRoot?.querySelector('.thead') as HTMLDivElement; this.purgTotalTimeRange = this.shadowRoot?.querySelector('#purg-total-time-range') as HTMLLabelElement; - this.purgeableTotalTable!.addEventListener('column-click', (evt: any) => { - this.sortKey = evt.detail.key; + this.purgeableTotalTable!.addEventListener('column-click', (evt: unknown) => {// @ts-ignore + this.sortKey = evt.detail.key;// @ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts index 85423ad6b..e67877c43 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts @@ -35,7 +35,7 @@ export class TabPanePurgTotalComparisonAbility extends BaseElement { this.selectEl = this.filterEl?.shadowRoot?.querySelector('lit-select'); } - public totalData(purgeTotalComParam: SelectionParam | any, dataList: any): void { + public totalData(purgeTotalComParam: SelectionParam | unknown, dataList: unknown): void { if (this.purgeableTotalTable) { //@ts-ignore this.purgeableTotalTable.shadowRoot?.querySelector('.table').style.height = `${ @@ -43,38 +43,38 @@ export class TabPanePurgTotalComparisonAbility extends BaseElement { }px`; } this.purgeableTotalSource = []; - let fileArr: any[] = []; - for (let file of dataList) { + let fileArr: unknown[] = [];// @ts-ignore + for (let file of dataList) {// @ts-ignore if (file.startNs !== purgeTotalComParam.startNs) { fileArr.push(file); } } - fileArr = fileArr.sort(); - this.initSelect(purgeTotalComParam.startNs, fileArr); + fileArr = fileArr.sort();// @ts-ignore + this.initSelect(purgeTotalComParam.startNs, fileArr);// @ts-ignore this.updateComparisonData(purgeTotalComParam.startNs, fileArr[0].startNs); } - private initSelect(fileStartNs: number, purgeTotalComFileArr: Array): void { + private initSelect(fileStartNs: number, purgeTotalComFileArr: Array): void { let that = this; let input = this.selectEl!.shadowRoot?.querySelector('input') as HTMLInputElement; this.selectEl!.innerHTML = ''; let option = new LitSelectOption(); option.innerHTML = 'File Name'; option.setAttribute('disabled', 'disabled'); - this.selectEl?.appendChild(option); - if (purgeTotalComFileArr[0].name) { + this.selectEl?.appendChild(option);// @ts-ignore + if (purgeTotalComFileArr[0].name) {// @ts-ignore option.setAttribute('value', purgeTotalComFileArr[0].name); - } - this.selectEl!.defaultValue = purgeTotalComFileArr[0].name; + }// @ts-ignore + this.selectEl!.defaultValue = purgeTotalComFileArr[0].name;// @ts-ignore this.selectEl!.placeholder = purgeTotalComFileArr[0].name; this.selectEl!.dataSource = purgeTotalComFileArr; this.selectEl!.querySelectorAll('lit-select-option').forEach((a): void => { - a.addEventListener('onSelected', (e: any): void => { - for (let f of purgeTotalComFileArr) { - if (input.value === f.name) { + a.addEventListener('onSelected', (e: unknown): void => { + for (let f of purgeTotalComFileArr) {// @ts-ignore + if (input.value === f.name) {// @ts-ignore that.updateComparisonData(fileStartNs, f.startNs); } - } + }// @ts-ignore e.stopPropagation(); }); }); @@ -91,7 +91,7 @@ export class TabPanePurgTotalComparisonAbility extends BaseElement { } } - private async queryTableData(baseTime: number, targetTime: number): Promise { + private async queryTableData(baseTime: number, targetTime: number): Promise { let delta = { purgActiveDelta: '0Bytes', purgInActiveDelta: '0Bytes', diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts index cb85d9ba5..6217609ea 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts @@ -26,10 +26,10 @@ import { queryProcessPurgeableSelectionTab } from '../../../../database/sql/Proc @element('tabpane-purg-total-selection') export class TabPanePurgTotalSelection extends BaseElement { private purgeableSelectionTable: LitTable | null | undefined; - private purgeableSelectionSource: Array = []; + private purgeableSelectionSource: Array = []; - set data(selection: SelectionParam | any) { - if (selection && selection.type) { + set data(selection: SelectionParam | unknown) {// @ts-ignore + if (selection && selection.type) {// @ts-ignore this.queryTableData(selection.type, selection.startNs); } } @@ -41,7 +41,7 @@ export class TabPanePurgTotalSelection extends BaseElement { if (purgeTotalSelectResults.length > 0) { this.purgeableSelectionSource.push({ name: 'TimeStamp', value: ns2s(startNs) }); this.purgeableSelectionSource.push({ - name: 'TimeStamp(Absolute)', + name: 'TimeStamp(Absolute)',// @ts-ignore value: (startNs + (window as any).recordStartNS) / 1000000000, }); for (let i = 0; i < purgeTotalSelectResults.length; i++) { @@ -57,7 +57,7 @@ export class TabPanePurgTotalSelection extends BaseElement { if (results.length > 0) { this.purgeableSelectionSource.push({ name: 'TimeStamp(Relative)', value: ns2s(startNs) }); this.purgeableSelectionSource.push({ - name: 'TimeStamp(Absolute)', + name: 'TimeStamp(Absolute)',// @ts-ignore value: (startNs + (window as any).recordStartNS) / 1000000000, }); for (let i = 0; i < results.length; i++) { diff --git a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneComparison.ts b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneComparison.ts index 179ff1681..d5312deae 100644 --- a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneComparison.ts +++ b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneComparison.ts @@ -307,8 +307,8 @@ export class TabPaneComparison extends BaseElement { classFilter(): void { this.search!.addEventListener('keyup', (): void => { this.comparisonFilter = []; - this.comparisonData.forEach((a: any) => { - if (a.objectName.toLowerCase().includes(this.search!.value.toLowerCase())) { + this.comparisonData.forEach((a: unknown) => {// @ts-ignore + if (a.objectName.toLowerCase().includes(this.search!.value.toLowerCase())) {// @ts-ignore this.comparisonFilter.push(a); } else { } @@ -362,8 +362,8 @@ export class TabPaneComparison extends BaseElement { private comparisonTblRowClickHandler = (e: Event): void => { this.rightTheadTable!.removeAttribute('sort'); // @ts-ignore - let item = e.detail.data as ConstructorItem; - (item as any).isSelected = true; + let item = e.detail.data as ConstructorItem;// @ts-ignore + (item as unknown).isSelected = true; this.retainsData = HeapDataInterface.getInstance().getRetains(item); if (this.retainsData && this.retainsData.length > 0) { this.retainsDataInit(); @@ -408,9 +408,9 @@ export class TabPaneComparison extends BaseElement { } this.resizeObserverObserve(); // @ts-ignore - if ((e.detail as any).callBack) { + if ((e.detail as unknown).callBack) { // @ts-ignore - (e.detail as any).callBack(true); + (e.detail as unknown).callBack(true); } }; @@ -438,12 +438,12 @@ export class TabPaneComparison extends BaseElement { private retainerTblRowClickHandler = (evt: Event): void => { // @ts-ignore - let data = evt.detail.data as ConstructorItem; - (data as any).isSelected = true; + let data = evt.detail.data as ConstructorItem;// @ts-ignore + (data as unknown).isSelected = true; // @ts-ignore - if ((evt.detail as any).callBack) { + if ((evt.detail as unknown).callBack) { // @ts-ignore - (evt.detail as any).callBack(true); + (evt.detail as unknown).callBack(true); } }; diff --git a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts index 090054ea6..dcb2023c5 100644 --- a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts +++ b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneJsCpuStatistics.ts @@ -123,12 +123,12 @@ export class TabPaneJsCpuStatistics extends BaseElement { }, ], }; - this.statisticsTable!.addEventListener('row-hover', (statisticsRowHover: any) => { - if (statisticsRowHover.detail.data) { - let data = statisticsRowHover.detail.data; - data.isHover = true; - if ((statisticsRowHover.detail as any).callBack) { - (statisticsRowHover.detail as any).callBack(true); + this.statisticsTable!.addEventListener('row-hover', (statisticsRowHover: unknown) => {// @ts-ignore + if (statisticsRowHover.detail.data) {// @ts-ignore + let data = statisticsRowHover.detail.data;// @ts-ignore + data.isHover = true;// @ts-ignore + if ((statisticsRowHover.detail as unknown).callBack) {// @ts-ignore + (statisticsRowHover.detail as unknown).callBack(true); } } this.statisticsPie?.showHover(); @@ -179,10 +179,10 @@ export class TabPaneJsCpuStatistics extends BaseElement { return new JsCpuProfilerStatisticsStruct(type, time, ns2s(time), ((time / percentage || 0) * 100).toFixed(1)); } - private sortByColumn(detail: any): void { + private sortByColumn(detail: unknown): void { // @ts-ignore function compare(key, sort, type) { - return function (a: any, b: any) { + return function (a: unknown, b: unknown) { // 不管哪一列的排序方式是0(默认排序),都按照time列从大到小排序 if (sort === 0) { sort = 2; @@ -193,17 +193,17 @@ export class TabPaneJsCpuStatistics extends BaseElement { // @ts-ignore return sort === 2 ? parseFloat(b[key]) - parseFloat(a[key]) : parseFloat(a[key]) - parseFloat(b[key]); } else { - if (sort === 2) { + if (sort === 2) {// @ts-ignore return b[key].toString().localeCompare(a[key].toString()); - } else { + } else {// @ts-ignore return a[key].toString().localeCompare(b[key].toString()); } } }; - } - if (detail.key === 'timeStr' || detail.key === 'percentage') { - this.statisticsSource.sort(compare('time', detail.sort, 'number')); - } else if (detail.key === 'type') { + }// @ts-ignore + if (detail.key === 'timeStr' || detail.key === 'percentage') {// @ts-ignore + this.statisticsSource.sort(compare('time', detail.sort, 'number'));// @ts-ignore + } else if (detail.key === 'type') {// @ts-ignore this.statisticsSource.sort(compare(detail.key, detail.sort, 'string')); } if (this.statisticsSource.length > 0) { @@ -225,8 +225,8 @@ export class TabPaneJsCpuStatistics extends BaseElement { this.statisticsPie = this.shadowRoot?.querySelector('#chart-pie') as LitChartPie; this.tabTitle = this.statisticsTable!.shadowRoot?.querySelector('.thead') as HTMLDivElement; - this.statisticsTable!.addEventListener('column-click', (evt: any) => { - this.sortKey = evt.detail.key; + this.statisticsTable!.addEventListener('column-click', (evt: unknown) => {// @ts-ignore + this.sortKey = evt.detail.key;// @ts-ignore this.sortType = evt.detail.sort; // @ts-ignore this.sortByColumn(evt.detail); diff --git a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneSummary.ts b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneSummary.ts index 736359197..fdd45de0d 100644 --- a/ide/src/trace/component/trace/sheet/ark-ts/TabPaneSummary.ts +++ b/ide/src/trace/component/trace/sheet/ark-ts/TabPaneSummary.ts @@ -91,19 +91,19 @@ export class TabPaneSummary extends BaseElement { this.progressEL!.loading = true; this.summary = HeapDataInterface.getInstance().getClassesListForSummary(file.id, minNodeId, maxNodeId); this.fileSize = file.size; - this.summary.forEach((summaryEl: any) => { - if (summaryEl.childCount > 1) { - let count = `${summaryEl.nodeName} ×${summaryEl.childCount}`; - summaryEl.objectName = count; - summaryEl.count = ` ×${summaryEl.childCount}`; - } else { - summaryEl.objectName = summaryEl.nodeName; - } - let shallow = `${Math.round((summaryEl.shallowSize / file.size) * 100)}%`; - let retained = `${Math.round((summaryEl.retainedSize / file.size) * 100)}%`; - summaryEl.shallowPercent = shallow; - summaryEl.retainedPercent = retained; - if (summaryEl.distance >= 100000000 || summaryEl.distance === -5) { + this.summary.forEach((summaryEl: unknown) => {// @ts-ignore + if (summaryEl.childCount > 1) {// @ts-ignore + let count = `${summaryEl.nodeName} ×${summaryEl.childCount}`;// @ts-ignore + summaryEl.objectName = count;// @ts-ignore + summaryEl.count = ` ×${summaryEl.childCount}`;// @ts-ignore + } else {// @ts-ignore + summaryEl.objectName = summaryEl.nodeName;// @ts-ignore + }// @ts-ignore + let shallow = `${Math.round((summaryEl.shallowSize / file.size) * 100)}%`;// @ts-ignore + let retained = `${Math.round((summaryEl.retainedSize / file.size) * 100)}%`;// @ts-ignore + summaryEl.shallowPercent = shallow;// @ts-ignore + summaryEl.retainedPercent = retained;// @ts-ignore + if (summaryEl.distance >= 100000000 || summaryEl.distance === -5) {// @ts-ignore summaryEl.distance = '-'; } }); diff --git a/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts b/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts index 6159b10b2..3fad9b0c0 100644 --- a/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts +++ b/ide/src/trace/component/trace/sheet/binder/TabPaneBinderDataCut.ts @@ -72,7 +72,7 @@ export class TabPaneBinderDataCut extends BaseElement { this.clickLoop(false); this.clickSingle(false); this.isQueryDataFromDb = false; - this.threadBindersTbl!.recycleDataSource = []; + this.threadBindersTbl!.recycleDataSource = [];// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); this.parentElement!.style.overflow = 'hidden'; new ResizeObserver(() => { @@ -147,11 +147,11 @@ export class TabPaneBinderDataCut extends BaseElement { ? this.loopDataCutCycleMap(this.funcCycleArr) : this.singleDataCutCycleMap(this.funcCycleArr); this.threadBindersTbl!.recycleDataSource = this.mergeData(cycleMap); - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } else { this.threadBindersTbl!.recycleDataSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } } else { @@ -169,7 +169,7 @@ export class TabPaneBinderDataCut extends BaseElement { threadId.style.border = '1px solid rgb(255,0,0)'; threadId.setAttribute('placeholder', 'Please input thread id'); this.threadBindersTbl!.recycleDataSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } else { threadId.style.border = '1px solid rgb(151,151,151)'; @@ -178,7 +178,7 @@ export class TabPaneBinderDataCut extends BaseElement { threadFunc.style.border = '1px solid rgb(255,0,0)'; threadFunc.setAttribute('placeholder', 'Please input function name'); this.threadBindersTbl!.recycleDataSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } else { threadFunc.style.border = '1px solid rgb(151,151,151)'; diff --git a/ide/src/trace/component/trace/sheet/binder/TabPaneBinders.ts b/ide/src/trace/component/trace/sheet/binder/TabPaneBinders.ts index a11ba7aac..9619daf2a 100644 --- a/ide/src/trace/component/trace/sheet/binder/TabPaneBinders.ts +++ b/ide/src/trace/component/trace/sheet/binder/TabPaneBinders.ts @@ -47,14 +47,14 @@ export class TabPaneBinders extends BaseElement { binderList = result; } if (binderList.length > 0) { - this.threadBindersTbl!.recycleDataSource = this.transferToTreeData(binderList); + this.threadBindersTbl!.recycleDataSource = this.transferToTreeData(binderList);// @ts-ignore this.threadBindersTblSource = this.threadBindersTbl!.recycleDataSource; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } else if (binderList.length === 0) { this.threadBindersTbl!.recycleDataSource = []; this.threadBindersTblSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.tHeadClick(this.threadBindersTbl!.recycleDataSource); } }); diff --git a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts index ca061a560..5c86b8088 100644 --- a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts +++ b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts @@ -27,13 +27,13 @@ const millisecond = 1_000_000; export class TabPaneSampleInstructionTotalTime extends BaseElement { private instructionChartEle: HTMLCanvasElement | undefined | null; private ctx: CanvasRenderingContext2D | undefined | null; - private cacheData: Array = []; + private cacheData: Array = []; private canvasX = -1; // 鼠标当前所在画布x坐标 private canvasY = -1; // 鼠标当前所在画布y坐标 private startX = 0; // 画布相对于整个界面的x坐标 private startY = 0; // 画布相对于整个界面的y坐标 - private hoverBar: any; - private onReadableData: Array = []; + private hoverBar: unknown; + private onReadableData: Array = []; private hintContent = ''; //悬浮框内容 private floatHint: HTMLDivElement | undefined | null; //悬浮框 private canvasScrollTop = 0; // tab页上下滚动位置 @@ -129,8 +129,10 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { * @param canvasY * @returns */ - searchDataByCoord(nodes: any, canvasX: number, canvasY: number) { + searchDataByCoord(nodes: unknown, canvasX: number, canvasY: number) { + // @ts-ignore for (let i = 0; i < nodes.length; i++) { + // @ts-ignore const element = nodes[i]; if (this.isContains(element, canvasX, canvasY)) { return element; @@ -198,10 +200,8 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { return; } const detail = hoverNode!; - this.hintContent = ` - ${detail.instruct}
- ${parseFloat(detail.heightPer)} - `; + // @ts-ignore + this.hintContent = ` ${detail.instruct}
${parseFloat(detail.heightPer)} `; } /** @@ -211,7 +211,8 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { * @param y * @returns */ - isContains(point: any, x: number, y: number): boolean { + isContains(point: unknown, x: number, y: number): boolean { + // @ts-ignore return x >= point.x && x <= point.x + 2 && point.y <= y && y <= point.y + point.height; } @@ -223,8 +224,10 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { this.cacheData.length = 0; const count = this.onReadableData.length; const onReadableData = this.onReadableData; - const instructionArray = onReadableData.reduce((pre: any, current: any) => { + const instructionArray = onReadableData.reduce((pre: unknown, current: unknown) => { + // @ts-ignore const dur = parseFloat(((current.end - current.begin) / millisecond).toFixed(1)); + // @ts-ignore (pre[dur] = pre[dur] || []).push(current); return pre; }, {}); @@ -232,11 +235,12 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { this.instructionChartEle!.width = this.clientWidth; this.xMaxValue = + // @ts-ignore Object.keys(instructionArray) .map((i) => Number(i)) - .reduce((pre, cur) => Math.max(pre, cur), 0) + 5; - const yMaxValue = Object.values(instructionArray).reduce( - (pre: number, cur: any) => Math.max(pre, Number((cur.length / count).toFixed(2))), + .reduce((pre, cur) => Math.max(pre, cur), 0) + 5;// @ts-ignore + const yMaxValue = Object.values(instructionArray).reduce(// @ts-ignore + (pre: number, cur: unknown) => Math.max(pre, Number((cur.length / count).toFixed(2))), 0 ); this.yAvg = Number(((yMaxValue / 5) * 1.5).toFixed(2)); @@ -252,16 +256,16 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { * @param height * @param count */ - drawBar(instructionData: any, height: number, count: number) { + drawBar(instructionData: unknown, height: number, count: number) { const yTotal = Number((this.yAvg * 5).toFixed(2)); - const interval = Math.floor((height - paddingBottom) / 6); + const interval = Math.floor((height - paddingBottom) / 6);// @ts-ignore for (const x in instructionData) { const xNum = Number(x); - const xPosition = xStart + (xNum / (this.xCount * this.xAvg)) * (this.xCount * this.xSpacing) - barWidth / 2; + const xPosition = xStart + (xNum / (this.xCount * this.xAvg)) * (this.xCount * this.xSpacing) - barWidth / 2;// @ts-ignore const yNum = Number((instructionData[x].length / count).toFixed(3)); const percent = Number((yNum / yTotal).toFixed(2)); const barHeight = (height - paddingBottom - interval) * percent; - this.drawRect(xPosition, height - paddingBottom - barHeight, barWidth, barHeight); + this.drawRect(xPosition, height - paddingBottom - barHeight, barWidth, barHeight);// @ts-ignore const existX = this.cacheData.find((i) => i.instruct === x); if (!existX) { this.cacheData.push({ @@ -271,7 +275,7 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { height: barHeight, heightPer: parseFloat((yNum * 100).toFixed(2)), }); - } else { + } else {// @ts-ignore existX.x = xPosition; } } diff --git a/ide/src/trace/component/trace/sheet/clock/TabPaneClockCounter.ts b/ide/src/trace/component/trace/sheet/clock/TabPaneClockCounter.ts index ee92d4ba1..2fbc8b973 100644 --- a/ide/src/trace/component/trace/sheet/clock/TabPaneClockCounter.ts +++ b/ide/src/trace/component/trace/sheet/clock/TabPaneClockCounter.ts @@ -109,31 +109,42 @@ export class TabPaneClockCounter extends BaseElement { `; } - createSelectCounterData(name: string, list: Array, leftNs: number, rightNs: number): SelectionData { + createSelectCounterData(name: string, list: Array, leftNs: number, rightNs: number): SelectionData { let selectCounterData = new SelectionData(); if (list.length > 0) { let range = rightNs - leftNs; let first = list[0]; + // @ts-ignore selectCounterData.trackId = first.filterId; selectCounterData.name = name; + // @ts-ignore selectCounterData.first = `${first.value}`; selectCounterData.count = `${list.length}`; + // @ts-ignore selectCounterData.last = `${list[list.length - 1].value}`; selectCounterData.delta = `${parseInt(selectCounterData.last) - parseInt(selectCounterData.first)}`; selectCounterData.rate = (parseInt(selectCounterData.delta) / ((range * 1.0) / 1000000000)).toFixed(4); + // @ts-ignore selectCounterData.min = `${first.value}`; selectCounterData.max = '0'; let weightAvg = 0.0; for (let i = 0; i < list.length; i++) { let counter = list[i]; + // @ts-ignore if (counter.value < parseInt(selectCounterData.min)) { + // @ts-ignore selectCounterData.min = counter.value.toString(); } + // @ts-ignore if (counter.value > parseInt(selectCounterData.max)) { + // @ts-ignore selectCounterData.max = counter.value.toString(); } + // @ts-ignore let start = i === 0 ? leftNs : counter.startNS; + // @ts-ignore let end = i === list.length - 1 ? rightNs : list[i + 1].startNS; + // @ts-ignore weightAvg += counter.value * (((end - start) * 1.0) / range); } selectCounterData.avgWeight = weightAvg.toFixed(2); @@ -141,7 +152,7 @@ export class TabPaneClockCounter extends BaseElement { return selectCounterData; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (clockCounterLeftData: SelectionData, clockCounterRightData: SelectionData): number { @@ -167,10 +178,12 @@ export class TabPaneClockCounter extends BaseElement { } }; } - + // @ts-ignore if (detail.key === 'name') { + // @ts-ignore this.clockCounterSource.sort(compare(detail.key, detail.sort, 'string')); } else { + // @ts-ignore this.clockCounterSource.sort(compare(detail.key, detail.sort, 'number')); } this.clockCounterTbl!.recycleDataSource = this.clockCounterSource; diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneBoxChild.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneBoxChild.ts index 1529c665d..0afff9d9c 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneBoxChild.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneBoxChild.ts @@ -60,7 +60,8 @@ export class TabPaneBoxChild extends BaseElement { if (result.length !== null && result.length > 0) { result.map((e) => { e.startTime = Utils.getTimeString(e.startNs); - e.absoluteTime = ((window as any).recordStartNS + e.startNs) / 1000000000; + // @ts-ignore + e.absoluteTime = ((window as unknown).recordStartNS + e.startNs) / 1000000000; e.state = Utils.getEndState(e.state)!; e.prior = e.priority === undefined || e.priority === null ? '-' : `${e.priority}`; e.core = e.cpu === undefined || e.cpu === null ? '-' : `CPU${e.cpu}`; @@ -120,7 +121,7 @@ export class TabPaneBoxChild extends BaseElement { `; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (boxChildLeftData: SelectionData, boxChildRightData: SelectionData): number { diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts index 4415d98e1..16ae979f6 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts @@ -32,20 +32,23 @@ export class TabPaneCounterSample extends BaseElement { private loadDataInCache: boolean = true; private selectionParam: SelectionParam | null | undefined; private sampleProgressEL: LitProgressBar | null | undefined; - private counterLoadingPage: any; + private counterLoadingPage: unknown; private counterLoadingList: number[] = []; - private counterSampleSource: any[] = []; + private counterSampleSource: unknown[] = []; private counterSortKey: string = 'counter'; private counterSortType: number = 0; private systemTrace: SpSystemTrace | undefined | null; - private _rangeRow: Array> | undefined | null; + // @ts-ignore + private _rangeRow: Array> | undefined | null; - set data(counterSampleValue: SelectionParam | any) { + set data(counterSampleValue: SelectionParam | unknown) { if (counterSampleValue === this.selectionParam) { return; } this.sampleProgressEL!.loading = true; + // @ts-ignore this.counterLoadingPage.style.visibility = 'visible'; + // @ts-ignore this.selectionParam = counterSampleValue; if (this.counterSampleTbl) { // @ts-ignore @@ -54,8 +57,8 @@ export class TabPaneCounterSample extends BaseElement { } this.queryDataByDB(counterSampleValue); } - - set rangeTraceRow(rangeRow: Array> | undefined) { +// @ts-ignore + set rangeTraceRow(rangeRow: Array> | undefined) { this._rangeRow = rangeRow; } @@ -89,21 +92,28 @@ export class TabPaneCounterSample extends BaseElement { for (let row of rangeTraceRow!) { let context = row.collect ? this.systemTrace!.canvasFavoritePanelCtx! : this.systemTrace!.canvasPanelCtx!; cpuStateFilter.push(...row.dataListCache); - row.canvasSave(context); - context.clearRect(row.frame.x, row.frame.y, row.frame.width, row.frame.height); + row.canvasSave(context);// @ts-ignore + context.clearRect(row.frame.x, row.frame.y, row.frame.width, row.frame.height);// @ts-ignore drawLines(context!, TraceRow.range?.xs || [], row.frame.height, this.systemTrace!.timerShaftEL!.lineColor()); if (row.name.includes('State') && parseInt(row.name.replace(/[^\d]/g, ' ')) === data.cpu) { CpuFreqStruct.hoverCpuFreqStruct = undefined; for (let i = 0; i < cpuStateFilter!.length; i++) { if ( + // @ts-ignore cpuStateFilter[i].value === data.value && + // @ts-ignore cpuStateFilter[i].cpu === data.cpu && + // @ts-ignore Math.max(TraceRow.rangeSelectObject?.startNS!, cpuStateFilter[i].startTs!) < + // @ts-ignore Math.min(TraceRow.rangeSelectObject?.endNS!, cpuStateFilter[i].startTs! + cpuStateFilter[i].dur!) ) { + // @ts-ignore CpuStateStruct.hoverStateStruct = cpuStateFilter[i]; } + // @ts-ignore if (cpuStateFilter[i].cpu === data.cpu) { + // @ts-ignore CpuStateStruct.draw(context, path, cpuStateFilter[i]); } } @@ -111,9 +121,12 @@ export class TabPaneCounterSample extends BaseElement { for (let i = 0; i < cpuStateFilter!.length; i++) { if ( row.name.includes('State') && + // @ts-ignore cpuStateFilter[i].cpu !== data.cpu && + // @ts-ignore cpuStateFilter[i].cpu === parseInt(row.name.replace(/[^\d]/g, ' ')) ) { + // @ts-ignore CpuStateStruct.draw(context, path, cpuStateFilter[i]); } } @@ -126,34 +139,44 @@ export class TabPaneCounterSample extends BaseElement { connectedCallback(): void { super.connectedCallback(); + // @ts-ignore resizeObserver(this.parentElement!, this.counterSampleTbl!, 25, this.counterLoadingPage, 24); } - queryDataByDB(counterSampleParam: SelectionParam | any): void { + queryDataByDB(counterSampleParam: SelectionParam | unknown): void { this.counterLoadingList.push(1); this.sampleProgressEL!.loading = true; + // @ts-ignore this.counterLoadingPage.style.visibility = 'visible'; getTabPaneCounterSampleData( + // @ts-ignore counterSampleParam.leftNs + counterSampleParam.recordStartNs, + // @ts-ignore counterSampleParam.rightNs + counterSampleParam.recordStartNs, + // @ts-ignore counterSampleParam.cpuStateFilterIds ).then((result) => { this.counterLoadingList.splice(0, 1); if (this.counterLoadingList.length === 0) { this.sampleProgressEL!.loading = false; + // @ts-ignore this.counterLoadingPage.style.visibility = 'hidden'; } - let sampleMap = new Map(); + let sampleMap = new Map(); + // @ts-ignore counterSampleParam.cpuStateFilterIds.forEach((a: number): void => { this.getInitTime( result.filter((f) => f.filterId === a), sampleMap, + // @ts-ignore counterSampleParam ); }); - let counterSampleList: Array = []; + // @ts-ignore + let counterSampleList: Array = []; sampleMap.forEach((a) => { + // @ts-ignore a.timeStr = parseFloat((a.time / 1000000.0).toFixed(6)); counterSampleList.push(a); }); @@ -161,13 +184,14 @@ export class TabPaneCounterSample extends BaseElement { this.sortTable(this.counterSortKey, this.counterSortType); }); } - - getInitTime(initCounterResultList: Array, sampleMap: Map, val: SelectionParam): void { +// @ts-ignore + getInitTime(initCounterResultList: Array, sampleMap: Map, val: SelectionParam): void { let leftNs = val.leftNs + val.recordStartNs; let rightNs = val.rightNs + val.recordStartNs; if (initCounterResultList.length === 0) { return; } + // @ts-ignore let idx = initCounterResultList.findIndex((a) => a.ts >= leftNs); if (idx !== 0) { initCounterResultList = initCounterResultList.slice( @@ -175,22 +199,33 @@ export class TabPaneCounterSample extends BaseElement { initCounterResultList.length ); } + // @ts-ignore if (initCounterResultList[0].ts < leftNs && idx !== 0) { + // @ts-ignore initCounterResultList[0].ts = leftNs; } initCounterResultList.forEach((item, idx): void => { if (idx + 1 === initCounterResultList.length) { + // @ts-ignore item.time = rightNs - item.ts; } else { + // @ts-ignore item.time = initCounterResultList[idx + 1].ts - item.ts; } + // @ts-ignore if (sampleMap.has(`${item.filterId}-${item.value}`)) { + // @ts-ignore let obj = sampleMap.get(`${item.filterId}-${item.value}`); + // @ts-ignore obj.time += item.time; } else { + // @ts-ignore sampleMap.set(`${item.filterId}-${item.value}`, { + // @ts-ignore ...item, + // @ts-ignore counter: `Cpu ${item.cpu}`, + // @ts-ignore count: initCounterResultList.filter((ele) => ele.value === item.value).length, }); } @@ -205,13 +240,17 @@ export class TabPaneCounterSample extends BaseElement { arr.sort((sortByColumnLeftData, sortByColumnRightData): number => { if (key === 'timeStr') { if (type === 1) { + // @ts-ignore return sortByColumnLeftData.time - sortByColumnRightData.time; } else { + // @ts-ignore return sortByColumnRightData.time - sortByColumnLeftData.time; } } else if (key === 'counter') { + // @ts-ignore if (sortByColumnLeftData.counter > sortByColumnRightData.counter) { return type === 2 ? -1 : 1; + // @ts-ignore } else if (sortByColumnLeftData.counter === sortByColumnRightData.counter) { return 0; } else { @@ -219,8 +258,10 @@ export class TabPaneCounterSample extends BaseElement { } } else if (key === 'value') { if (type === 1) { + // @ts-ignore return sortByColumnLeftData.value - sortByColumnRightData.value; } else { + // @ts-ignore return sortByColumnRightData.value - sortByColumnLeftData.value; } } else { diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts index fad8b626b..3592fc17b 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts @@ -28,13 +28,15 @@ export class TabPaneCpuByProcess extends BaseElement { private cpuByProcessSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(cpuByProcessValue: SelectionParam | any) { + set data(cpuByProcessValue: SelectionParam | unknown) { if (this.currentSelectionParam === cpuByProcessValue) { return; } + // @ts-ignore this.currentSelectionParam = cpuByProcessValue; this.cpuByProcessRange!.textContent = `Selected range: ${ + // @ts-ignore parseFloat(((cpuByProcessValue.rightNs - cpuByProcessValue.leftNs) / 1000000.0).toFixed(5))} ms`; if (this.cpuByProcessTbl) { // @ts-ignore @@ -43,6 +45,7 @@ export class TabPaneCpuByProcess extends BaseElement { } this.cpuByProcessTbl!.recycleDataSource = []; this.cpuByProcessTbl!.loading = true; + // @ts-ignore getTabCpuByProcess(cpuByProcessValue.cpus, cpuByProcessValue.leftNs, cpuByProcessValue.rightNs).then((result) => { this.cpuByProcessTbl!.loading = false; if (result !== null && result.length > 0) { @@ -116,7 +119,7 @@ export class TabPaneCpuByProcess extends BaseElement { `; } - sortByColumn(cpuByProcessDetail: any): void { + sortByColumn(cpuByProcessDetail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (cpuByProcessLeftData: SelectionData, cpuByProcessRightData: SelectionData): number { @@ -144,13 +147,19 @@ export class TabPaneCpuByProcess extends BaseElement { } if ( + // @ts-ignore cpuByProcessDetail.key === 'pid' || + // @ts-ignore cpuByProcessDetail.key === 'wallDuration' || + // @ts-ignore cpuByProcessDetail.key === 'avgDuration' || + // @ts-ignore cpuByProcessDetail.key === 'occurrences' ) { + // @ts-ignore this.cpuByProcessSource.sort(compare(cpuByProcessDetail.key, cpuByProcessDetail.sort, 'number')); } else { + // @ts-ignore this.cpuByProcessSource.sort(compare(cpuByProcessDetail.key, cpuByProcessDetail.sort, 'string')); } this.cpuByProcessTbl!.recycleDataSource = this.cpuByProcessSource; diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByThread.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByThread.ts index ecb4ed6ba..861612aca 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByThread.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByThread.ts @@ -45,21 +45,25 @@ export class TabPaneCpuByThread extends BaseElement { `; - set data(cpuByThreadValue: SelectionParam | any) { + set data(cpuByThreadValue: SelectionParam | unknown) { if (this.currentSelectionParam === cpuByThreadValue) { return; } + // @ts-ignore this.currentSelectionParam = cpuByThreadValue; + // @ts-ignore this.cpuByThreadTbl!.innerHTML = this.getTableColumns(cpuByThreadValue.cpus); this.cpuByThreadTbl!.injectColumns(); this.range!.textContent = + // @ts-ignore `Selected range: ${parseFloat(((cpuByThreadValue.rightNs - cpuByThreadValue.leftNs) / 1000000.0). toFixed(5))} ms`; this.cpuByThreadTbl!.loading = true; this.handleAsyncRequest(cpuByThreadValue); } - private handleAsyncRequest(cpuByThreadValue: any): void { + private handleAsyncRequest(cpuByThreadValue: unknown): void { + // @ts-ignore getTabCpuByThread(cpuByThreadValue.cpus, cpuByThreadValue.leftNs, cpuByThreadValue.rightNs).then((result): void => { this.cpuByThreadTbl!.loading = false; if (result !== null && result.length > 0) { @@ -72,19 +76,22 @@ export class TabPaneCpuByThread extends BaseElement { }); } - private processResult(result: Array, cpuByThreadValue: any): void { + private processResult(result: Array, cpuByThreadValue: unknown): void { let sumWall = 0.0; let sumOcc = 0; - let map: Map = new Map(); + let map: Map = new Map(); for (let e of result) { + // @ts-ignore sumWall += e.wallDuration; + // @ts-ignore sumOcc += e.occurrences; this.updateThreadMap(e, cpuByThreadValue, map); } this.calculateCount(map, sumWall, sumOcc); } - private updateThreadMap(e: any, cpuByThreadValue: any, map: Map): void { + private updateThreadMap(e: unknown, cpuByThreadValue: unknown, map: Map): void { + // @ts-ignore if (map.has(`${e.tid}`)) { this.updateExistingThread(e, cpuByThreadValue, map); } else { @@ -92,59 +99,85 @@ export class TabPaneCpuByThread extends BaseElement { } } - private updateExistingThread(e: any, cpuByThreadValue: any, map: Map): void { + private updateExistingThread(e: unknown, cpuByThreadValue: unknown, map: Map): void { + // @ts-ignore let thread = map.get(`${e.tid}`)!; + // @ts-ignore thread.wallDuration += e.wallDuration; + // @ts-ignore thread.occurrences += e.occurrences; this.updateCpuValues(e, cpuByThreadValue, thread); } - private createThread(e: any, cpuByThreadValue: any, map: Map): void { + private createThread(e: unknown, cpuByThreadValue: unknown, map: Map): void { + // @ts-ignore let process = Utils.PROCESS_MAP.get(e.pid); + // @ts-ignore let thread = Utils.THREAD_MAP.get(e.tid); - let cpuByThreadObject: any = { + let cpuByThreadObject: unknown = { + // @ts-ignore tid: e.tid, + // @ts-ignore pid: e.pid, thread: !thread || thread.length === 0 ? '[NULL]' : thread, process: !process || process.length === 0 ? '[NULL]' : process, + // @ts-ignore wallDuration: e.wallDuration || 0, + // @ts-ignore occurrences: e.occurrences || 0, avgDuration: 0, }; this.initializeCpuValues(cpuByThreadValue, cpuByThreadObject); this.updateCpuValues(e, cpuByThreadValue, cpuByThreadObject); + // @ts-ignore map.set(`${e.tid}`, cpuByThreadObject); } - private initializeCpuValues(cpuByThreadValue: any, cpuByThreadObject: any): void { + private initializeCpuValues(cpuByThreadValue: unknown, cpuByThreadObject: unknown): void { + // @ts-ignore for (let i of cpuByThreadValue.cpus) { + // @ts-ignore cpuByThreadObject[`cpu${i}`] = 0; + // @ts-ignore cpuByThreadObject[`cpu${i}TimeStr`] = '0'; + // @ts-ignore cpuByThreadObject[`cpu${i}Ratio`] = '0'; } } - private updateCpuValues(e: any, cpuByThreadValue: any, cpuByThreadObject: any): void { + private updateCpuValues(e: unknown, cpuByThreadValue: unknown, cpuByThreadObject: unknown): void { + // @ts-ignore cpuByThreadObject[`cpu${e.cpu}`] = e.wallDuration || 0; + // @ts-ignore cpuByThreadObject[`cpu${e.cpu}TimeStr`] = getProbablyTime(e.wallDuration || 0); + // @ts-ignore let ratio = ((100.0 * (e.wallDuration || 0)) / (cpuByThreadValue.rightNs - cpuByThreadValue.leftNs)).toFixed(2); if (ratio === '0.00') { ratio = '0'; } + // @ts-ignore cpuByThreadObject[`cpu${e.cpu}Ratio`] = ratio; } - private calculateCount(map: Map, sumWall: number, sumOcc: number): void { + private calculateCount(map: Map, sumWall: number, sumOcc: number): void { + // @ts-ignore let arr = Array.from(map.values()).sort((a, b) => b.wallDuration - a.wallDuration); for (let e of arr) { + // @ts-ignore e.avgDuration = (e.wallDuration / (e.occurrences || 1.0) / 1000000.0).toFixed(5); + // @ts-ignore e.wallDuration = parseFloat((e.wallDuration / 1000000.0).toFixed(5)); } - let count: any = {}; + let count: unknown = {}; + // @ts-ignore count.process = ' '; + // @ts-ignore count.wallDuration = parseFloat((sumWall / 1000000.0).toFixed(7)); + // @ts-ignore count.occurrences = sumOcc; + // @ts-ignore arr.splice(0, 0, count); + // @ts-ignore this.cpuByThreadSource = arr; this.cpuByThreadTbl!.recycleDataSource = arr; } @@ -170,7 +203,7 @@ export class TabPaneCpuByThread extends BaseElement { // @ts-ignore this.sortByColumn(evt.detail); }); - this.cpuByThreadTbl!.addEventListener('row-click', (evt: any): void => { + this.cpuByThreadTbl!.addEventListener('row-click', (evt: unknown): void => { // @ts-ignore let data = evt.detail.data; data.isSelected = true; @@ -204,7 +237,7 @@ export class TabPaneCpuByThread extends BaseElement { `; } - compare(property: any, sort: any, type: string) { + compare(property: unknown, sort: unknown, type: string) { return function (cpuByThreadLeftData: SelectionData, cpuByThreadRightData: SelectionData): number { if (cpuByThreadLeftData.process === ' ' || cpuByThreadRightData.process === ' ') { return 0; @@ -228,23 +261,34 @@ export class TabPaneCpuByThread extends BaseElement { } }; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { + // @ts-ignore if ((detail.key as string).includes('cpu')) { + // @ts-ignore if ((detail.key as string).includes('Ratio')) { + // @ts-ignore this.cpuByThreadSource.sort(this.compare(detail.key, detail.sort, 'string')); } else { + // @ts-ignore this.cpuByThreadSource.sort(this.compare((detail.key as string).replace('TimeStr', ''), detail.sort, 'number')); } } else { if ( + // @ts-ignore detail.key === 'pid' || + // @ts-ignore detail.key === 'tid' || + // @ts-ignore detail.key === 'wallDuration' || + // @ts-ignore detail.key === 'avgDuration' || + // @ts-ignore detail.key === 'occurrences' ) { + // @ts-ignore this.cpuByThreadSource.sort(this.compare(detail.key, detail.sort, 'number')); } else { + // @ts-ignore this.cpuByThreadSource.sort(this.compare(detail.key, detail.sort, 'string')); } } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuStateClick.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuStateClick.ts index 8e64bd01e..a9446dba8 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuStateClick.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuStateClick.ts @@ -22,14 +22,19 @@ import { resizeObserver } from '../SheetUtils'; export class TabPaneCpuStateClick extends BaseElement { private cpuStateClickTbl: LitTable | null | undefined; - set data(cpuStateClickValue: any) { + set data(cpuStateClickValue: unknown) { if (cpuStateClickValue) { this.cpuStateClickTbl!.recycleDataSource = [ { + // @ts-ignore startNS: Utils.getTimeString(cpuStateClickValue.startTs), - absoluteTime: `${(cpuStateClickValue.startTs + (window as any).recordStartNS) / 1000000000}s`, + // @ts-ignore + absoluteTime: `${(cpuStateClickValue.startTs + (window as unknown).recordStartNS) / 1000000000}s`, + // @ts-ignore dur: Utils.getProbablyTime(cpuStateClickValue.dur), + // @ts-ignore state: cpuStateClickValue.value, + // @ts-ignore cpu: `Cpu ${cpuStateClickValue.cpu}`, }, ]; diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuUsage.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuUsage.ts index 37d1e1387..f9212799f 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuUsage.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuUsage.ts @@ -24,26 +24,32 @@ import { getTabCpuFreq, getTabCpuUsage } from '../../../../database/sql/Cpu.sql' export class TabPaneCpuUsage extends BaseElement { private cpuUsageTbl: LitTable | null | undefined; private range: HTMLLabelElement | null | undefined; - private orderByOldList: any[] = []; + private orderByOldList: unknown[] = []; private currentSelectionParam: SelectionParam | undefined; - set data(cpuUsageValue: SelectionParam | any) { + set data(cpuUsageValue: SelectionParam | unknown) { if (this.currentSelectionParam === cpuUsageValue) { return; } + // @ts-ignore this.currentSelectionParam = cpuUsageValue; this.range!.textContent = + // @ts-ignore `Selected range: ${parseFloat(((cpuUsageValue.rightNs - cpuUsageValue.leftNs) / 1000000.0).toFixed(5))} ms`; this.cpuUsageTbl!.loading = true; Promise.all([ + // @ts-ignore getTabCpuUsage(cpuUsageValue.cpus, cpuUsageValue.leftNs, cpuUsageValue.rightNs), + // @ts-ignore getTabCpuFreq(cpuUsageValue.cpus, cpuUsageValue.leftNs, cpuUsageValue.rightNs), ]).then((result): void => { this.cpuUsageTbl!.loading = false; let usages = result[0]; let freqMap = this.groupByCpuToMap(result[1]); let data = []; + // @ts-ignore let range = cpuUsageValue.rightNs - cpuUsageValue.leftNs; + // @ts-ignore for (let cpu of cpuUsageValue.cpus) { let usage = new CpuUsage(); usage.cpu = cpu; @@ -65,7 +71,7 @@ export class TabPaneCpuUsage extends BaseElement { }); } - private handleUsage(freqMap: Map>, usage: CpuUsage, cpuUsageValue: any, range: number): void { + private handleUsage(freqMap: Map>, usage: CpuUsage, cpuUsageValue: unknown, range: number): void { let arr = []; if (freqMap.has(usage.cpu)) { let freqList = freqMap.get(usage.cpu); @@ -73,17 +79,22 @@ export class TabPaneCpuUsage extends BaseElement { for (let i = 0; i < freqList!.length; i++) { let freq = freqList![i]; if (i === freqList!.length - 1) { + // @ts-ignore freq.dur = cpuUsageValue.rightNs - freq.startNs; } else { freq.dur = freqList![i + 1].startNs - freq.startNs; } + // @ts-ignore if (freq.startNs + freq.dur > cpuUsageValue.leftNs) { list.push(freq); } } if (list.length > 0) { + // @ts-ignore if (list[0].startNs < cpuUsageValue.leftNs) { + // @ts-ignore list[0].dur = list[0].startNs + list[0].dur - cpuUsageValue.leftNs; + // @ts-ignore list[0].startNs = cpuUsageValue.leftNs; } } @@ -116,9 +127,11 @@ export class TabPaneCpuUsage extends BaseElement { resizeObserver(this.parentElement!, this.cpuUsageTbl!); } - sortTable(arr: any[], key: string, sort: boolean): void { + sortTable(arr: unknown[], key: string, sort: boolean): void { this.cpuUsageTbl!.recycleDataSource = arr.sort((item1, item2): number => { + // @ts-ignore let cpuUsageLeftData = Number(item1[key].toString().replace('%', '')); + // @ts-ignore let cpuUsageRightData = Number(item2[key].toString().replace('%', '')); if (cpuUsageLeftData > cpuUsageRightData) { return sort ? -1 : 1; diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts index 8efc4f40f..9794c68bb 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts @@ -29,22 +29,23 @@ import { drawLines } from '../../../../database/ui-worker/ProcedureWorkerCommon' export class TabPaneFrequencySample extends BaseElement { private frequencySampleTbl: LitTable | null | undefined; private selectionParam: SelectionParam | null | undefined; - private frequencyLoadingPage: any; - private frequencySampleSource: any[] = []; + private frequencyLoadingPage: unknown; + private frequencySampleSource: unknown[] = []; private frequencySampleSortKey: string = 'counter'; private frequencySampleSortType: number = 0; - private systemTrace: SpSystemTrace | undefined | null; - private _rangeRow: Array> | undefined | null; + private systemTrace: SpSystemTrace | undefined | null;// @ts-ignore + private _rangeRow: Array> | undefined | null; private frequencySampleClickType: boolean = false; private busyTimeLoadingHide: boolean = false; - private freqBusyDataList: Array = []; + private freqBusyDataList: Array = []; private worker: Worker | undefined; - private freqResult: Array = []; + private freqResult: Array = []; - set data(frequencySampleValue: SelectionParam | any) { + set data(frequencySampleValue: SelectionParam | unknown) { if (frequencySampleValue === this.selectionParam) { return; } + // @ts-ignore this.selectionParam = frequencySampleValue; if (this.frequencySampleTbl) { // @ts-ignore @@ -53,8 +54,8 @@ export class TabPaneFrequencySample extends BaseElement { } this.queryDataByDB(frequencySampleValue); } - - set rangeTraceRow(rangeRow: Array> | undefined) { +// @ts-ignore + set rangeTraceRow(rangeRow: Array> | undefined) { this._rangeRow = rangeRow; } @@ -95,31 +96,31 @@ export class TabPaneFrequencySample extends BaseElement { for (let row of rangeTraceRow!) { let context = row.collect ? this.systemTrace!.canvasFavoritePanelCtx! : this.systemTrace!.canvasPanelCtx!; freqFilter.push(...row.dataListCache); - row.canvasSave(context); - context.clearRect(row.frame.x, row.frame.y, row.frame.width, row.frame.height); + row.canvasSave(context);// @ts-ignore + context.clearRect(row.frame.x, row.frame.y, row.frame.width, row.frame.height);// @ts-ignore drawLines(context!, TraceRow.range?.xs || [], row.frame.height, this.systemTrace!.timerShaftEL!.lineColor()); if (row.name.includes('Frequency') && parseInt(row.name.replace(/[^\d]/g, ' ')) === data.cpu) { CpuFreqStruct.hoverCpuFreqStruct = undefined; for (let i = 0; i < freqFilter!.length; i++) { - if ( - freqFilter[i].value === data.value && - freqFilter[i].cpu === data.cpu && - Math.max(TraceRow.rangeSelectObject?.startNS!, freqFilter[i].startNS!) < + if (// @ts-ignore + freqFilter[i].value === data.value &&// @ts-ignore + freqFilter[i].cpu === data.cpu &&// @ts-ignore + Math.max(TraceRow.rangeSelectObject?.startNS!, freqFilter[i].startNS!) ): void { +// @ts-ignore + private metricsText(context: CanvasRenderingContext2D, row: TraceRow): void { let s = CpuFreqStruct.maxFreqName; let textMetrics = context.measureText(s); context.globalAlpha = 0.8; @@ -144,59 +145,72 @@ export class TabPaneFrequencySample extends BaseElement { connectedCallback(): void { super.connectedCallback(); + // @ts-ignore resizeObserver(this.parentElement!, this.frequencySampleTbl!, 25, this.frequencyLoadingPage, 24); } - async queryDataByDB(frqSampleParam: SelectionParam | any): Promise { - let sampleMap = new Map(); - let frqSampleList: any[] = []; + async queryDataByDB(frqSampleParam: SelectionParam | unknown): Promise { + let sampleMap = new Map(); + let frqSampleList: unknown[] = []; this.frequencySampleTbl!.loading = true; if (this.frequencySampleClickType) {this.frequencySampleClickType = !this.frequencySampleClickType} if (this.busyTimeLoadingHide) {this.busyTimeLoadingHide = !this.busyTimeLoadingHide} let result = await getTabPaneFrequencySampleData( + // @ts-ignore frqSampleParam.leftNs + frqSampleParam.recordStartNs, + // @ts-ignore frqSampleParam.rightNs + frqSampleParam.recordStartNs, + // @ts-ignore frqSampleParam.cpuFreqFilterIds ); this.freqResult = result; + // @ts-ignore frqSampleParam.cpuFreqFilterIds.forEach((a: number): void => { this.getInitTime( result.filter((f) => f.filterId === a), sampleMap, + // @ts-ignore frqSampleParam ); }); sampleMap.forEach((a): void => { + // @ts-ignore a.timeStr = parseFloat((a.time / 1000000.0).toFixed(6)); frqSampleList.push(a); }); this.frequencySampleSource = frqSampleList; this.frequencySampleTbl!.loading = false; this.sortTable(this.frequencySampleSortKey, this.frequencySampleSortType); + // @ts-ignore this.getBusyTimeData(frqSampleParam, sampleMap, result); } - async getBusyTimeData(frqSampleParam: SelectionParam, sampleMap: Map, result: Array): Promise { - let stateFiliterIds: Array = []; - let cpuFiliterOrder: Array = []; + async getBusyTimeData(frqSampleParam: SelectionParam, sampleMap: Map, result: Array): Promise { + let stateFiliterIds: Array = []; + let cpuFiliterOrder: Array = []; //找出框选的cpu fre所对应的cpu state this.freqBusyDataList = []; if (!frqSampleParam.cpuStateRowsId.length) { - sampleMap.forEach((value: any): void => { + sampleMap.forEach((value: unknown): void => { + // @ts-ignore value.busyTime = 'NULL'; this.freqBusyDataList.push(value); }); } else { frqSampleParam.cpuFreqFilterNames.forEach((item: string): void => { - let cpuStateIds: any = frqSampleParam.cpuStateRowsId.filter( - (it: any) => it.cpu === Number(item.replace(/[^\d]/g, ' ').trim()) + let cpuStateIds: unknown = frqSampleParam.cpuStateRowsId.filter( + // @ts-ignore + (it: unknown) => it.cpu === Number(item.replace(/[^\d]/g, ' ').trim()) ); + // @ts-ignore stateFiliterIds.push(cpuStateIds[0].filterId); + // @ts-ignore cpuFiliterOrder.push(cpuStateIds[0].cpu); }); let res = await getTabPaneCounterSampleData( frqSampleParam.leftNs + frqSampleParam.recordStartNs, frqSampleParam.rightNs + frqSampleParam.recordStartNs, + // @ts-ignore stateFiliterIds ); let msg = { @@ -222,12 +236,13 @@ export class TabPaneFrequencySample extends BaseElement { }; } } - getInitTime(initFreqResult: Array, sampleMap: Map, selectionParam: SelectionParam): void { + getInitTime(initFreqResult: Array, sampleMap: Map, selectionParam: SelectionParam): void { let leftStartNs = selectionParam.leftNs + selectionParam.recordStartNs; let rightEndNs = selectionParam.rightNs + selectionParam.recordStartNs; if (initFreqResult.length === 0) { return; } + // @ts-ignore let includeData = initFreqResult.findIndex((a) => a.ts >= leftStartNs); if (includeData !== 0) { initFreqResult = initFreqResult.slice( @@ -235,22 +250,33 @@ export class TabPaneFrequencySample extends BaseElement { initFreqResult.length ); } + // @ts-ignore if (initFreqResult[0].ts < leftStartNs && includeData !== 0) { + // @ts-ignore initFreqResult[0].ts = leftStartNs; } initFreqResult.forEach((item, idx): void => { if (idx + 1 === initFreqResult.length) { + // @ts-ignore item.time = rightEndNs - item.ts; } else { + // @ts-ignore item.time = initFreqResult[idx + 1].ts - item.ts; } + // @ts-ignore if (sampleMap.has(`${item.filterId}-${item.value}`)) { + // @ts-ignore let obj = sampleMap.get(`${item.filterId}-${item.value}`); + // @ts-ignore obj.time += item.time; } else { + // @ts-ignore sampleMap.set(`${item.filterId}-${item.value}`, { + // @ts-ignore ...item, + // @ts-ignore counter: `Cpu ${item.cpu}`, + // @ts-ignore valueStr: ColorUtils.formatNumberComma(item.value), busyTimeStr: '-', busyTime: 0, @@ -261,7 +287,7 @@ export class TabPaneFrequencySample extends BaseElement { //点击按钮控制busyTime显示与否 handleClick(key: string, type: boolean): void { - let res: any[] = []; + let res: unknown[] = []; if (this.freqResult.length === 0) { return; } @@ -273,7 +299,7 @@ export class TabPaneFrequencySample extends BaseElement { } this.frequencySampleTbl!.loading = this.freqBusyDataList.length <= 0; if (this.freqBusyDataList.length > 0) { - this.frequencySampleTbl!.recycleDataSource.forEach((value): void => { + this.frequencySampleTbl!.recycleDataSource.forEach((value): void => {// @ts-ignore value.busyTimeStr = type ? value.busyTime : '-'; res.push(value); }); @@ -289,26 +315,34 @@ export class TabPaneFrequencySample extends BaseElement { arr.sort((frequencySampleLeftData, frequencySampleRightData): number => { if (key === 'timeStr') { if (type === 1) { + // @ts-ignore return frequencySampleLeftData.time - frequencySampleRightData.time; } else { + // @ts-ignore return frequencySampleRightData.time - frequencySampleLeftData.time; } } else if (key === 'counter') { if (type === 1) { + // @ts-ignore return frequencySampleLeftData.cpu - frequencySampleRightData.cpu; } else { + // @ts-ignore return frequencySampleRightData.cpu - frequencySampleLeftData.cpu; } } else if (key === 'valueStr') { if (type === 1) { + // @ts-ignore return frequencySampleLeftData.value - frequencySampleRightData.value; } else { + // @ts-ignore return frequencySampleRightData.value - frequencySampleLeftData.value; } } else if (key === 'busyTimeStr') { if (type === 1) { + // @ts-ignore return frequencySampleLeftData.busyTimeStr - frequencySampleRightData.busyTimeStr; } else { + // @ts-ignore return frequencySampleRightData.busyTimeStr - frequencySampleLeftData.busyTimeStr; } } else { diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts b/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts index c9a87eab5..f2cb780a3 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts @@ -27,13 +27,13 @@ export class TabPanePTS extends BaseElement { private ptsRange: HTMLLabelElement | null | undefined; private selectionParam: SelectionParam | null | undefined; - set data(ptsValue: SelectionParam | any) { + set data(ptsValue: SelectionParam | unknown) { if (ptsValue === this.selectionParam) { return; - } + }// @ts-ignore this.selectionParam = ptsValue; - this.ptsRange!.textContent = - `Selected range: ${parseFloat(((ptsValue.rightNs - ptsValue.leftNs) / 1000000.0).toFixed(5))} ms`; + this.ptsRange!.textContent =// @ts-ignore + `Selected range: ${parseFloat(((ptsValue.rightNs - ptsValue.leftNs) / 1000000.0).toFixed(5))} ms`;// @ts-ignore this.getDataByPTS(ptsValue.leftNs, ptsValue.rightNs, ptsValue.cpus); } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts index d634c510d..c3370b258 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts @@ -27,17 +27,20 @@ export class TabPaneSPT extends BaseElement { private range: HTMLLabelElement | null | undefined; private selectionParam: SelectionParam | null | undefined; - set data(sptValue: SelectionParam | any) { + set data(sptValue: SelectionParam | unknown) { if (sptValue === this.selectionParam) { return; } + // @ts-ignore this.selectionParam = sptValue; if (this.sptTbl) { // @ts-ignore this.sptTbl.shadowRoot.querySelector('.table').style.height = `${this.parentElement!.clientHeight - 45}px`; } this.range!.textContent = + // @ts-ignore `Selected range: ${parseFloat(((sptValue.rightNs - sptValue.leftNs) / 1000000.0).toFixed(5))} ms`; + // @ts-ignore this.getDataBySPT(sptValue.leftNs, sptValue.rightNs, sptValue.cpus); } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts index dbeb8e232..31b17cb26 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts @@ -54,7 +54,7 @@ export class TabPaneSchedPriority extends BaseElement { resizeObserver(this.parentElement!, this.priorityTbl!); } - private async queryDataByDB(sptParam: SelectionParam | any): Promise { + private async queryDataByDB(sptParam: SelectionParam | unknown): Promise { this.priorityTbl!.loading = true; const resultData: Array = []; await this.fetchAndProcessData(); @@ -89,11 +89,13 @@ export class TabPaneSchedPriority extends BaseElement { } // thread_state表中runnable数据的Map const runnableMap = new Map(); + // @ts-ignore sliceSPTSender(sptParam.leftNs, sptParam.rightNs, [], 'spt-getCpuPriorityByTime').then((res): void => { for (const item of res) { if (['R', 'R+'].includes(item.state)) { runnableMap.set(`${item.id}_${item.startTime + item.dur}`, item); } + // @ts-ignore if (item.cpu === null || !sptParam.cpus.includes(item.cpu)) { continue; } diff --git a/ide/src/trace/component/trace/sheet/energy/TabPaneEnergyAnomaly.ts b/ide/src/trace/component/trace/sheet/energy/TabPaneEnergyAnomaly.ts index 68ed68e9b..b8cbbbbee 100644 --- a/ide/src/trace/component/trace/sheet/energy/TabPaneEnergyAnomaly.ts +++ b/ide/src/trace/component/trace/sheet/energy/TabPaneEnergyAnomaly.ts @@ -42,6 +42,7 @@ export class TabPaneEnergyAnomaly extends BaseElement { if (filterAppMap.get(values[0] + values[1]) === -1) { continue; } else { + // @ts-ignore findAppNameIndex = filterAppMap.get(values[0] + values[1]); } if (!tempSet.has(values[0])) { @@ -78,7 +79,8 @@ export class TabPaneEnergyAnomaly extends BaseElement { } } - private spliceHtmlText(findAppNameIndex: number, nextValues: any[], htmlText: string, tempSet: Set): string { + private spliceHtmlText(findAppNameIndex: number, nextValues: unknown[], htmlText: string, tempSet: Set): string { + // @ts-ignore let appValues = nextValues[TabPaneEnergyAnomaly.VALUE_INDEX].split(','); if (tempSet.has(nextValues[0])) { htmlText += @@ -97,7 +99,7 @@ export class TabPaneEnergyAnomaly extends BaseElement { return htmlText; } - private setFilterAppMapByAnomalyData(bean: EnergyAnomalyStruct[]): Map { + private setFilterAppMapByAnomalyData(bean: EnergyAnomalyStruct[]): Map { let filterAppMap = new Map(); for (let index = 0; index < bean.length; index++) { let findAppNameIndex = -1; @@ -121,7 +123,7 @@ export class TabPaneEnergyAnomaly extends BaseElement { return filterAppMap; } - static getUnit(value: any): string { + static getUnit(value: unknown): string { if (value === 'DURATION') { return ' ms'; } else if (value === 'ENERGY' || value === 'BGENERGY' || value === 'BATTERY_GAS_GUAGE') { diff --git a/ide/src/trace/component/trace/sheet/energy/TabPanePowerBattery.ts b/ide/src/trace/component/trace/sheet/energy/TabPanePowerBattery.ts index 59ba1715b..95354afe1 100644 --- a/ide/src/trace/component/trace/sheet/energy/TabPanePowerBattery.ts +++ b/ide/src/trace/component/trace/sheet/energy/TabPanePowerBattery.ts @@ -25,7 +25,7 @@ import { getTabPowerBatteryData } from '../../../../database/sql/ProcessThread.s export class TabPanePowerBattery extends BaseElement { private tblPower: LitTable | null | undefined; - set data(valPower: SelectionParam | any) { + set data(valPower: SelectionParam | unknown) { this.queryDataByDB(valPower); } @@ -38,9 +38,10 @@ export class TabPanePowerBattery extends BaseElement { this.tblPower = this.shadowRoot?.querySelector('#tb-power-battery-energy'); } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { + // @ts-ignore getTabPowerBatteryData(val.rightNs).then((result): void => { - let powerData: any = { + let powerData: unknown = { POWER_IDE_BATTERY: { gas_gauge: [], charge: [], @@ -53,20 +54,29 @@ export class TabPanePowerBattery extends BaseElement { }, }; result.forEach((item): void => { - let powerDatum: any = powerData[item.eventName]; + // @ts-ignore + let powerDatum: unknown = powerData[item.eventName]; if (item.appKey.toLocaleLowerCase() === 'appname') { + // @ts-ignore powerDatum.appName = SpHiSysEnergyChart.app_name; } else { let eventData: Array = item.eventValue.split(','); + // @ts-ignore powerDatum[item.appKey.toLocaleLowerCase()] = eventData[eventData.length - 1] || ''; } }); this.tblPower!.recycleDataSource = [ + // @ts-ignore { name: 'Gas Gauge', value: `${powerData.POWER_IDE_BATTERY.gas_gauge} mAh` }, + // @ts-ignore { name: 'Charge', value: powerData.POWER_IDE_BATTERY.charge }, + // @ts-ignore { name: 'Screen', value: powerData.POWER_IDE_BATTERY.screen }, + // @ts-ignore { name: 'Level', value: `${powerData.POWER_IDE_BATTERY.level} %` }, + // @ts-ignore { name: 'Current', value: `${powerData.POWER_IDE_BATTERY.current} mA` }, + // @ts-ignore { name: 'Capacity', value: `${powerData.POWER_IDE_BATTERY.capacity} mAh` }, { name: 'APP Name', value: SpHiSysEnergyChart.app_name! }, ]; diff --git a/ide/src/trace/component/trace/sheet/energy/TabPanePowerDetails.ts b/ide/src/trace/component/trace/sheet/energy/TabPanePowerDetails.ts index 90d655249..ff02d25df 100644 --- a/ide/src/trace/component/trace/sheet/energy/TabPanePowerDetails.ts +++ b/ide/src/trace/component/trace/sheet/energy/TabPanePowerDetails.ts @@ -27,8 +27,8 @@ import { NUM_100, NUM_3 } from '../../../../bean/NumBean'; @element('tabpane-power-details') export class TabPanePowerDetails extends BaseElement { private tblPowerDetails: LitTable | null | undefined; - private sourcePowerDetails: Array = []; - private itemType: any; + private sourcePowerDetails: Array = []; + private itemType: unknown; set data(valPowerDetails: SelectionParam) { this.queryDataByDB(valPowerDetails); @@ -130,13 +130,17 @@ export class TabPanePowerDetails extends BaseElement { energy_type: [], count_type: [], }; + // @ts-ignore this.itemType.time_type = this.getTimeTypeValue(); + // @ts-ignore this.itemType.duration_type = this.getDurationTypeValue(); + // @ts-ignore this.itemType.energy_type = this.getEnergyTypeValue(); + // @ts-ignore this.itemType.count_type = this.getCountTypeValue(); } - getPowerData(): any { + getPowerData(): unknown { return { POWER_IDE_CPU: new PowerDetailsEnergy('CPU'), POWER_IDE_LOCATION: new PowerDetailsEnergy('LOCATION'), @@ -150,45 +154,61 @@ export class TabPanePowerDetails extends BaseElement { }; } - getTotalEnergy(powerData: any): number { + getTotalEnergy(powerData: unknown): number { return ( + // @ts-ignore powerData.POWER_IDE_CPU.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_LOCATION.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_GPU.getTotalEnergy(true) + + // @ts-ignore powerData.POWER_IDE_DISPLAY.getTotalEnergy(true) + + // @ts-ignore powerData.POWER_IDE_CAMERA.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_BLUETOOTH.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_FLASHLIGHT.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_AUDIO.getTotalEnergy(false) + + // @ts-ignore powerData.POWER_IDE_WIFISCAN.getTotalEnergy(false) ); } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { + // @ts-ignore getTabPowerDetailsData(val.leftNs - val.leftNs, val.rightNs).then((items): void => { log(`getTabPowerDetailsData size :${items.length}`); - let detailsData: Array = []; + let detailsData: Array = []; let set = new Set(); set.add('COUNT'); set.add('LOAD'); set.add('CHARGE'); set.add('CAMERA_ID'); - let powerData: any = this.getPowerData(); + let powerData: unknown = this.getPowerData(); let tsMax = 0; let currentAppIndex = -1; items.forEach((item): void => { - let powerDatum: any = powerData[item.eventName]; + // @ts-ignore + let powerDatum: unknown = powerData[item.eventName]; if (item.appKey.toLocaleLowerCase() === 'appname') { + // @ts-ignore powerDatum.appName = SpHiSysEnergyChart.app_name; currentAppIndex = item.eventValue.split(',').indexOf(SpHiSysEnergyChart.app_name!); tsMax = 0; } else if (currentAppIndex > -1 && (set.has(item.appKey) ? item.startNS >= tsMax : true)) { if (set.has(item.appKey)) { + // @ts-ignore powerDatum[item.appKey.toLocaleLowerCase()] = item.startNS >= tsMax ? ((tsMax = item.startNS), item.eventValue) : + // @ts-ignore powerDatum[item.appKey.toLocaleLowerCase()]; } else { + // @ts-ignore powerDatum[item.appKey.toLocaleLowerCase()] = + // @ts-ignore (powerDatum[item.appKey.toLocaleLowerCase()] || 0) + parseInt(item.eventValue.split(',')[currentAppIndex]); } @@ -228,31 +248,40 @@ export class TabPanePowerDetails extends BaseElement { }); } - setEnergyItems(powerData: any, totalEnergy: number, energyName: string, isSimpleEnergy: boolean, type: any): any { + setEnergyItems(powerData: unknown, totalEnergy: number, energyName: string, isSimpleEnergy: boolean, type: unknown): unknown { + // @ts-ignore let ratio = (powerData[energyName].getTotalEnergy(isSimpleEnergy) * NUM_100) / totalEnergy; if (totalEnergy === 0) { + // @ts-ignore powerData[energyName].energyConsumptionRatio = '0.000 %'; } else { + // @ts-ignore powerData[energyName].energyConsumptionRatio = `${ratio.toFixed(NUM_3)} %`; } return this.getEnergyStyle(powerData, energyName, type); } - getEnergyStyle(powerData: any, energyName: string, type: any): any { - this.itemType[type].forEach((item: any): void => { + getEnergyStyle(powerData: unknown, energyName: string, type: unknown): unknown { + // @ts-ignore + this.itemType[type].forEach((item: unknown): void => { + // @ts-ignore powerData[energyName][item] = '-'; }); if (type === 'energy_type') { if (energyName === 'POWER_IDE_GPU') { + // @ts-ignore powerData[energyName].duration = '-'; } else { + // @ts-ignore powerData[energyName].usage = '-'; } } else if (type === 'duration_type') { if (energyName !== 'POWER_IDE_CAMERA') { + // @ts-ignore powerData[energyName].camera_id = '-'; } } + // @ts-ignore return powerData[energyName]; } @@ -260,7 +289,7 @@ export class TabPanePowerDetails extends BaseElement { return TabPanePowerDetailsHTML; } - sortByColumn(detail: any): void { + sortByColumn(detail: unknown): void { // @ts-ignore function compare(property, sort, type) { return function (aPowerDetails: PowerDetailsEnergy, bPowerDetails: PowerDetailsEnergy) { @@ -285,10 +314,12 @@ export class TabPanePowerDetails extends BaseElement { } }; } - + // @ts-ignore if (detail.key === 'appName') { + // @ts-ignore this.sourcePowerDetails.sort(compare(detail.key, detail.sort, 'string')); } else { + // @ts-ignore this.sourcePowerDetails.sort(compare(detail.key, detail.sort, 'number')); } this.tblPowerDetails!.recycleDataSource = this.sourcePowerDetails; diff --git a/ide/src/trace/component/trace/sheet/energy/TabPaneSystemDetails.ts b/ide/src/trace/component/trace/sheet/energy/TabPaneSystemDetails.ts index 038f5f2d6..fb1b2035b 100644 --- a/ide/src/trace/component/trace/sheet/energy/TabPaneSystemDetails.ts +++ b/ide/src/trace/component/trace/sheet/energy/TabPaneSystemDetails.ts @@ -30,12 +30,12 @@ import { export class TabPaneSystemDetails extends BaseElement { private tblSystemDetails: LitTable | null | undefined; private detailsTbl: LitTable | null | undefined; - private eventSource: Array = []; - private detailsSource: Array = []; + private eventSource: Array = []; + private detailsSource: Array = []; private boxDetails: HTMLDivElement | null | undefined; private slicerTrack: LitSlicerTrack | null | undefined; - set data(valSystemDetails: SelectionParam | any) { + set data(valSystemDetails: SelectionParam | unknown) { this.slicerTrack!.style.visibility = 'hidden'; this.queryDataByDB(valSystemDetails); } @@ -122,32 +122,39 @@ export class TabPaneSystemDetails extends BaseElement { }); } - queryDataByDB(val: SelectionParam | any): void { + queryDataByDB(val: SelectionParam | unknown): void { Promise.all([ + // @ts-ignore querySystemWorkData(val.rightNs), + // @ts-ignore querySysLockDetailsData(val.rightNs, 'POWER_RUNNINGLOCK'), + // @ts-ignore querySysLocationDetailsData(val.rightNs, 'GNSS_STATE'), ]).then((result): void => { - let itemList: Array = []; + let itemList: Array = []; + // @ts-ignore let systemWorkData = this.getSystemWorkData(result[0], val.leftNs, val.rightNs); if (systemWorkData.length > 0) { systemWorkData.forEach((item) => { itemList.push(item); }); } + // @ts-ignore let systemLockData = this.getSystemLockData(result[1], val.leftNs); if (systemLockData.length > 0) { systemLockData.forEach((item): void => { itemList.push(item); }); } + // @ts-ignore let systemLocationData = this.getSystemLocationData(result[2], val.leftNs); if (systemLocationData.length > 0) { systemLocationData.forEach((item): void => { itemList.push(item); }); } - itemList.sort((leftData: any, rightData: any) => { + itemList.sort((leftData: unknown, rightData: unknown) => { + // @ts-ignore return leftData.ts - rightData.ts; }); this.eventSource = []; @@ -186,30 +193,40 @@ export class TabPaneSystemDetails extends BaseElement { }); } - private getSystemWorkData(data: Array, leftNs: number, rightNs: number): any[] { + private getSystemWorkData(data: Array, leftNs: number, rightNs: number): unknown[] { let values = this.getConvertData(data); - let lifeCycleData: Array = []; + let lifeCycleData: Array = []; let watchIndex: Array = []; for (let index = 0; index < values.length; index++) { - let filterData: any = values[index]; + let filterData: unknown = values[index]; + // @ts-ignore if (filterData.name === SpHiSysEnergyChart.app_name) { + // @ts-ignore if (filterData.eventName.indexOf('WORK_ADD') > -1) { + // @ts-ignore watchIndex.push(filterData.workId); + // @ts-ignore let number = watchIndex.indexOf(filterData.workId); lifeCycleData[number] = { startData: {}, endData: {}, rangeData: [], }; + // @ts-ignore lifeCycleData[number].startData = filterData; let virtualEndData = JSON.parse(JSON.stringify(filterData)); virtualEndData.ts = rightNs; virtualEndData.eventName = 'WORK_REMOVE'; + // @ts-ignore lifeCycleData[number].endData = virtualEndData; + // @ts-ignore } else if (filterData.eventName.indexOf('WORK_REMOVE') > -1) { + // @ts-ignore let number = watchIndex.indexOf(filterData.workId); if (number > -1) { + // @ts-ignore lifeCycleData[number].endData = filterData; + // @ts-ignore watchIndex[number] = number + filterData.ts; } } else { @@ -217,12 +234,16 @@ export class TabPaneSystemDetails extends BaseElement { } } } - let resultData: Array = []; - lifeCycleData.forEach((life: any): void => { + let resultData: Array = []; + lifeCycleData.forEach((life: unknown): void => { + // @ts-ignore if (life.endData.ts >= leftNs) { + // @ts-ignore let midData = life.rangeData; - midData.forEach((rang: any, index: number): void => { + midData.forEach((rang: unknown, index: number): void => { + // @ts-ignore if (rang.eventName.indexOf('WORK_STOP') > -1 && rang.ts >= leftNs) { + // @ts-ignore resultData.push(life.startData); if (index - 1 >= 0 && midData[index - 1].eventName.indexOf('WORK_START') > -1) { resultData.push(midData[index - 1]); @@ -235,63 +256,81 @@ export class TabPaneSystemDetails extends BaseElement { return resultData; } - getSysDataExtend(rightNs: number, watchIndex: Array, filterData: any, lifeCycleData: any[]): any[] { + getSysDataExtend(rightNs: number, watchIndex: Array, filterData: unknown, lifeCycleData: unknown[]): unknown[] { + // @ts-ignore let number = watchIndex.indexOf(filterData.workId); if (number > -1) { + // @ts-ignore lifeCycleData[number].rangeData.push(filterData); let virtualEndData = JSON.parse(JSON.stringify(filterData)); virtualEndData.ts = rightNs; virtualEndData.eventName = 'WORK_REMOVE'; + // @ts-ignore lifeCycleData[number].endData = virtualEndData; } else { + // @ts-ignore if (filterData.eventName.indexOf('WORK_START') > -1) { lifeCycleData.push({ startData: {}, endData: {}, rangeData: [], }); + // @ts-ignore watchIndex.push(filterData.workId); + // @ts-ignore number = watchIndex.indexOf(filterData.workId); let virtualData = JSON.parse(JSON.stringify(filterData)); + // @ts-ignore if (filterData.ts > 0) { virtualData.ts = 0; } else { + // @ts-ignore virtualData.ts = filterData.ts - 1; } virtualData.eventName = 'WORK_ADD'; + // @ts-ignore lifeCycleData[number].startData = virtualData; + // @ts-ignore lifeCycleData[number].rangeData.push(filterData); let virtualEndData = JSON.parse(JSON.stringify(filterData)); virtualEndData.ts = rightNs; virtualEndData.eventName = 'WORK_REMOVE'; + // @ts-ignore lifeCycleData[number].endData = virtualEndData; } } return lifeCycleData; } - private getSystemLocationData(data: Array, leftNs: number): any[] { + private getSystemLocationData(data: Array, leftNs: number): unknown[] { let values = this.getConvertData(data); - let fillMap: Map = new Map(); - let leftMap: Map = new Map(); + let fillMap: Map = new Map(); + let leftMap: Map = new Map(); let watchIndex: Array = []; for (let index = 0; index < values.length; index++) { - let filterData: any = values[index]; + let filterData: unknown = values[index]; + // @ts-ignore if (filterData.state.indexOf('start') > -1) { + // @ts-ignore leftMap.set(filterData.pid, filterData); + // @ts-ignore watchIndex.push(filterData.pid); } else { + // @ts-ignore let i = watchIndex.indexOf(filterData.pid); if (i > -1) { + // @ts-ignore fillMap.set(leftMap.get(filterData.pid), filterData); delete watchIndex[i]; + // @ts-ignore leftMap.delete(filterData.pid); } } } - let locationData: Array = []; + let locationData: Array = []; fillMap.forEach((value, key): void => { + // @ts-ignore if (value.ts >= leftNs) { locationData.push(key); locationData.push(value); @@ -303,27 +342,34 @@ export class TabPaneSystemDetails extends BaseElement { return locationData; } - private getSystemLockData(data: Array, leftNs: number): any[] { + private getSystemLockData(data: Array, leftNs: number): unknown[] { let values = this.getConvertData(data); let watchIndex: Array = []; - let fillMap: Map = new Map(); - let leftMap: Map = new Map(); + let fillMap: Map = new Map(); + let leftMap: Map = new Map(); for (let index = 0; index < values.length; index++) { - let filterData: any = values[index]; + let filterData: unknown = values[index]; + // @ts-ignore if (filterData.tag.indexOf('ADD') > -1) { + // @ts-ignore leftMap.set(filterData.message, filterData); + // @ts-ignore watchIndex.push(filterData.message); } else { + // @ts-ignore let i = watchIndex.indexOf(filterData.message); if (i > -1) { + // @ts-ignore fillMap.set(leftMap.get(filterData.message), filterData); delete watchIndex[i]; + // @ts-ignore leftMap.delete(filterData.message); } } } - let lockData: Array = []; + let lockData: Array = []; fillMap.forEach((value, key): void => { + // @ts-ignore if (value.ts >= leftNs) { lockData.push(key); lockData.push(value); @@ -335,15 +381,21 @@ export class TabPaneSystemDetails extends BaseElement { return lockData; } - private getConvertData(data: Array): any[] { - let convertItem: any = {}; - data.forEach((item: any): void => { + private getConvertData(data: Array): unknown[] { + let convertItem: unknown = {}; + data.forEach((item: unknown): void => { + // @ts-ignore if (convertItem[item.ts + item.eventName] === undefined) { + // @ts-ignore convertItem[item.ts + item.eventName] = {}; + // @ts-ignore convertItem[item.ts + item.eventName].ts = item.ts; + // @ts-ignore convertItem[item.ts + item.eventName].eventName = item.eventName; + // @ts-ignore convertItem[item.ts + item.eventName][item.appKey.toLocaleLowerCase()] = item.appValue; } else { + // @ts-ignore convertItem[item.ts + item.eventName][item.appKey.toLocaleLowerCase()] = item.appValue; } }); diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts index d00c21f65..d395afb97 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMCallTree.ts @@ -407,7 +407,7 @@ export class TabpaneNMCalltree extends BaseElement { this.needShowMenu = needShowMenu; }); this.nmCallTreeTbl!.rememberScrollTop = true; - this.nmCallTreeTbl!.exportTextHandleMap.set('heapSizeStr', (value) => { + this.nmCallTreeTbl!.exportTextHandleMap.set('heapSizeStr', (value) => {// @ts-ignore return `${value['size']}`; }); this.nmCallTreeFilter = this.shadowRoot?.querySelector('#nm-call-tree-filter'); diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts index a9ae04499..309a31c6d 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMSampleList.ts @@ -306,10 +306,10 @@ export class TabPaneNMSampleList extends BaseElement { } }); TabPaneNMSampleList.filter!.firstSelect = TabPaneNMSampleList.filterSelect; - TabPaneNMSampleList.sampleTbl!.exportTextHandleMap.set('totalGrowth', (value) => { + TabPaneNMSampleList.sampleTbl!.exportTextHandleMap.set('totalGrowth', (value) => {// @ts-ignore return `${value['total']}`; }); - TabPaneNMSampleList.sampleTbl!.exportTextHandleMap.set('growth', (value) => { + TabPaneNMSampleList.sampleTbl!.exportTextHandleMap.set('growth', (value) => {// @ts-ignore return `${value['heapSize']}`; }); } diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts index 6dcc62eaf..e611a89fd 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMStatstics.ts @@ -225,16 +225,16 @@ export class TabPaneNMStatstics extends BaseElement { // @ts-ignore this.sortByColumn(evt.detail.key, evt.detail.sort); }); - this.nativeStatisticsTbl!.exportTextHandleMap.set('existingString', (value) => { + this.nativeStatisticsTbl!.exportTextHandleMap.set('existingString', (value) => {// @ts-ignore return `${value.existing}`; }); - this.nativeStatisticsTbl!.exportTextHandleMap.set('freeByteString', (value) => { + this.nativeStatisticsTbl!.exportTextHandleMap.set('freeByteString', (value) => {// @ts-ignore return `${value.totalBytes - value.existing}`; }); - this.nativeStatisticsTbl!.exportTextHandleMap.set('totalBytesString', (value) => { + this.nativeStatisticsTbl!.exportTextHandleMap.set('totalBytesString', (value) => {// @ts-ignore return `${value.totalBytes}`; }); - this.nativeStatisticsTbl!.exportTextHandleMap.set('maxStr', (value) => { + this.nativeStatisticsTbl!.exportTextHandleMap.set('maxStr', (value) => {// @ts-ignore return `${value.max}`; }); } diff --git a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts index dd2c00056..4d6d36c9f 100644 --- a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts +++ b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts @@ -345,7 +345,7 @@ export class TabPaneSchedSwitch extends BaseElement { //处理sql查询数据为0条,或者当loop切割获取的数据时1条 if (res.length === 0 || this.threadMap.size === 0 || (btnHtml === LOOP_BUTTON_TEXT && res.length === 1)) { this.schedSwitchTbl!.recycleDataSource = []; - this.schedSwitchTbl!.loading = false; + this.schedSwitchTbl!.loading = false;// @ts-ignore this.clickTableLabel(this.schedSwitchTbl!.recycleDataSource); return; } @@ -413,7 +413,7 @@ export class TabPaneSchedSwitch extends BaseElement { this.translateIntoTree(cutDataObj, group); } this.schedSwitchTbl!.recycleDataSource = Object.values(group); - this.schedSwitchTbl!.loading = false; + this.schedSwitchTbl!.loading = false;// @ts-ignore this.clickTableLabel(this.schedSwitchTbl!.recycleDataSource); } //根据处理好的单个线程对应的周期数据、count总数、dur总数以及所属进程、线程相关信息,转换成树结构数据 diff --git a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts index e266a4d6b..8efe4d6ee 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts @@ -102,7 +102,7 @@ export class TabPaneSdkCounter extends BaseElement { queryDataByDB(sdkVal: SelectionParam | any): void { queryStartTime().then((res) => { - let startTime = res[0].start_ts; + let startTime = res[0].start_ts;// @ts-ignore this.parseJson(SpSystemTrace.SDK_CONFIG_MAP); let counters: Array = []; let componentId: number = -1; diff --git a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts index bd0f75e02..e3c8279b6 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts @@ -66,7 +66,7 @@ export class TabPaneSdkSlice extends BaseElement { let value = values[0]; componentId = Number(values[1]); slices.push(value); - } + }// @ts-ignore this.parseJson(SpSystemTrace.SDK_CONFIG_MAP); let sql = this.sqlMap.get(componentId); if (sql === undefined) { diff --git a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts index 8414e514b..e11c3f675 100644 --- a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts +++ b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts @@ -77,7 +77,7 @@ export class TabPaneFreqStatesDataCut extends BaseElement { this.clickSingle(false); this.currentSelectionParam = threadStatesParam; // 清空表格数据 - this.threadBindersTbl!.recycleDataSource = []; + this.threadBindersTbl!.recycleDataSource = [];// @ts-ignore this.theadClick(this.threadBindersTbl!.recycleDataSource); } @@ -175,10 +175,11 @@ export class TabPaneFreqStatesDataCut extends BaseElement { this.threadBindersTbl!.recycleDataSource = stateCutArr; this.threadBindersTbl!.loading = false; // 表格添加点击事件 + // @ts-ignore this.theadClick(this.threadBindersTbl!.recycleDataSource); } else { this.threadBindersTbl!.recycleDataSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.theadClick(this.threadBindersTbl!.recycleDataSource); } } else { @@ -236,11 +237,11 @@ export class TabPaneFreqStatesDataCut extends BaseElement { } } this.threadBindersTbl!.recycleDataSource = stateCutArr; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.theadClick(this.threadBindersTbl!.recycleDataSource); } else { this.threadBindersTbl!.recycleDataSource = []; - this.threadBindersTbl!.loading = false; + this.threadBindersTbl!.loading = false;// @ts-ignore this.theadClick(this.threadBindersTbl!.recycleDataSource); } } else { diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts index d63af5319..eb8ae9626 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneDmaSelectVmTracker.ts @@ -74,7 +74,7 @@ export class TabPaneDmaSelectVmTracker extends BaseElement { item.expName = SpSystemTrace.DATA_DICT.get(item.expName as number) || '-'; item.expTaskComm = SpSystemTrace.DATA_DICT.get(item.expTaskComm as number) || '-'; item.timeStamp = ns2s(item.startNs); - item.sizes = Utils.getBinaryByteWithUnit(item.size); + item.sizes = Utils.getBinaryByteWithUnit(item.size);// @ts-ignore this.damClickTable!.getItemTextColor = (item: Dma): any => { if (item.flag === 1) { return '#d4b550'; diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts index a39dd696d..6af2bbe97 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts @@ -51,9 +51,9 @@ export class TabPaneVmTrackerShmSelection extends BaseElement { filter.name = SpSystemTrace.DATA_DICT.get(filter.name)?.split('/'); filter.ts = ns2s(filter.startNS); filter.sizeStr = Utils.getBinaryByteWithUnit(filter.size); - this.TableEl!.getItemTextColor = (filter): any => { + this.TableEl!.getItemTextColor = (filter): any => {// @ts-ignore if (filter.flag === 1) { - return '#d4b550'; + return '#d4b550';// @ts-ignore } else if (filter.flag === 2) { return '#f86b6b'; } else { diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerCommon.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerCommon.ts index 4d19e8bb2..f94b4b2f1 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerCommon.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerCommon.ts @@ -746,9 +746,9 @@ export function drawSelectionRange(context: any, params: TraceRow): void { context.globalAlpha = 0.5; context.fillStyle = '#666666'; context.fillRect( - TraceRow.rangeSelectObject!.startX!, + TraceRow.rangeSelectObject!.startX!,// @ts-ignore params.frame.y, - TraceRow.rangeSelectObject!.endX! - TraceRow.rangeSelectObject!.startX!, + TraceRow.rangeSelectObject!.endX! - TraceRow.rangeSelectObject!.startX!,// @ts-ignore params.frame.height ); context.globalAlpha = 1; @@ -814,7 +814,7 @@ function setTextXY(rateList: number[], params: TraceRow, textWidth: any): n params.frame ) ) - - textWidth / 2; + textWidth / 2;// @ts-ignore let textY = params.frame.y + 25; return [textX, textY]; } @@ -831,9 +831,9 @@ function drawSelectionRangeContext(rateList: number[], context: any, params: Tra const textY = setTextXY(rateList, params, textWidth)[1]; avgRateStartX = avgRateStartX <= 0 ? -100 : avgRateStartX; avgRateEndX = avgRateEndX <= 0 ? -100 : avgRateEndX; - textX = textX <= 0 ? -100 : textX; - textX = textX + textWidth / 2 >= params.frame.width ? params.frame.width + 100 : textX; - avgRateStartX = avgRateStartX >= params.frame.width ? params.frame.width + 100 : avgRateStartX; + textX = textX <= 0 ? -100 : textX;// @ts-ignore + textX = textX + textWidth / 2 >= params.frame.width ? params.frame.width + 100 : textX;// @ts-ignore + avgRateStartX = avgRateStartX >= params.frame.width ? params.frame.width + 100 : avgRateStartX;// @ts-ignore avgRateEndX = avgRateEndX >= params.frame.width ? params.frame.width + 100 : avgRateEndX; context.fillStyle = 'red'; context.fillRect(textX - padding, textY - textHeight + padding, textWidth + padding * 2, textHeight - padding * 2); @@ -896,15 +896,15 @@ function handleTextCoordinate(arrList: Array, selectParams: TraceRow, ctx: any, selectParams: endX = endX <= 0 ? -100 : endX; textX = textX <= 0 ? -200 : textX; //右移到边界,不画线和文字 - const ADD_DISTANCE = 100; - textX = textX + textWidth / 2 >= selectParams.frame.width ? selectParams.frame.width + ADD_DISTANCE : textX; - startX = startX >= selectParams.frame.width ? selectParams.frame.width + ADD_DISTANCE : startX; + const ADD_DISTANCE = 100;// @ts-ignore + textX = textX + textWidth / 2 >= selectParams.frame.width ? selectParams.frame.width + ADD_DISTANCE : textX;// @ts-ignore + startX = startX >= selectParams.frame.width ? selectParams.frame.width + ADD_DISTANCE : startX;// @ts-ignore endX = endX >= selectParams.frame.width ? selectParams.frame.width + ADD_DISTANCE : endX; ctx.lineWidth = 2; @@ -1404,24 +1404,24 @@ export function drawLoadingFrame( row: TraceRow, sort: boolean = false ): void { - ctx.beginPath(); - ctx.clearRect(0, 0, row.frame.width, row.frame.height); - drawLines(ctx, TraceRow.range?.xs || [], row.frame.height, '#dadada'); + ctx.beginPath();// @ts-ignore + ctx.clearRect(0, 0, row.frame.width, row.frame.height);// @ts-ignore + drawLines(ctx, TraceRow.range?.xs || [], row.frame.height, '#dadada');// @ts-ignore drawVSync(ctx, row.frame.width, row.frame.height); if (row.loadingFrame) { if (loadingTextWidth === 0) { loadingTextWidth = ctx.measureText(loadingText).width; - } - let firstPx = nsx(row.loadingPin1, row.frame.width); + }// @ts-ignore + let firstPx = nsx(row.loadingPin1, row.frame.width);// @ts-ignore let lastPx = nsx(row.loadingPin2, row.frame.width); - ctx.fillStyle = loadingBackground; - ctx.fillRect(0, 1, firstPx, row.frame.height - 2); + ctx.fillStyle = loadingBackground;// @ts-ignore + ctx.fillRect(0, 1, firstPx, row.frame.height - 2);// @ts-ignore ctx.fillRect(lastPx, 1, row.frame.width - lastPx, row.frame.height - 2); ctx.fillStyle = loadingFontColor; - if (firstPx > loadingTextWidth) { + if (firstPx > loadingTextWidth) {// @ts-ignore ctx.fillText(loadingText, (firstPx - loadingTextWidth) / 2, row.frame.height / 2); - } - if (row.frame.width - lastPx > loadingTextWidth) { + }// @ts-ignore + if (row.frame.width - lastPx > loadingTextWidth) {// @ts-ignore ctx.fillText(loadingText, lastPx + (row.frame.width - lastPx) / 2 - loadingTextWidth / 2, row.frame.height / 2); } } diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerCpuProfiler.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerCpuProfiler.ts index 6e3155141..2495fe3bc 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerCpuProfiler.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerCpuProfiler.ts @@ -41,7 +41,7 @@ export class JsCpuProfilerRender extends Render { filter, TraceRow.range!.startNS, TraceRow.range!.endNS, - TraceRow.range!.totalNS, + TraceRow.range!.totalNS,// @ts-ignore jsCpuProfilerRow.frame, req.useCache || !TraceRow.range!.refresh ); diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerEBPF.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerEBPF.ts index 2df3441b0..2335af1eb 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerEBPF.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerEBPF.ts @@ -33,7 +33,7 @@ export class EBPFRender extends PerfRender { filter, TraceRow.range?.startNS ?? 0, TraceRow.range?.endNS ?? 0, - TraceRow.range?.totalNS ?? 0, + TraceRow.range?.totalNS ?? 0,// @ts-ignore eBPFtemRow.frame, groupBy10MS, isDiskIO, diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameAnimation.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameAnimation.ts index d5b9205a9..e992a2b65 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameAnimation.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameAnimation.ts @@ -42,7 +42,7 @@ export class FrameAnimationRender extends Render { frameAnimationFilter, TraceRow.range!.startNS, TraceRow.range!.endNS, - TraceRow.range!.totalNS, + TraceRow.range!.totalNS,// @ts-ignore row.frame, req.useCache || !TraceRow.range!.refresh ); diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameDynamic.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameDynamic.ts index bdc1779fa..a57f6f49b 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameDynamic.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameDynamic.ts @@ -48,7 +48,7 @@ export class FrameDynamicRender extends Render { let isDraw = false; let selectUnitWidth: number = 0; for (let index: number = 0; index < frameDynamicList.length; index++) { - let currDynamic: FrameDynamicStruct = frameDynamicList[index]; + let currDynamic: FrameDynamicStruct = frameDynamicList[index];// @ts-ignore selectUnitWidth = computeUnitWidth(preDynamic.ts, currDynamic.ts, row.frame.width, selectUnitWidth); this.refreshPointY(currDynamic, row, modelType, minValue, maxValue); if (currDynamic.groupId === 0) { @@ -63,7 +63,7 @@ export class FrameDynamicRender extends Render { FrameDynamicStruct.drawSelect(req.context, currDynamic, row); preDynamic = currDynamic; } - if (isDraw) { + if (isDraw) {// @ts-ignore this.drawDynamicPointYStr(req.context, frameDynamicList, row.frame, minValue, maxValue); } if (!this.setHoverFrameDynamic(row, frameDynamicList, selectUnitWidth) && row.isHover) { @@ -101,7 +101,7 @@ export class FrameDynamicRender extends Render { ): void { let startNS: number = TraceRow.range!.startNS; let endNS: number = TraceRow.range!.endNS; - let totalNS: number = TraceRow.range!.totalNS; + let totalNS: number = TraceRow.range!.totalNS;// @ts-ignore let frame: Rect = row.frame; let modelName: string | undefined | null = row.getAttribute('model-name'); if ((use || !TraceRow.range!.refresh) && dynamicFilter.length > 0) { @@ -178,9 +178,9 @@ export class FrameDynamicRender extends Render { let smallArcRadius: number = 2; // @ts-ignore currDynamic.typeValue = currDynamic[modelType]; - currDynamic.frame!.y = + currDynamic.frame!.y =// @ts-ignore row.frame.height - - padding - + padding -// @ts-ignore ((row.frame.height - padding * multiple) * ((currDynamic.typeValue || 0) - minValue)) / (maxValue - minValue); ctx.beginPath(); ctx.lineWidth = 1; @@ -202,8 +202,8 @@ export class FrameDynamicRender extends Render { ): void { // @ts-ignore let currDynamicValue = curDynamic[modelType]; - if (curDynamic.frame) { - let pointY = (row.frame.height - padding * multiple) * ((currDynamicValue - minValue) / (maxValue - minValue)); + if (curDynamic.frame) {// @ts-ignore + let pointY = (row.frame.height - padding * multiple) * ((currDynamicValue - minValue) / (maxValue - minValue));// @ts-ignore curDynamic.frame.y = row.frame.height - padding - pointY; } } diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameSpacing.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameSpacing.ts index a7d6c6c73..8513364b8 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerFrameSpacing.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerFrameSpacing.ts @@ -118,7 +118,7 @@ export class FrameSpacingRender extends Render { let currentStruct = frameSpacingFilter[index]; selectUnitWidth = computeUnitWidth( preFrameSpacing.currentTs, - currentStruct.currentTs, + currentStruct.currentTs,// @ts-ignore row.frame.width, selectUnitWidth ); @@ -167,9 +167,9 @@ export class FrameSpacingRender extends Render { minValue: number, maxValue: number ): void { - let currentPointY = + let currentPointY =// @ts-ignore row.frame.height - - Math.floor( + Math.floor(// @ts-ignore ((currentStruct.frameSpacingResult! - minValue) * (row.frame.height - padding * multiple)) / (maxValue - minValue) ) - @@ -192,7 +192,7 @@ export class FrameSpacingRender extends Render { minVale: number, maxValue: number ): void { - for (let i = 0; i < dashedLines.length; i++) { + for (let i = 0; i < dashedLines.length; i++) {// @ts-ignore FrameSpacingStruct.drawParallelLine(req.context, row.frame, dashedLines, i, minVale, maxValue); } } @@ -206,7 +206,7 @@ export class FrameSpacingRender extends Render { row: TraceRow, animationRanges: AnimationRanges[], use: boolean - ): void { + ): void {// @ts-ignore let frame: Rect = row.frame; let modelName: string | undefined | null = row.getAttribute('model-name'); if ((use || !TraceRow.range!.refresh) && frameSpacingFilter.length > 0) { @@ -365,9 +365,9 @@ export class FrameSpacingStruct extends BaseStruct { maxValue: number ): void { if (frameSpacing.frame) { - frameSpacing.frame.y = + frameSpacing.frame.y =// @ts-ignore row.frame.height - - Math.floor( + Math.floor(// @ts-ignore ((frameSpacing.frameSpacingResult! - minValue) * (row.frame.height - padding * multiple)) / (maxValue - minValue) ) - @@ -471,16 +471,16 @@ export class FrameSpacingStruct extends BaseStruct { maxValue: number ): void { ctx.beginPath(); - let prePointY = + let prePointY =// @ts-ignore rowFrame.frame.height - - Math.floor( + Math.floor(// @ts-ignore ((preFrameSpacing.frameSpacingResult! - minValue) * (rowFrame.frame.height - padding * multiple)) / (maxValue - minValue) ) - padding; - let currentPointY = + let currentPointY =// @ts-ignore rowFrame.frame.height - - Math.floor( + Math.floor(// @ts-ignore ((currentStruct.frameSpacingResult! - minValue) * (rowFrame.frame.height - padding * multiple)) / (maxValue - minValue) ) - diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerHeap.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerHeap.ts index 3e7a46e7e..b20916638 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerHeap.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerHeap.ts @@ -56,6 +56,7 @@ function setRenderHeapFrame(heapFilter: HeapStruct[], row: TraceRow) } } // 只有一条数据并且数据在结束点 + // @ts-ignore if (heapFilter.length === 1 && row.frame.width === heapFilter[0].frame?.x) { heapFilter[0].frame!.x -= 1; } diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerHeapSnapshot.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerHeapSnapshot.ts index 6fdfcff36..88b9cd879 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerHeapSnapshot.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerHeapSnapshot.ts @@ -32,7 +32,7 @@ export class HeapSnapshotRender extends Render { filter, TraceRow.range?.startNS ?? 0, TraceRow.range?.endNS ?? 0, - (TraceRow.range?.endNS ?? 0) - (TraceRow.range?.startNS! ?? 0), + (TraceRow.range?.endNS ?? 0) - (TraceRow.range?.startNS! ?? 0),// @ts-ignore row.frame ); drawLoadingFrame(req.context, filter, row); diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerHiSysEvent.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerHiSysEvent.ts index c8ba48dd9..3f277ae0f 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerHiSysEvent.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerHiSysEvent.ts @@ -81,7 +81,7 @@ export function hiSysEvent( if (use && hiSysEventFilter.length > 0) { for (let i = 0, len = hiSysEventFilter.length; i < len; i++) { let item = hiSysEventFilter[i]; - if ((item.startTs || 0) + (item.dur || 0) >= startNS && (item.startTs || 0) <= endNS) { + if ((item.startTs || 0) + (item.dur || 0) >= startNS && (item.startTs || 0) <= endNS) {// @ts-ignore HiSysEventStruct.setSysEventFrame(item, startNS, endNS, totalNS, row.frame); } else { item.frame = undefined; @@ -93,7 +93,7 @@ export function hiSysEvent( if (hiSysEventList) { for (let index = 0; index < hiSysEventList.length; index++) { let item = hiSysEventList[index]; - if ((item.startTs || 0) + (item.dur || 0) >= startNS && (item.startTs || 0) <= endNS) { + if ((item.startTs || 0) + (item.dur || 0) >= startNS && (item.startTs || 0) <= endNS) {// @ts-ignore HiSysEventStruct.setSysEventFrame(item, startNS, endNS, totalNS, row.frame); hiSysEventFilter.push(item); } diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerJank.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerJank.ts index db2c3f3e3..57c6431ba 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerJank.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerJank.ts @@ -136,7 +136,7 @@ export function JankStructOnClick( JankStruct.selectJankStruct, (datas) => { datas.forEach((data) => { - let endParentRow; + let endParentRow;// @ts-ignore if (data.frame_type === 'frameTime') { endParentRow = sp.shadowRoot?.querySelector>( "trace-row[row-id='frameTime'][row-type='janks']" diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerProcess.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerProcess.ts index e0d82d044..f098b4bc7 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerProcess.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerProcess.ts @@ -37,7 +37,7 @@ export class ProcessRender extends Render { drawLoadingFrame(req.context, filter, row, true); req.context.beginPath(); let path = new Path2D(); - let miniHeight: number = 0; + let miniHeight: number = 0;// @ts-ignore miniHeight = Math.round((row.frame.height - CpuStruct.cpuCount * 2) / CpuStruct.cpuCount); req.context.fillStyle = ColorUtils.colorForTid(req.pid || 0); for (let re of filter) { diff --git a/ide/src/trace/database/ui-worker/ProcedureWorkerSnapshot.ts b/ide/src/trace/database/ui-worker/ProcedureWorkerSnapshot.ts index f4f43ff0f..e270fabda 100644 --- a/ide/src/trace/database/ui-worker/ProcedureWorkerSnapshot.ts +++ b/ide/src/trace/database/ui-worker/ProcedureWorkerSnapshot.ts @@ -37,7 +37,7 @@ export class SnapshotRender extends Render { filter, maxValue, TraceRow.range?.startNS ?? 0, - (TraceRow.range?.endNS ?? 0) - (TraceRow.range?.startNS! ?? 0), + (TraceRow.range?.endNS ?? 0) - (TraceRow.range?.startNS! ?? 0),// @ts-ignore row.frame ); drawLoadingFrame(req.context, row.dataListCache, row); diff --git a/ide/src/trace/database/ui-worker/ProduceWorkerSdkSlice.ts b/ide/src/trace/database/ui-worker/ProduceWorkerSdkSlice.ts index b0e2f7b35..e4d63554e 100644 --- a/ide/src/trace/database/ui-worker/ProduceWorkerSdkSlice.ts +++ b/ide/src/trace/database/ui-worker/ProduceWorkerSdkSlice.ts @@ -36,7 +36,7 @@ export class SdkSliceRender extends Render { sdkFilter, TraceRow.range?.startNS ?? 0, TraceRow.range?.endNS ?? 0, - TraceRow.range?.totalNS ?? 0, + TraceRow.range?.totalNS ?? 0,// @ts-ignore row.frame, req.useCache || (TraceRow.range?.refresh ?? false) ); diff --git a/ide/src/trace/database/ui-worker/cpu/ProcedureWorkerCPU.ts b/ide/src/trace/database/ui-worker/cpu/ProcedureWorkerCPU.ts index be3fcd7e4..00a592d64 100644 --- a/ide/src/trace/database/ui-worker/cpu/ProcedureWorkerCPU.ts +++ b/ide/src/trace/database/ui-worker/cpu/ProcedureWorkerCPU.ts @@ -95,7 +95,7 @@ export class CpuRender { }); req.ctx.closePath(); let currentCpu = parseInt(req.type!.replace('cpu-data-', '')); - let wakeup = req.type === `cpu-data-${CpuStruct.selectCpuStruct?.cpu || 0}` ? CpuStruct.selectCpuStruct : undefined; + let wakeup = req.type === `cpu-data-${CpuStruct.selectCpuStruct?.cpu || 0}` ? CpuStruct.selectCpuStruct : undefined;// @ts-ignore drawWakeUp(req.ctx, CpuStruct.wakeupBean, startNS, endNS, totalNS, row.frame, wakeup, currentCpu, true); for (let i = 0; i < SpSystemTrace.wakeupList.length; i++) { if (i + 1 === SpSystemTrace.wakeupList.length) { @@ -103,7 +103,7 @@ export class CpuRender { } let wake = SpSystemTrace.wakeupList[i + 1]; let wakeupListItem = - req.type === `cpu-data-${SpSystemTrace.wakeupList[i]?.cpu || 0}` ? SpSystemTrace.wakeupList[i] : undefined; + req.type === `cpu-data-${SpSystemTrace.wakeupList[i]?.cpu || 0}` ? SpSystemTrace.wakeupList[i] : undefined;// @ts-ignore drawWakeUpList(req.ctx, wake, startNS, endNS, totalNS, row.frame, wakeupListItem, currentCpu, true); } } diff --git a/ide/src/trace/database/ui-worker/hiperf/ProcedureWorkerHiPerfCallChart.ts b/ide/src/trace/database/ui-worker/hiperf/ProcedureWorkerHiPerfCallChart.ts index c8c0425aa..3c390d480 100644 --- a/ide/src/trace/database/ui-worker/hiperf/ProcedureWorkerHiPerfCallChart.ts +++ b/ide/src/trace/database/ui-worker/hiperf/ProcedureWorkerHiPerfCallChart.ts @@ -35,7 +35,7 @@ export class HiPerfCallChartRender extends Render { filter, TraceRow.range!.startNS, TraceRow.range!.endNS, - TraceRow.range!.totalNS, + TraceRow.range!.totalNS,// @ts-ignore row.frame, req.useCache || !TraceRow.range!.refresh, row.funcExpand -- Gitee From 765201db15a65240b33679c8e57a9274197e442f Mon Sep 17 00:00:00 2001 From: liufei Date: Thu, 18 Apr 2024 17:03:09 +0800 Subject: [PATCH 5/6] fix: any change to unknown Signed-off-by: liufei --- ide/src/base-ui/utils/CSVFormater.ts | 103 +++- ide/src/trace/bean/BoxSelection.ts | 324 +++++++---- ide/src/trace/bean/CpuFreqStruct.ts | 22 +- ide/src/trace/bean/JsStruct.ts | 2 +- ide/src/trace/bean/SmapsStruct.ts | 2 +- ide/src/trace/component/chart/SpHiPerf.ts | 5 +- .../component/trace/TimerShaftElement.ts | 20 +- .../trace/component/trace/search/Search.ts | 15 +- .../TabPaneSampleInstructionDistributions.ts | 1 + ...PaneSampleInstructionSelectionTotalTime.ts | 1 + .../file-system/TabPaneFileSystemEvents.ts | 1 + .../file-system/TabPaneIoCompletionTimes.ts | 1 + .../sheet/file-system/TabPaneVMEvents.ts | 1 + .../sheet/native-memory/TabPaneNMemory.ts | 3 + .../trace/sheet/process/TabPaneSlices.ts | 10 +- .../component/trace/timer-shaft/RangeRuler.ts | 11 +- .../trace/timer-shaft/TabPaneFlag.ts | 41 +- ide/src/trace/database/ConfigWorker.ts | 12 +- ide/src/trace/database/Convert.ts | 12 +- ide/src/trace/database/ConvertTraceWorker.ts | 55 +- .../data-trafic/AbilityMonitorReceiver.ts | 546 ++++++++++++++---- .../data-trafic/AbilityMonitorSender.ts | 28 +- .../trace/database/data-trafic/ArkTsSender.ts | 26 +- .../database/data-trafic/ClockDataReceiver.ts | 118 +++- .../database/data-trafic/ClockDataSender.ts | 14 +- .../database/data-trafic/CpuDataReceiver.ts | 82 ++- .../database/data-trafic/CpuDataSender.ts | 26 +- .../database/data-trafic/EBPFReceiver.ts | 243 ++++++-- .../trace/database/data-trafic/EBPFSender.ts | 13 +- .../data-trafic/EnergySysEventReceiver.ts | 300 +++++++--- .../data-trafic/EnergySysEventSender.ts | 30 +- .../data-trafic/FrameDynamicEffectReceiver.ts | 155 ++++- .../data-trafic/FrameDynamicEffectSender.ts | 43 +- .../data-trafic/FrameJanksReceiver.ts | 102 +++- .../database/data-trafic/FrameJanksSender.ts | 20 +- .../data-trafic/HiSysEventDataReceiver.ts | 56 +- .../data-trafic/HiSysEventDataSender.ts | 12 +- .../database/data-trafic/IrqDataReceiver.ts | 80 ++- .../database/data-trafic/IrqDataSender.ts | 9 +- .../database/data-trafic/LogDataReceiver.ts | 82 ++- .../database/data-trafic/LogDataSender.ts | 11 +- .../database/data-trafic/LostFrameSender.ts | 2 +- .../data-trafic/NativeMemoryDataReceiver.ts | 142 ++++- .../data-trafic/cpu/CpuFreqDataReceiver.ts | 126 +++- .../data-trafic/cpu/CpuFreqDataSender.ts | 8 +- .../cpu/CpuFreqLimitDataReceiver.ts | 82 ++- .../data-trafic/cpu/CpuFreqLimitDataSender.ts | 9 +- .../data-trafic/cpu/CpuStateReceiver.ts | 108 +++- .../data-trafic/cpu/CpuStateSender.ts | 8 +- .../hiperf/HiperfCallChartReceiver.ts | 153 ++++- .../hiperf/HiperfCallChartSender.ts | 35 +- .../hiperf/HiperfCpuDataReceiver.ts | 81 ++- .../data-trafic/hiperf/HiperfCpuDataSender.ts | 15 +- .../hiperf/HiperfProcessDataReceiver.ts | 93 ++- .../hiperf/HiperfProcessDataSender.ts | 18 +- .../hiperf/HiperfThreadDataReceiver.ts | 131 +++-- .../hiperf/HiperfThreadDataSender.ts | 15 +- 57 files changed, 2859 insertions(+), 805 deletions(-) diff --git a/ide/src/base-ui/utils/CSVFormater.ts b/ide/src/base-ui/utils/CSVFormater.ts index fd7f1b9cd..2f5af90b5 100644 --- a/ide/src/base-ui/utils/CSVFormater.ts +++ b/ide/src/base-ui/utils/CSVFormater.ts @@ -14,15 +14,20 @@ */ export class JSONToCSV { - static setCsvData(obj: any): void { + static setCsvData(obj: unknown): void { let that = this; let browserType = this.browserType(); + // @ts-ignore if (browserType.ie < 9) { return; } + // @ts-ignore let data = obj.data; + // @ts-ignore let isShowLabel = typeof obj.showLabel === 'undefined' ? true : obj.showLabel; + // @ts-ignore let fileName = (obj.fileName || 'UserExport') + '.csv'; + // @ts-ignore let columns = obj.columns || { title: [], key: [], @@ -36,7 +41,7 @@ export class JSONToCSV { if (showLabel) { // 如果有传入自定义的表头文字 if (columns.title.length) { - columns.title.map(function (n: any) { + columns.title.map(function (n: unknown) { row += n + ','; }); } else { @@ -49,14 +54,16 @@ export class JSONToCSV { csv += row + '\r\n'; } // 具体的数据处理 - data.map(function (n: any) { + data.map(function (n: unknown) { row = ''; // 如果存在自定义key值 if (columns.key.length) { row = that.getCsvStr(columns, obj, n, row); } else { + // @ts-ignore for (key in n) { row += + // @ts-ignore '"' + (typeof columns.formatter === 'function' ? columns.formatter(key, n[key]) || n[key] : n[key]) + '",'; } } @@ -69,65 +76,90 @@ export class JSONToCSV { this.saveCsvFile(fileName, csv); } - static getCsvStr(columns: any, obj: any, n: any, row: string): string { + static getCsvStr(columns: unknown, obj: unknown, n: unknown, row: string): string { let that = this; - columns.key.map(function (m: any, idx: number) { - let strItem: any = ''; + // @ts-ignore + columns.key.map(function (m: unknown, idx: number) { + let strItem: unknown = ''; + // @ts-ignore if (obj.exportFormatter && obj.exportFormatter.has(m)) { + // @ts-ignore strItem = obj.exportFormatter.get(m)?.(n) || n[m]; + // @ts-ignore } else if (obj.formatter && obj.formatter.has(m)) { + // @ts-ignore strItem = obj.formatter.get(m)?.(n[m]) || n[m]; } else { + // @ts-ignore strItem = n[m]; } if (typeof strItem === 'undefined') { strItem = ''; } else if (typeof strItem === 'object') { strItem = JSON.stringify(strItem); + // @ts-ignore strItem = strItem.replaceAll('"', ''); } + // @ts-ignore if (idx === 0 && typeof n.depthCSV !== 'undefined') { row += '"' + + // @ts-ignore that.treeDepth(n.depthCSV) + + // @ts-ignore (typeof columns.formatter === 'function' ? columns.formatter(m, n[m]) || n[m] : strItem) + '",'; } else { + // @ts-ignore row += '"' + (typeof columns.formatter === 'function' ? columns.formatter(m, n[m]) || n[m] : strItem) + '",'; } }); return row; } - static saveCsvFile(fileName: any, csvData: any): void { - let browserType: any = this.browserType(); + static saveCsvFile(fileName: unknown, csvData: unknown): void { + let browserType: unknown = this.browserType(); + // @ts-ignore if (!browserType.edge || !browserType.ie) { - let alink: any = document.createElement('a'); + let alink: unknown = document.createElement('a'); + // @ts-ignore alink.id = 'csvDownloadLink'; + // @ts-ignore alink.href = this.getDownloadUrl(csvData); + // @ts-ignore document.body.appendChild(alink); - let linkDom: any = document.getElementById('csvDownloadLink'); + let linkDom: unknown = document.getElementById('csvDownloadLink'); + // @ts-ignore linkDom.setAttribute('download', fileName); + // @ts-ignore linkDom.click(); + // @ts-ignore document.body.removeChild(linkDom); + // @ts-ignore } else if (browserType.ie >= 10 || browserType.edge === 'edge') { - (navigator as any).msSaveBlob( + // @ts-ignore + (navigator as unknown).msSaveBlob( new Blob(['\uFEFF' + csvData], { type: 'text/csv', }), fileName ); } else { - let oWin: any = window.top?.open('about:blank', '_blank'); + let oWin: unknown = window.top?.open('about:blank', '_blank'); + // @ts-ignore oWin.document.write('sep=,\r\n' + csvData); + // @ts-ignore oWin.document.close(); + // @ts-ignore oWin.document.execCommand('SaveAs', true, fileName); + // @ts-ignore oWin.close(); } } - static getDownloadUrl(csvData: any): string | undefined { - if (window.Blob && window.URL && (window.URL as any).createObjectURL) { + static getDownloadUrl(csvData: unknown): string | undefined { + // @ts-ignore + if (window.Blob && window.URL && (window.URL as unknown).createObjectURL) { return URL.createObjectURL( new Blob(['\uFEFF' + csvData], { type: 'text/csv', @@ -136,12 +168,15 @@ export class JSONToCSV { } } - static browserType(): any { - let type: any = {}; + static browserType(): unknown { + let type: unknown = {}; let agent = navigator.userAgent.toLowerCase(); let has; + // @ts-ignore (has = agent.indexOf('edge') !== -1 ? (type.edge = 'edge') : + // @ts-ignore agent.match(/rv:([\d.]+)\) like gecko/)) ? (type.ie = has[1]) : + // @ts-ignore (has = agent.match(/msie ([\d.]+)/)) ? (type.ie = has[1]) : 0; return type; } @@ -154,15 +189,19 @@ export class JSONToCSV { return str; } - static treeToArr(data: any): any[] { - const result: Array = []; - data.forEach((item: any) => { + static treeToArr(data: unknown): unknown[] { + const result: Array = []; + // @ts-ignore + data.forEach((item: unknown) => { let depthCSV = 0; - const loop = (data: any, depth: any): void => { + const loop = (data: unknown, depth: unknown): void => { + // @ts-ignore result.push({ depthCSV: depth, ...data }); + // @ts-ignore let child = data.children; if (child) { for (let i = 0; i < child.length; i++) { + // @ts-ignore loop(child[i], depth + 1); } } @@ -172,14 +211,16 @@ export class JSONToCSV { return result; } - static columnsData(columns: Array): { - titleList: any[]; - ketList: any[]; + static columnsData(columns: Array): { + titleList: unknown[]; + ketList: unknown[]; } { - let titleList: Array = []; - let ketList: Array = []; + let titleList: Array = []; + let ketList: Array = []; columns.forEach((column) => { + // @ts-ignore let dataIndex = column.getAttribute('data-index'); + // @ts-ignore let columnName = column.getAttribute('title'); if (columnName === '') { columnName = dataIndex === 'busyTimeStr' ? 'GetBusyTime(ms)' : dataIndex; @@ -196,16 +237,18 @@ export class JSONToCSV { } static async csvExport(dataSource: { - columns: any[]; - tables: any[]; + columns: unknown[]; + tables: unknown[]; fileName: string; - columnFormatter: Map string>; - exportFormatter: Map string>; + columnFormatter: Map string>; + exportFormatter: Map string>; }): Promise { return new Promise((resolve) => { - let data: any = this.columnsData(dataSource.columns); + let data: unknown = this.columnsData(dataSource.columns); let columns = { + // @ts-ignore title: data.titleList, + // @ts-ignore key: data.ketList, }; if (dataSource.tables.length > 0) { diff --git a/ide/src/trace/bean/BoxSelection.ts b/ide/src/trace/bean/BoxSelection.ts index 8116ee34c..dd3885065 100644 --- a/ide/src/trace/bean/BoxSelection.ts +++ b/ide/src/trace/bean/BoxSelection.ts @@ -41,10 +41,10 @@ export class SelectionParam { leftNs: number = 0; rightNs: number = 0; hasFps: boolean = false; - statisticsSelectData: any = undefined; - fileSystemVMData: any = undefined; - fileSystemIoData: any = undefined; - fileSystemFsData: any = undefined; + statisticsSelectData: unknown = undefined; + fileSystemVMData: unknown = undefined; + fileSystemIoData: unknown = undefined; + fileSystemFsData: unknown = undefined; perfAll: boolean = false; fileSysVirtualMemory: boolean = false; diskIOLatency: boolean = false; @@ -65,10 +65,10 @@ export class SelectionParam { processIds: Array = []; processTrackIds: Array = []; virtualTrackIds: Array = []; - cpuFreqLimit: Array = []; - clockMapData: Map Promise> | undefined) | undefined> = new Map< + cpuFreqLimit: Array = []; + clockMapData: Map Promise> | undefined) | undefined> = new Map< string, - ((arg: any) => Promise> | undefined) | undefined + ((arg: unknown) => Promise> | undefined) | undefined >(); irqCallIds: Array = []; softIrqCallIds: Array = []; @@ -98,9 +98,9 @@ export class SelectionParam { anomalyEnergy: Array = []; smapsType: Array = []; vmtrackershm: Array = []; - promiseList: Array> = []; - jankFramesData: Array = []; - jsMemory: Array = []; + promiseList: Array> = []; + jankFramesData: Array = []; + jsMemory: Array = []; taskFramesData: Array = []; frameDynamic: Array = []; frameAnimation: Array = []; @@ -117,30 +117,33 @@ export class SelectionParam { gpuWindow: false, gpuTotal: false, }; - purgeableTotalAbility: Array = []; - purgeableTotalVM: Array = []; - purgeablePinAbility: Array = []; - purgeablePinVM: Array = []; - purgeableTotalSelection: Array = []; - purgeablePinSelection: Array = []; - dmaAbilityData: Array = []; - gpuMemoryAbilityData: Array = []; - dmaVmTrackerData: Array = []; - gpuMemoryTrackerData: Array = []; + purgeableTotalAbility: Array = []; + purgeableTotalVM: Array = []; + purgeablePinAbility: Array = []; + purgeablePinVM: Array = []; + purgeableTotalSelection: Array = []; + purgeablePinSelection: Array = []; + dmaAbilityData: Array = []; + gpuMemoryAbilityData: Array = []; + dmaVmTrackerData: Array = []; + gpuMemoryTrackerData: Array = []; hiLogs: Array = []; sysAllEventsData: Array = []; sysAlllogsData: Array = []; hiSysEvents: Array = []; - sampleData: Array = []; + sampleData: Array = []; - pushSampleData(it: TraceRow): void { + // @ts-ignore + pushSampleData(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_SAMPLE) { let dataList: SampleStruct[] = JSON.parse(JSON.stringify(it.dataList)); if (dataList.length > 0) { dataList.forEach((SampleStruct) => { SampleStruct.property = SampleStruct.property!.filter( - (i: any) => + (i: unknown) => + // @ts-ignore (i.begin! - i.startTs! ?? 0) >= TraceRow.rangeSelectObject!.startNS! && + // @ts-ignore (i.end! - i.startTs! ?? 0) <= TraceRow.rangeSelectObject!.endNS! ); }); @@ -151,14 +154,16 @@ export class SelectionParam { } } - pushCpus(it: TraceRow): void { + // @ts-ignore + pushCpus(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_CPU) { this.cpus.push(parseInt(it.rowId!)); info('load CPU traceRow id is : ', it.rowId); } } - pushCpuStateFilterIds(it: TraceRow): void { + // @ts-ignore + pushCpuStateFilterIds(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_CPU_STATE_ALL) { it.childrenList.forEach((child) => { child.rangeSelect = true; @@ -174,7 +179,8 @@ export class SelectionParam { } } - pushCpuFreqFilter(it: TraceRow): void { + // @ts-ignore + pushCpuFreqFilter(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_CPU_FREQ_ALL) { it.childrenList.forEach((child) => { child.rangeSelect = true; @@ -194,7 +200,8 @@ export class SelectionParam { } } - pushCpuFreqLimit(it: TraceRow): void { + // @ts-ignore + pushCpuFreqLimit(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_CPU_FREQ_LIMITALL) { it.childrenList.forEach((child) => { child.rangeSelect = true; @@ -203,7 +210,8 @@ export class SelectionParam { }); } if (it.rowType === TraceRow.ROW_TYPE_CPU_FREQ_LIMIT) { - if (!this.cpuFreqLimit.includes((item: any) => item.cpu === it.getAttribute('cpu'))) { + // @ts-ignore + if (!this.cpuFreqLimit.includes((item: unknown) => item.cpu === it.getAttribute('cpu'))) { this.cpuFreqLimit.push({ maxFilterId: it.getAttribute('maxFilterId'), minFilterId: it.getAttribute('minFilterId'), @@ -213,7 +221,8 @@ export class SelectionParam { } } - pushProcess(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushProcess(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_PROCESS) { sp.pushPidToSelection(this, it.rowId!); if (it.getAttribute('hasStartup') === 'true') { @@ -222,8 +231,10 @@ export class SelectionParam { if (it.getAttribute('hasStaticInit') === 'true') { this.staticInit = true; } - let processChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let processChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { processChildRows = [...it.childrenList]; @@ -250,10 +261,13 @@ export class SelectionParam { } } - pushNativeMemory(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushNativeMemory(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_NATIVE_MEMORY) { - let memoryRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let memoryRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { memoryRows = [...it.childrenList]; @@ -282,7 +296,8 @@ export class SelectionParam { } } - pushFunc(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushFunc(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_FUNC) { TabPaneTaskFrames.TaskArray = []; sp.pushPidToSelection(this, it.rowParentId!); @@ -300,18 +315,21 @@ export class SelectionParam { Math.min(filterFunc.startTs!, rangeData!.startNS || 0) < filterFunc.dur! + (rangeData!.endNS || 0) - (rangeData!.startNS || 0) && filterFunc.funName!.indexOf('H:Task ') >= 0; + // @ts-ignore let taskData = it.dataListCache.filter((taskData: FuncStruct) => { taskData!.tid = parseInt(it.rowId!); return isIntersect(taskData, TraceRow.rangeSelectObject!); }); if (taskData.length > 0) { + // @ts-ignore this.taskFramesData.push(...taskData); } info('load func traceRow id is : ', it.rowId); } } - pushHeap(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushHeap(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_HEAP) { const key = it.rowParentId!.split(' '); const process = { @@ -336,10 +354,13 @@ export class SelectionParam { } } - pushMonitor(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushMonitor(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_MONITOR) { - let abilityChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let abilityChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { abilityChildRows = [...it.childrenList]; @@ -368,7 +389,8 @@ export class SelectionParam { } } - pushHiperf(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushHiperf(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType?.startsWith('hiperf')) { if (it.rowType === TraceRow.ROW_TYPE_HIPERF_EVENT || it.rowType === TraceRow.ROW_TYPE_HIPERF_REPORT) { return; @@ -391,8 +413,10 @@ export class SelectionParam { } } if (it.rowType === TraceRow.ROW_TYPE_HIPERF_PROCESS) { - let hiperfProcessRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let hiperfProcessRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { hiperfProcessRows = [...it.childrenList]; @@ -417,7 +441,8 @@ export class SelectionParam { } } - pushFileSystem(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushFileSystem(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_FILE_SYSTEM) { if (it.rowId === 'FileSystemLogicalWrite') { if (this.fileSystemType.length === 0) { @@ -455,7 +480,8 @@ export class SelectionParam { } } } - vMTrackerGpuChildRowsEvery(item: TraceRow): void { + // @ts-ignore + vMTrackerGpuChildRowsEvery(item: TraceRow): void { item.rangeSelect = true; if (item.rowType === TraceRow.ROW_TYPE_GPU_MEMORY_VMTRACKER) { this.gpuMemoryTrackerData.push(...intersectData(item)!); @@ -463,36 +489,48 @@ export class SelectionParam { this.gpu.gl = item.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (item.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GRAPH) { this.gpu.graph = item.dataListCache.filter( + // @ts-ignore (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (item.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_TOTAL) { this.gpu.gpuTotal = item.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (item.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_WINDOW) { this.gpu.gpuWindow = item.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } } - pushVmTracker(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushVmTracker(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_VM_TRACKER) { - let vMTrackerChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let vMTrackerChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { vMTrackerChildRows = [...it.childrenList]; @@ -502,8 +540,10 @@ export class SelectionParam { if (th.rowType === TraceRow.ROW_TYPE_DMA_VMTRACKER) { this.dmaVmTrackerData.push(...intersectData(th)!); } else if (th.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU) { - let vMTrackerGpuChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${th.rowId}']`), + // @ts-ignore + let vMTrackerGpuChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${th.rowId}']`), ]; if (!th.expansion) { vMTrackerGpuChildRows = [...th.childrenList]; @@ -516,8 +556,10 @@ export class SelectionParam { } else if (th.rowType === TraceRow.ROW_TYPE_PURGEABLE_PIN_VM) { this.purgeablePinVM.push(...intersectData(th)); } else if (th.rowType === TraceRow.ROW_TYPE_VM_TRACKER_SMAPS) { - let sMapsChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${th.rowId}']`), + // @ts-ignore + let sMapsChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${th.rowId}']`), ]; if (!th.expansion) { sMapsChildRows = [...th.childrenList]; @@ -535,7 +577,8 @@ export class SelectionParam { } } - pushJank(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushJank(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_JANK) { let isIntersect = (filterJank: JanksStruct, rangeData: RangeSelectStruct): boolean => Math.max(filterJank.ts! + filterJank.dur!, rangeData!.endNS || 0) - @@ -543,7 +586,8 @@ export class SelectionParam { filterJank.dur! + (rangeData!.endNS || 0) - (rangeData!.startNS || 0); if (it.name === 'Actual Timeline') { if (it.rowParentId === 'frameTime') { - it.dataListCache.forEach((jankData: any) => { + it.dataListCache.forEach((jankData: unknown) => { + // @ts-ignore if (isIntersect(jankData, TraceRow.rangeSelectObject!)) { this.jankFramesData.push(jankData); } @@ -556,7 +600,8 @@ export class SelectionParam { it.childrenList.forEach((child) => { if (child.rowType === TraceRow.ROW_TYPE_JANK && child.name === 'Actual Timeline') { if (child.rowParentId === 'frameTime') { - child.dataListCache.forEach((jankData: any) => { + child.dataListCache.forEach((jankData: unknown) => { + // @ts-ignore if (isIntersect(jankData, TraceRow.rangeSelectObject!)) { this.jankFramesData.push(jankData); } @@ -570,7 +615,8 @@ export class SelectionParam { } } - pushHeapTimeline(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushHeapTimeline(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_HEAP_TIMELINE) { const [rangeStart, rangeEnd] = [TraceRow.range?.startNS, TraceRow.range?.endNS]; const startNS = TraceRow.rangeSelectObject?.startNS || rangeStart; @@ -580,23 +626,30 @@ export class SelectionParam { return; } for (let sample of it.dataListCache) { + // @ts-ignore if (sample.timestamp * 1000 <= startNS!) { + // @ts-ignore minNodeId = sample.lastAssignedId; } // 个别文件的sample的最大timestamp小于时间的框选结束时间,不能给maxNodeId赋值 // 所以加上此条件:sample.timestamp === it.dataListCache[it.dataListCache.length -1].timestamp if ( + // @ts-ignore sample.timestamp * 1000 >= endNS! || + // @ts-ignore sample.timestamp === it.dataListCache[it.dataListCache.length - 1].timestamp ) { if (maxNodeId === undefined) { + // @ts-ignore maxNodeId = sample.lastAssignedId; } } } // If the start time range of the selected box is greater than the end time of the sampled data + // @ts-ignore if (startNS! >= it.dataListCache[it.dataListCache.length - 1].timestamp * 1000) { + // @ts-ignore minNodeId = it.dataListCache[it.dataListCache.length - 1].lastAssignedId; } // If you select the box from the beginning @@ -604,6 +657,7 @@ export class SelectionParam { minNodeId = HeapDataInterface.getInstance().getMinNodeId(sp.snapshotFiles!.id); } //If you select the box from the ending + // @ts-ignore if (endNS! >= rangeEnd! || endNS! >= it.dataListCache[it.dataListCache.length - 1].timestampUs * 1000) { maxNodeId = HeapDataInterface.getInstance().getMaxNodeId(sp.snapshotFiles!.id); } @@ -615,12 +669,14 @@ export class SelectionParam { } } - pushJsCpuProfiler(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushJsCpuProfiler(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_JS_CPU_PROFILER) { let isIntersect = (a: JsCpuProfilerStruct, b: RangeSelectStruct): boolean => Math.max(a.startTime! + a.totalTime!, b!.endNS || 0) - Math.min(a.startTime!, b!.startNS || 0) < a.totalTime! + (b!.endNS || 0) - (b!.startNS || 0); - let frameSelectData = it.dataListCache.filter((frameSelectData: any) => { + let frameSelectData = it.dataListCache.filter((frameSelectData: unknown) => { + // @ts-ignore return isIntersect(frameSelectData, TraceRow.rangeSelectObject!); }); let copyFrameSelectData = JSON.parse(JSON.stringify(frameSelectData)); @@ -628,9 +684,12 @@ export class SelectionParam { for (let data of copyFrameSelectData) { frameSelectDataIdArr.push(data.id); } - let jsCpuProfilerData = copyFrameSelectData.filter((item: any) => { + let jsCpuProfilerData = copyFrameSelectData.filter((item: unknown) => { + // @ts-ignore if (item.depth === 0) { + // @ts-ignore setSelectState(item, frameSelectDataIdArr); + // @ts-ignore item.isSelect = true; return item; } @@ -639,10 +698,14 @@ export class SelectionParam { } } - pushSysMemoryGpu(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushSysMemoryGpu(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore if (it.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU) { - let vMTrackerGpuChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let vMTrackerGpuChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { vMTrackerGpuChildRows = [...it.childrenList]; @@ -655,28 +718,36 @@ export class SelectionParam { this.gpu.gl = th.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (th.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GRAPH) { this.gpu.graph = th.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (th.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_TOTAL) { this.gpu.gpuTotal = th.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } else if (th.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_WINDOW) { this.gpu.gpuWindow = th.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } @@ -684,11 +755,14 @@ export class SelectionParam { } } - pushSDK(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushSDK(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType?.startsWith(TraceRow.ROW_TYPE_SDK)) { if (it.rowType === TraceRow.ROW_TYPE_SDK) { - let sdkRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let sdkRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { sdkRows = [...it.childrenList]; @@ -707,11 +781,14 @@ export class SelectionParam { } } - pushVmTrackerSmaps(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushVmTrackerSmaps(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_VM_TRACKER_SMAPS) { this.smapsType.push(...intersectData(it)!); - let sMapsChildRows: Array> = [ - ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), + // @ts-ignore + let sMapsChildRows: Array> = [ + // @ts-ignore + ...sp.shadowRoot!.querySelectorAll>(`trace-row[row-parent-id='${it.rowId}']`), ]; if (!it.expansion) { sMapsChildRows = [...it.childrenList]; @@ -725,7 +802,8 @@ export class SelectionParam { } } - pushIrq(it: TraceRow): void { + // @ts-ignore + pushIrq(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_IRQ_GROUP) { it.childrenList.forEach((child) => { child.rangeSelect = true; @@ -747,37 +825,45 @@ export class SelectionParam { } } - pushSysMemoryGpuGl(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushSysMemoryGpuGl(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GL) { this.gpu.gl = it.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } } - pushFrameDynamic(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushFrameDynamic(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_FRAME_DYNAMIC) { let appName = it.getAttribute('model-name'); let isSelect = (dynamicStruct: FrameDynamicStruct, b: RangeSelectStruct) : boolean => dynamicStruct.ts >= b.startNS! && dynamicStruct.ts <= b.endNS!; let frameDynamicList = it.dataListCache.filter( + // @ts-ignore (frameAnimationBean: FrameDynamicStruct) => isSelect(frameAnimationBean, TraceRow.rangeSelectObject!) && frameAnimationBean.groupId !== -1 && frameAnimationBean.appName === appName ); + // @ts-ignore this.frameDynamic.push(...frameDynamicList); } } - pushFrameSpacing(it: TraceRow): void { + // @ts-ignore + pushFrameSpacing(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_FRAME_SPACING) { let appName = it.getAttribute('model-name'); let isSelect = (a: FrameSpacingStruct, b: RangeSelectStruct) : boolean => a.currentTs >= b.startNS! && a.currentTs <= b.endNS!; + // @ts-ignore let frameDatas = it.dataListCache.filter((frameData: FrameSpacingStruct) => { return ( isSelect(frameData, TraceRow.rangeSelectObject!) && @@ -786,57 +872,71 @@ export class SelectionParam { frameData.nameId === appName ); }); + // @ts-ignore this.frameSpacing.push(...frameDatas); } } - pushFrameAnimation(it: TraceRow): void { + // @ts-ignore + pushFrameAnimation(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_FRAME_ANIMATION) { let isIntersect = (animationStruct: FrameAnimationStruct, selectStruct: RangeSelectStruct): boolean => Math.max(animationStruct.startTs! + animationStruct.dur!, selectStruct!.endNS || 0) - Math.min(animationStruct.startTs!, selectStruct!.startNS || 0) < animationStruct.dur! + (selectStruct!.endNS || 0) - (selectStruct!.startNS || 0); + // @ts-ignore let frameAnimationList = it.dataListCache.filter((frameAnimationBean: FrameAnimationStruct) => { return isIntersect(frameAnimationBean, TraceRow.rangeSelectObject!); }); + // @ts-ignore this.frameAnimation.push(...frameAnimationList); } } - pushSysMemoryGpuWindow(it: TraceRow): void { + // @ts-ignore + pushSysMemoryGpuWindow(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_WINDOW) { this.gpu.gpuWindow = it.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } } - pushSysMemoryGpuTotal(it: TraceRow): void { + // @ts-ignore + pushSysMemoryGpuTotal(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_TOTAL) { this.gpu.gpuTotal = it.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } } - pushSysMemoryGpuGraph(it: TraceRow): void { + // @ts-ignore + pushSysMemoryGpuGraph(it: TraceRow): void { if (it.rowType === TraceRow.ROW_TYPE_SYS_MEMORY_GPU_GRAPH) { this.gpu.graph = it.dataListCache.filter( (it) => + // @ts-ignore (it.startNs >= this.leftNs && it.startNs <= this.rightNs) || + // @ts-ignore (it.endNs >= this.leftNs && it.endNs <= this.rightNs) ).length > 0; } } - pushStaticInit(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushStaticInit(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_STATIC_INIT) { this.staticInit = true; sp.pushPidToSelection(this, it.rowParentId!); @@ -844,7 +944,8 @@ export class SelectionParam { } } - pushAppStartUp(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushAppStartUp(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_APP_STARTUP) { this.startup = true; sp.pushPidToSelection(this, it.rowParentId!); @@ -852,7 +953,8 @@ export class SelectionParam { } } - pushThread(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushThread(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_THREAD) { sp.pushPidToSelection(this, it.rowParentId!); this.threadIds.push(parseInt(it.rowId!)); @@ -860,7 +962,8 @@ export class SelectionParam { } } - pushVirtualMemory(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushVirtualMemory(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_MEM || it.rowType === TraceRow.ROW_TYPE_VIRTUAL_MEMORY) { if (it.rowType === TraceRow.ROW_TYPE_MEM) { this.processTrackIds.push(parseInt(it.rowId!)); @@ -871,78 +974,90 @@ export class SelectionParam { } } - pushFps(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushFps(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_FPS) { this.hasFps = true; info('load FPS traceRow id is : ', it.rowId); } } - pushCpuAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushCpuAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_CPU_ABILITY) { this.cpuAbilityIds.push(it.rowId!); info('load CPU Ability traceRow id is : ', it.rowId); } } - pushMemoryAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushMemoryAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_MEMORY_ABILITY) { this.memoryAbilityIds.push(it.rowId!); info('load Memory Ability traceRow id is : ', it.rowId); } } - pushDiskAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushDiskAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_DISK_ABILITY) { this.diskAbilityIds.push(it.rowId!); info('load DiskIo Ability traceRow id is : ', it.rowId); } } - pushNetworkAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushNetworkAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_NETWORK_ABILITY) { this.networkAbilityIds.push(it.rowId!); info('load Network Ability traceRow id is : ', it.rowId); } } - pushDmaAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushDmaAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_DMA_ABILITY) { this.dmaAbilityData.push(...intersectData(it)!); } } - pushGpuMemoryAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushGpuMemoryAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_GPU_MEMORY_ABILITY) { this.gpuMemoryAbilityData.push(...intersectData(it)!); } } - pushPowerEnergy(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushPowerEnergy(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_POWER_ENERGY) { this.powerEnergy.push(it.rowId!); } } - pushSystemEnergy(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushSystemEnergy(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_SYSTEM_ENERGY) { this.systemEnergy.push(it.rowId!); } } - pushAnomalyEnergy(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushAnomalyEnergy(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_ANOMALY_ENERGY) { this.anomalyEnergy.push(it.rowId!); } } - pushVmTrackerShm(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushVmTrackerShm(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_VMTRACKER_SHM) { this.vmtrackershm.push(...intersectData(it)!); } } - pushClock(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushClock(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_CLOCK_GROUP) { it.childrenList.forEach((it) => { it.rangeSelect = true; @@ -955,19 +1070,22 @@ export class SelectionParam { } } - pushGpuMemoryVmTracker(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushGpuMemoryVmTracker(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_GPU_MEMORY_VMTRACKER) { this.gpuMemoryTrackerData.push(...intersectData(it)!); } } - pushDmaVmTracker(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushDmaVmTracker(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_DMA_VMTRACKER) { this.dmaVmTrackerData.push(...intersectData(it)!); } } - pushPugreable(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushPugreable(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_PURGEABLE_TOTAL_ABILITY) { this.purgeableTotalAbility.push(...intersectData(it)); } @@ -982,37 +1100,43 @@ export class SelectionParam { } } - pushPugreablePinAbility(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushPugreablePinAbility(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_PURGEABLE_PIN_ABILITY) { this.purgeablePinAbility.push(...intersectData(it)); } } - pushPugreableTotalVm(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushPugreableTotalVm(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_PURGEABLE_TOTAL_VM) { this.purgeableTotalVM.push(...intersectData(it)); } } - pushPugreablePinVm(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushPugreablePinVm(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_PURGEABLE_PIN_VM) { this.purgeablePinVM.push(...intersectData(it)); } } - pushLogs(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushLogs(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_LOGS) { this.hiLogs.push(it.rowId!); } } - pushHiSysEvent(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushHiSysEvent(it: TraceRow, sp: SpSystemTrace): void { if (it.rowType === TraceRow.ROW_TYPE_HI_SYSEVENT) { this.hiSysEvents.push(it.rowId!); } } - pushSelection(it: TraceRow, sp: SpSystemTrace): void { + // @ts-ignore + pushSelection(it: TraceRow, sp: SpSystemTrace): void { this.pushCpus(it); this.pushCpuStateFilterIds(it); this.pushCpuFreqFilter(it); diff --git a/ide/src/trace/bean/CpuFreqStruct.ts b/ide/src/trace/bean/CpuFreqStruct.ts index e8f0079cd..cd7a3239d 100644 --- a/ide/src/trace/bean/CpuFreqStruct.ts +++ b/ide/src/trace/bean/CpuFreqStruct.ts @@ -26,41 +26,59 @@ export class CpuFreqStruct extends BaseStruct { startNS: number | undefined; dur: number | undefined; // Self-supplementing, the database is not returned - static draw(freqCtx: any, freqData: CpuFreqStruct): void { + static draw(freqCtx: unknown, freqData: CpuFreqStruct): void { if (freqData.frame) { let freqWidth = freqData.frame.width || 0; let freqIndex = freqData.cpu || 0; freqIndex += 2; + // @ts-ignore freqCtx.fillStyle = ColorUtils.colorForTid(freqIndex); + // @ts-ignore freqCtx.strokeStyle = ColorUtils.colorForTid(freqIndex); if (freqData.startNS === CpuFreqStruct.hoverCpuFreqStruct?.startNS) { + // @ts-ignore freqCtx.lineWidth = 1; + // @ts-ignore freqCtx.globalAlpha = 0.6; let drawHeight: number = Math.floor( ((freqData.value || 0) * (freqData.frame.height || 0) * 1.0) / CpuFreqStruct.maxFreq ); + // @ts-ignore freqCtx.fillRect( freqData.frame.x, freqData.frame.y + freqData.frame.height - drawHeight, freqWidth, drawHeight ); + // @ts-ignore freqCtx.beginPath(); + // @ts-ignore freqCtx.arc(freqData.frame.x, freqData.frame.y + freqData.frame.height - drawHeight, 3, 0, 2 * Math.PI, true); + // @ts-ignore freqCtx.fill(); + // @ts-ignore freqCtx.globalAlpha = 1.0; + // @ts-ignore freqCtx.stroke(); + // @ts-ignore freqCtx.beginPath(); + // @ts-ignore freqCtx.moveTo(freqData.frame.x + 3, freqData.frame.y + freqData.frame.height - drawHeight); + // @ts-ignore freqCtx.lineWidth = 3; + // @ts-ignore freqCtx.lineTo(freqData.frame.x + freqWidth, freqData.frame.y + freqData.frame.height - drawHeight); + // @ts-ignore freqCtx.stroke(); } else { + // @ts-ignore freqCtx.globalAlpha = 0.6; + // @ts-ignore freqCtx.lineWidth = 1; let drawHeight: number = Math.floor( ((freqData.value || 0) * (freqData.frame.height || 0)) / CpuFreqStruct.maxFreq ); + // @ts-ignore freqCtx.fillRect( freqData.frame.x, freqData.frame.y + freqData.frame.height - drawHeight, @@ -69,7 +87,9 @@ export class CpuFreqStruct extends BaseStruct { ); } } + // @ts-ignore freqCtx.globalAlpha = 1.0; + // @ts-ignore freqCtx.lineWidth = 1; } } diff --git a/ide/src/trace/bean/JsStruct.ts b/ide/src/trace/bean/JsStruct.ts index bbf451e37..4f93fe5f4 100644 --- a/ide/src/trace/bean/JsStruct.ts +++ b/ide/src/trace/bean/JsStruct.ts @@ -56,7 +56,7 @@ export class JsCpuProfilerChartFrame extends JsCpuProfilerUIStruct { startTime: number; endTime: number; children: Array; - childrenIds: Array; + childrenIds: Array; samplesIds: Array; isSelect: boolean = false; parent?: JsCpuProfilerChartFrame; diff --git a/ide/src/trace/bean/SmapsStruct.ts b/ide/src/trace/bean/SmapsStruct.ts index d6936ee37..85cc0d8cb 100644 --- a/ide/src/trace/bean/SmapsStruct.ts +++ b/ide/src/trace/bean/SmapsStruct.ts @@ -45,7 +45,7 @@ export class SmapsTreeObj { id: string = ''; pid: string = ''; typeName: string = ''; - path: any = ''; + path: unknown = ''; size: number = 0; sizeStr: string = ''; sizePro: number = 0; diff --git a/ide/src/trace/component/chart/SpHiPerf.ts b/ide/src/trace/component/chart/SpHiPerf.ts index 42f9ff4db..590f58e19 100644 --- a/ide/src/trace/component/chart/SpHiPerf.ts +++ b/ide/src/trace/component/chart/SpHiPerf.ts @@ -210,13 +210,15 @@ export class SpHiPerf { perfCallCutRow.focusHandler = (): void => { this.callChartRowFocusHandler(perfCallCutRow); }; - perfCallCutRow.supplierFrame = async (): Promise => { + // @ts-ignore + perfCallCutRow.supplierFrame = async (): Promise => { const res = await hiperfCallChartDataSender(perfCallCutRow, { startTime: window.recordStartNS, eventTypeId: this.eventTypeId, type: this.callChartType, id: this.callChartId, }); + // @ts-ignore let maxHeight = res.maxDepth * 20; perfCallCutRow.funcMaxHeight = maxHeight; if (perfCallCutRow.funcExpand) { @@ -228,6 +230,7 @@ export class SpHiPerf { }); } } + // @ts-ignore return res.dataList; }; perfCallCutRow.findHoverStruct = (): void => { diff --git a/ide/src/trace/component/trace/TimerShaftElement.ts b/ide/src/trace/component/trace/TimerShaftElement.ts index f67bcd56e..013189e26 100644 --- a/ide/src/trace/component/trace/TimerShaftElement.ts +++ b/ide/src/trace/component/trace/TimerShaftElement.ts @@ -280,7 +280,8 @@ export class TimerShaftElement extends BaseElement { window.publish(window.SmartEvent.UI.CollectGroupChange, e.target.value); } }); - procedurePool.timelineChange = (a: any): void => this.rangeChangeHandler?.(a); + // @ts-ignore + procedurePool.timelineChange = (a: unknown): void => this.rangeChangeHandler?.(a); window.subscribe(window.SmartEvent.UI.TimeRange, (b) => this.setRangeNS(b.startNS, b.endNS)); // -----------------------------点击负载区展开折叠--------------------------------- this.usageEL = this.shadowRoot?.querySelector('.cpu-usage'); @@ -443,14 +444,16 @@ export class TimerShaftElement extends BaseElement { } documentOnMouseDown = (ev: MouseEvent): void => { - if ((window as any).isSheetMove) { + // @ts-ignore + if ((window as unknown).isSheetMove) { return; } this._rangeRuler?.mouseDown(ev); }; documentOnMouseUp = (ev: MouseEvent): void => { - if ((window as any).isSheetMove) { + // @ts-ignore + if ((window as unknown).isSheetMove) { return; } this._rangeRuler?.mouseUp(ev); @@ -483,7 +486,8 @@ export class TimerShaftElement extends BaseElement { }; documentOnKeyPress = (ev: KeyboardEvent, currentSlicesTime?: CurrentSlicesTime): void => { - if ((window as any).flagInputFocus) { + // @ts-ignore + if ((window as unknown).flagInputFocus) { return; } this._rangeRuler?.keyPress(ev, currentSlicesTime); @@ -491,7 +495,8 @@ export class TimerShaftElement extends BaseElement { }; documentOnKeyUp = (ev: KeyboardEvent): void => { - if ((window as any).flagInputFocus) { + // @ts-ignore + if ((window as unknown).flagInputFocus) { return; } this._rangeRuler?.keyUp(ev); @@ -533,7 +538,7 @@ export class TimerShaftElement extends BaseElement { frame: this.frame, }, this.must ? this.offscreen : undefined, - (res: any) => { + (res: unknown) => { this.must = false; } ); @@ -555,7 +560,8 @@ export class TimerShaftElement extends BaseElement { this._rangeRuler?.cancelUpFrame(); } - stopWASD(ev: any): void { + stopWASD(ev: unknown): void { + // @ts-ignore this._rangeRuler?.keyUp(ev); } diff --git a/ide/src/trace/component/trace/search/Search.ts b/ide/src/trace/component/trace/search/Search.ts index aa29a51a0..210363443 100644 --- a/ide/src/trace/component/trace/search/Search.ts +++ b/ide/src/trace/component/trace/search/Search.ts @@ -25,7 +25,7 @@ export class LitSearch extends BaseElement { private search: HTMLInputElement | undefined | null; private _total: number = 0; private _index: number = 0; - private _list: Array = []; + private _list: Array = []; private _value: boolean = false; private totalEL: HTMLSpanElement | null | undefined; private indexEL: HTMLSpanElement | null | undefined; @@ -38,11 +38,11 @@ export class LitSearch extends BaseElement { private retarget_index: number = 0; private _retarge_index: HTMLInputElement | null | undefined; - get list(): Array { + get list(): Array { return this._list; } - set list(value: Array) { + set list(value: Array) { this._list = value; this.total = value.length; } @@ -273,8 +273,10 @@ export class LitSearch extends BaseElement { ); }); this.keyUpListener(); - this.shadowRoot?.querySelector('input[name=\'retarge_index\']')?.addEventListener('keydown', (e: any): void => { + this.shadowRoot?.querySelector('input[name=\'retarge_index\']')?.addEventListener('keydown', (e: unknown): void => { + // @ts-ignore if (e.keyCode === 13) { + // @ts-ignore e.stopPropagation(); } }); @@ -284,7 +286,8 @@ export class LitSearch extends BaseElement { let _root = this.shadowRoot!.querySelector('.root'); let _prompt = this.shadowRoot!.querySelector('#prompt'); // 添加翻页监听事件 - this.shadowRoot?.querySelector('input[name=\'retarge_index\']')?.addEventListener('keyup', (e: any): void => { + this.shadowRoot?.querySelector('input[name=\'retarge_index\']')?.addEventListener('keyup', (e: unknown): void => { + // @ts-ignore if (e.keyCode === 13) { this.retarget_index = Number(this._retarge_index!.value); if (this.retarget_index <= this._list.length && this.retarget_index !== 0) { @@ -307,8 +310,10 @@ export class LitSearch extends BaseElement { this._retarge_index!.value = ''; }, 2000); } + // @ts-ignore e.target.blur(); } + // @ts-ignore e.stopPropagation(); }); } diff --git a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionDistributions.ts b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionDistributions.ts index ae03fc528..bb334e6cb 100644 --- a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionDistributions.ts +++ b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionDistributions.ts @@ -83,6 +83,7 @@ export class TabPaneSampleInstructionDistributions extends BaseElement { } set data(SampleParam: SelectionParam) { + // @ts-ignore this.onReadableData = SampleParam.sampleData[0].property; this.calInstructionRangeCount(this.isChecked); } diff --git a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts index ca061a560..373f9ceef 100644 --- a/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts +++ b/ide/src/trace/component/trace/sheet/bpftrace/TabPaneSampleInstructionSelectionTotalTime.ts @@ -83,6 +83,7 @@ export class TabPaneSampleInstructionTotalTime extends BaseElement { } set data(SampleParam: SelectionParam) { + // @ts-ignore this.onReadableData = SampleParam.sampleData[0].property; this.calInstructionRangeCount(); } diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts index b4f6a492e..83edd2079 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneFileSystemEvents.ts @@ -114,6 +114,7 @@ export class TabPaneFileSystemEvents extends BaseElement { if (this.filterProcess === '-1') { this.filterProcess = `${this.processList.indexOf( + // @ts-ignore `${this.currentSelection?.fileSystemFsData.name}[${this.currentSelection?.fileSystemFsData.pid}]`)}`; } this.fsSysEventFilter!.firstSelect = this.filterEventType; diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts index d23a725b8..c36f258b3 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneIoCompletionTimes.ts @@ -191,6 +191,7 @@ export class TabPaneIoCompletionTimes extends BaseElement { (res: any): void => { this.ioCompletionTimesSource = this.ioCompletionTimesSource.concat(res.data); this.ioCompletionTimesQueryDataSource = this.ioCompletionTimesQueryDataSource.concat(res.data); + // @ts-ignore this.filterTypeData(ioCompletionTimeParam?.fileSystemIoData?.path || undefined); ioCompletionTimeParam.fileSystemIoData = undefined; res.data = null; diff --git a/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts b/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts index f80462bfb..62ca61f39 100644 --- a/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts +++ b/ide/src/trace/component/trace/sheet/file-system/TabPaneVMEvents.ts @@ -189,6 +189,7 @@ export class TabPaneVirtualMemoryEvents extends BaseElement { (res: any) => { this.vmEventSource = this.vmEventSource.concat(res.data); this.queryVmEventDataSource = this.queryVmEventDataSource.concat(res.data); + // @ts-ignore this.filterTypeData(vmEventParam?.fileSystemVMData?.path || undefined); vmEventParam.fileSystemVMData = undefined; res.data = null; diff --git a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts index 764265e1b..c66e5c5c9 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts @@ -195,12 +195,15 @@ export class TabPaneNMemory extends BaseElement { private setFilterNativeTypeSelection(val: SelectionParam): number { let typeIndexOf = -1; if (val.statisticsSelectData) { + // @ts-ignore typeIndexOf = this.nativeType.indexOf(val.statisticsSelectData.memoryTap); if (this.statsticsSelection.indexOf(val.statisticsSelectData) === -1 && typeIndexOf === -1) { this.statsticsSelection.push(val.statisticsSelectData); + // @ts-ignore this.nativeType.push(val.statisticsSelectData.memoryTap); typeIndexOf = this.nativeType.length - 1; } else { + // @ts-ignore let index = this.statsticsSelection.findIndex((mt) => mt.memoryTap === val.statisticsSelectData.memoryTap); if (index !== -1) { this.statsticsSelection[index] = val.statisticsSelectData; diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts b/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts index cd3e2c466..89c44161a 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts @@ -164,17 +164,21 @@ export class TabPaneSlices extends BaseElement { for (const searchItem of search.list) { for (const traceRow of sliceRowList) { if ( + // @ts-ignore Math.max(TraceRow.rangeSelectObject?.startNS!, searchItem.startTime) <= - Math.min(TraceRow.rangeSelectObject?.endNS!, searchItem.startTime + searchItem.dur) && + // @ts-ignore + Math.min(TraceRow.rangeSelectObject?.endNS!, searchItem.startTime + searchItem.dur) && !rangeSelectList.includes(searchItem) ) { // 异步调用栈 if (traceRow.asyncFuncName) { + // @ts-ignore if (`${searchItem.pid}` === `${traceRow.asyncFuncNamePID}`) { rangeSelectList.push(searchItem); } } else { // 线程调用栈 + // @ts-ignore if (`${searchItem.tid}` === traceRow.rowId) { rangeSelectList.push(searchItem); } @@ -246,9 +250,9 @@ export class TabPaneSlices extends BaseElement { // @ts-ignore return slicesSort === 2 ? // @ts-ignore - parseFloat(slicesRightData[property]) - parseFloat(slicesLeftData[property]) + parseFloat(slicesRightData[property]) - parseFloat(slicesLeftData[property]) : // @ts-ignore - parseFloat(slicesLeftData[property]) - parseFloat(slicesRightData[property]); + parseFloat(slicesLeftData[property]) - parseFloat(slicesRightData[property]); } else { // @ts-ignore if (slicesRightData[property] > slicesLeftData[property]) { diff --git a/ide/src/trace/component/trace/timer-shaft/RangeRuler.ts b/ide/src/trace/component/trace/timer-shaft/RangeRuler.ts index 8a3c79f9c..1323c2b5c 100644 --- a/ide/src/trace/component/trace/timer-shaft/RangeRuler.ts +++ b/ide/src/trace/component/trace/timer-shaft/RangeRuler.ts @@ -119,7 +119,7 @@ export class RangeRuler extends Graph { p: number = 1000; private readonly notifyHandler: (r: TimeRange) => void; private scale: number = 0; - private delayTimer: any = null; + private delayTimer: unknown = null; private rulerW = 0; _cpuCountData: number | undefined; @@ -479,6 +479,7 @@ export class RangeRuler extends Graph { delayDraw(): void { if (this.delayTimer) { + // @ts-ignore clearTimeout(this.delayTimer); } this.delayTimer = setTimeout(() => { @@ -561,7 +562,7 @@ export class RangeRuler extends Graph { } } - cancelTimeOut: any = undefined; + cancelTimeOut: unknown = undefined; isKeyPress: boolean = false; keyPress(keyboardEvent: KeyboardEvent, currentSlicesTime?: CurrentSlicesTime): void { @@ -586,6 +587,7 @@ export class RangeRuler extends Graph { this.cancelUpFrame(); this.pressedKeys.push(keyboardEvent.key.toLocaleLowerCase()); this.animaStartTime = new Date().getTime(); //记录按下的时间 + // @ts-ignore this.keyboardKeyPressMap[this.pressedKeys[this.pressedKeys.length - 1]]?.bind(this)(); } } @@ -763,7 +765,7 @@ export class RangeRuler extends Graph { this.pressFrameIdD = requestAnimationFrame(animD); } - keyboardKeyPressMap: any = { + keyboardKeyPressMap: unknown = { w: this.keyPressW, s: this.keyPressS, a: this.keyPressA, @@ -775,7 +777,7 @@ export class RangeRuler extends Graph { ',': this.scrollFlagIntoView, }; - keyboardKeyUpMap: any = { + keyboardKeyUpMap: unknown = { w: this.keyUpW, s: this.keyUpS, a: this.keyUpA, @@ -789,6 +791,7 @@ export class RangeRuler extends Graph { if (number === this.pressedKeys.length - 1) { this.animaStartTime = undefined; this.cancelPressFrame(); + // @ts-ignore this.keyboardKeyUpMap[ev.key]?.bind(this)(); } if (number !== -1) { diff --git a/ide/src/trace/component/trace/timer-shaft/TabPaneFlag.ts b/ide/src/trace/component/trace/timer-shaft/TabPaneFlag.ts index d55ce7d97..d8204e3e9 100644 --- a/ide/src/trace/component/trace/timer-shaft/TabPaneFlag.ts +++ b/ide/src/trace/component/trace/timer-shaft/TabPaneFlag.ts @@ -25,7 +25,7 @@ export class TabPaneFlag extends BaseElement { private flag: Flag | null = null; private flagList: Array = []; private systemTrace: SpSystemTrace | undefined | null; - private tableDataSource: Array = []; + private tableDataSource: Array = []; private panelTable: LitTable | undefined | null; initElements(): void { @@ -33,7 +33,8 @@ export class TabPaneFlag extends BaseElement { .querySelector('body > sp-application') ?.shadowRoot!.querySelector('#sp-system-trace'); this.panelTable = this.shadowRoot!.querySelector('.notes-editor-panel'); - this.panelTable!.addEventListener('row-click', (evt: any) => { + this.panelTable!.addEventListener('row-click', (evt: unknown) => { + // @ts-ignore if (evt.detail.data.startTime === undefined) { return; } @@ -56,7 +57,7 @@ export class TabPaneFlag extends BaseElement { // 当鼠标移出panel时重新加载备注信息 this.systemTrace?.shadowRoot?.querySelector('trace-sheet')?.addEventListener( 'mouseout', - (event: any) => { + (event: unknown) => { if (this.flagList.length === 0) { return; } @@ -65,6 +66,7 @@ export class TabPaneFlag extends BaseElement { for (let i = 1; i < tr.length; i++) { tr[i].querySelector('#text-input')!.value = this.flagList[i - 1].text; } + // @ts-ignore event.stopPropagation(); }, { capture: true } @@ -117,6 +119,7 @@ export class TabPaneFlag extends BaseElement { // 当前点击了哪个旗子,就将对应的表格中的那行的背景变色 this.tableDataSource.forEach((data, index) => { + // @ts-ignore if (data.time === this.flag?.time) { this.setTableSelection(index); } @@ -161,48 +164,59 @@ export class TabPaneFlag extends BaseElement { } private colorInputChangeEventByFlag(index: number, tr: HTMLDivElement): void { - tr.querySelector('#color-input')?.addEventListener('change', (event: any) => { + tr.querySelector('#color-input')?.addEventListener('change', (event: unknown) => { + // @ts-ignore if (this.tableDataSource[index].startTime === this.flagList[index - 1].time) { + // @ts-ignore this.flagList[index - 1].color = event?.target.value; document.dispatchEvent(new CustomEvent('flag-change', { detail: this.flagList[index - 1] })); // 旗子颜色改变时,重绘泳道图 this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); } private textInputKeyUpEventByFlag(index: number, tr: HTMLDivElement): void { - tr.querySelector('#text-input')?.addEventListener('keyup', (event: any) => { + tr.querySelector('#text-input')?.addEventListener('keyup', (event: unknown) => { + // @ts-ignore if (this.tableDataSource[index].startTime === this.flagList[index - 1].time && event.keyCode === '13') { + // @ts-ignore this.flagList[index - 1].text = event?.target.value; document.dispatchEvent(new CustomEvent('flag-change', { detail: this.flagList[index - 1] })); // 旗子颜色改变时,重绘泳道图 this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); } private textInputBlurEventByFlag(index: number, tr: HTMLDivElement): void { - tr.querySelector('#text-input')?.addEventListener('blur', (event: any) => { - (window as any).flagInputFocus = false; + tr.querySelector('#text-input')?.addEventListener('blur', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = false; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: true, }); + // @ts-ignore if (this.tableDataSource[index].startTime === this.flagList[index - 1].time) { + // @ts-ignore this.flagList[index - 1].text = event?.target.value; document.dispatchEvent(new CustomEvent('flag-change', { detail: this.flagList[index - 1] })); // 旗子颜色改变时,重绘泳道图 this.systemTrace?.refreshCanvas(true); } + // @ts-ignore event.stopPropagation(); }); } private textInputFocusEventByFlag(tr: HTMLDivElement): void { - tr.querySelector('#text-input')?.addEventListener('focus', (event: any) => { - (window as any).flagInputFocus = true; + tr.querySelector('#text-input')?.addEventListener('focus', (event: unknown) => { + // @ts-ignore + (window as unknown).flagInputFocus = true; window.publish(window.SmartEvent.UI.KeyboardEnable, { enable: false, }); @@ -215,7 +229,8 @@ export class TabPaneFlag extends BaseElement { } private removeClickEventByFlag(index: number, tr: HTMLDivElement): void { - tr!.querySelector('.remove')?.addEventListener('click', (event: any) => { + tr!.querySelector('.remove')?.addEventListener('click', (event: unknown) => { + // @ts-ignore if (this.tableDataSource[index].startTime === this.flagList[index - 1].time) { this.flagList[index - 1].hidden = true; this.systemTrace!.flagList = this.flagList || []; @@ -223,6 +238,7 @@ export class TabPaneFlag extends BaseElement { // 移除时更新表格内容 this.setTableData(); } + // @ts-ignore event.stopPropagation(); }); } @@ -231,9 +247,12 @@ export class TabPaneFlag extends BaseElement { * 修改表格指定行数的背景颜色 * @param line 要改变的表格行数 */ - public setTableSelection(line: any): void { + public setTableSelection(line: unknown): void { + // @ts-ignore this.tableDataSource[line].isSelected = true; + // @ts-ignore this.panelTable?.clearAllSelection(this.tableDataSource[line]); + // @ts-ignore this.panelTable?.setCurrentSelection(this.tableDataSource[line]); } diff --git a/ide/src/trace/database/ConfigWorker.ts b/ide/src/trace/database/ConfigWorker.ts index b88173f0e..cedbe3755 100644 --- a/ide/src/trace/database/ConfigWorker.ts +++ b/ide/src/trace/database/ConfigWorker.ts @@ -15,18 +15,18 @@ const mallocSize = 1024 * 1024; -let Module_T: any = null; +let Module_T: unknown = null; function initConfigWASM(wasmFunctionName: string): Promise { return new Promise((resolve, reject) => { function callModelFun(functionName: string): void { let func = eval(functionName); Module_T = new func({ - locateFile: (s: any): any => { + locateFile: (s: unknown): unknown => { return s; }, - print: (line: any): void => {}, - printErr: (line: any): void => {}, + print: (line: unknown): void => {}, + printErr: (line: unknown): void => {}, onRuntimeInitialized: (): void => { resolve('ok'); }, @@ -44,6 +44,7 @@ self.onmessage = async (e: MessageEvent): Promise => { await initConfigWASM(e.data.WasmName); let dataCallBack = (heapPtr: number, size: number, isEnd: number, isConfig: number) => { if (isConfig === 1) { + // @ts-ignore let jsonOut: Uint8Array = Module_T.HEAPU8.slice(heapPtr, heapPtr + size); let decoder = new TextDecoder(); let result = decoder.decode(jsonOut); @@ -53,8 +54,11 @@ self.onmessage = async (e: MessageEvent): Promise => { }); } }; + // @ts-ignore let fn = Module_T.addFunction(dataCallBack, 'viiii'); + // @ts-ignore Module_T._Init(fn, mallocSize); + // @ts-ignore Module_T._TraceStreamer_In_JsonConfig(); } }; diff --git a/ide/src/trace/database/Convert.ts b/ide/src/trace/database/Convert.ts index 6c6ee6fed..2b5b8d04b 100644 --- a/ide/src/trace/database/Convert.ts +++ b/ide/src/trace/database/Convert.ts @@ -17,7 +17,7 @@ import { DbPool } from './SqlLite'; class ConvertThread { isCancelled: boolean = false; id: number = -1; - taskMap: any = {}; + taskMap: unknown = {}; name: string | undefined; worker?: Worker; busy: boolean = false; @@ -34,8 +34,11 @@ class ConvertThread { getConvertData(handler: (status: boolean, msg: string, results: Blob) => void): void { this.busy = true; let id = this.uuid(); - this.taskMap[id] = (res: any): void => { + // @ts-ignore + this.taskMap[id] = (res: unknown): void => { + // @ts-ignore DbPool.sharedBuffer = res.buffer; + // @ts-ignore handler(res.status, res.msg, res.results); }; caches.match(DbPool.fileCacheKey).then((resData) => { @@ -75,18 +78,23 @@ class ConvertPool { thread!.worker!.onmessage = (event: MessageEvent): void => { thread.busy = false; ConvertPool.data = event.data.results; + // @ts-ignore if (Reflect.has(thread.taskMap, event.data.id)) { if (event.data.results) { + // @ts-ignore let fun = thread.taskMap[event.data.id]; if (fun) { fun(event.data); } + // @ts-ignore Reflect.deleteProperty(thread.taskMap, event.data.id); } else { + // @ts-ignore let fun = thread.taskMap[event.data.id]; if (fun) { fun([]); } + // @ts-ignore Reflect.deleteProperty(thread.taskMap, event.data.id); } } diff --git a/ide/src/trace/database/ConvertTraceWorker.ts b/ide/src/trace/database/ConvertTraceWorker.ts index 27c95341e..0059d0ce6 100644 --- a/ide/src/trace/database/ConvertTraceWorker.ts +++ b/ide/src/trace/database/ConvertTraceWorker.ts @@ -14,9 +14,9 @@ */ importScripts('trace_converter_builtin.js'); -self.onerror = function (error: any): void {}; +self.onerror = function (error: unknown): void {}; -let convertModule: any = null; +let convertModule: unknown = null; const CONTENT_TYPE_CMDLINES = 2; const CONTENT_TYPE_TGIDS = 3; @@ -29,11 +29,11 @@ function initConvertWASM(): Promise { // @ts-ignore let wasm = trace_converter_builtin_wasm; convertModule = wasm({ - locateFile: (s: any): any => { + locateFile: (s: unknown): unknown => { return s; }, - print: (line: any): void => {}, - printErr: (line: any): void => {}, + print: (line: unknown): void => {}, + printErr: (line: unknown): void => {}, onAbort: (): void => { reject('on abort'); }, @@ -56,9 +56,12 @@ self.onmessage = async (e: MessageEvent): Promise => { let fileData = e.data.buffer; const stepSize = 4 * 1024 * 1024; let totalSize = fileData.byteLength; + // @ts-ignore let traceInsPtr = convertModule._GetTraceConverterIns(); // 获取TraceConverter 实例 + // @ts-ignore convertModule._SetDebugFlag(false, traceInsPtr); // 设置是否为debug模式 let currentPosition = 1024; + // @ts-ignore let dataHeader = convertModule._malloc(1100); let traceAllData = new Uint8Array(e.data.buffer); let isRawTraceConvert = isRawTrace(e.data); @@ -75,17 +78,23 @@ self.onmessage = async (e: MessageEvent): Promise => { } else { handleHTrace(fileData, dataHeader, traceInsPtr); } + // @ts-ignore let dataPtr = convertModule._malloc(stepSize); + // @ts-ignore let arrayBufferPtr = convertModule._malloc(ARRAY_BUF_SIZE); + // @ts-ignore convertModule._free(dataHeader); let bodyDataStr: string[] = []; let callback = (heapPtr: number, size: number): void => { + // @ts-ignore let out = convertModule.HEAPU8.slice(heapPtr, heapPtr + size); let dec = new TextDecoder(); let str = dec.decode(out); bodyDataStr.push(str); }; + // @ts-ignore let bodyFn = convertModule.addFunction(callback, 'vii'); + // @ts-ignore convertModule._SetCallback(bodyFn, traceInsPtr); convertData( currentPosition, @@ -97,42 +106,56 @@ self.onmessage = async (e: MessageEvent): Promise => { stepSize, totalSize ); + // @ts-ignore convertModule._GetRemainingData(traceInsPtr); let headerData: string[] = []; let headerCallback = (heapPtr: number, size: number): void => { + // @ts-ignore let out = convertModule.HEAPU8.slice(heapPtr, heapPtr + size); let dec = new TextDecoder(); let str = dec.decode(out); headerData.push(str); }; + // @ts-ignore let headerFn = convertModule.addFunction(headerCallback, 'vii'); + // @ts-ignore convertModule._SetCallback(headerFn, traceInsPtr); + // @ts-ignore convertModule._GetFinalHeader(traceInsPtr); let allDataStr = headerData.concat(bodyDataStr); + // @ts-ignore convertModule._ReleaseTraceConverterIns(traceInsPtr); // 释放TraceConverter 实例 + // @ts-ignore convertModule._free(arrayBufferPtr); //释放分片内存 + // @ts-ignore convertModule._free(dataPtr); postMessage(e, allDataStr); } }; -function handleHTrace(fileData: Array, dataHeader: any, traceInsPtr: any): void { +function handleHTrace(fileData: Array, dataHeader: unknown, traceInsPtr: unknown): void { + // @ts-ignore let uint8Array = new Uint8Array(fileData.slice(0, 1024)); + // @ts-ignore convertModule.HEAPU8.set(uint8Array, dataHeader); + // @ts-ignore convertModule._SendFileHeader(dataHeader, 1024, traceInsPtr); } function handleRowTrace( e: MessageEvent, - fileData: Array, - dataHeader: any, - traceInsPtr: any, + fileData: Array, + dataHeader: unknown, + traceInsPtr: unknown, currentPosition: number, traceAllData: Uint8Array, totalSize: number ): [number, number, Uint8Array] { + // @ts-ignore let uint8Array = new Uint8Array(fileData.slice(0, 12)); + // @ts-ignore convertModule.HEAPU8.set(uint8Array, dataHeader); + // @ts-ignore convertModule._SendRawFileHeader(dataHeader, 12, traceInsPtr); currentPosition = 12; let allRowTraceData = new Uint8Array(e.data.buffer); @@ -168,7 +191,7 @@ function isCommonData(dataType: number): boolean { function setCommonDataOffsetList( e: MessageEvent, allRowTraceData: Uint8Array, - commonDataOffsetList: Array + commonDataOffsetList: Array ): number { let commonTotalLength: number = 0; let commonOffset = 12; @@ -197,9 +220,9 @@ function setCommonDataOffsetList( function convertData( currentPosition: number, traceAllData: Uint8Array, - arrayBufferPtr: any, - dataPtr: any, - traceInsPtr: any, + arrayBufferPtr: unknown, + dataPtr: unknown, + traceInsPtr: unknown, isRawTraceConvert: boolean = false, stepSize: number, totalSize: number @@ -207,6 +230,7 @@ function convertData( while (currentPosition < totalSize) { let endPosition = Math.min(currentPosition + stepSize, totalSize); let currentChunk = new Uint8Array(traceAllData.slice(currentPosition, endPosition)); + // @ts-ignore convertModule.HEAPU8.set(currentChunk, dataPtr); let leftLen = currentChunk.length; let processedLen = 0; @@ -218,15 +242,20 @@ function convertData( } else { blockSize = leftLen; } + // @ts-ignore let subArrayBuffer = convertModule.HEAPU8.subarray(blockPtr, blockPtr + blockSize); + // @ts-ignore convertModule.HEAPU8.set(subArrayBuffer, arrayBufferPtr); // 调用分片转换接口 if (isRawTraceConvert) { + // @ts-ignore convertModule._ConvertRawBlockData(arrayBufferPtr, subArrayBuffer.length, traceInsPtr); // raw trace } else { + // @ts-ignore convertModule._ConvertBlockData(arrayBufferPtr, subArrayBuffer.length, traceInsPtr); // htrace } processedLen = processedLen + blockSize; + // @ts-ignore blockPtr = dataPtr + processedLen; leftLen = currentChunk.length - processedLen; } diff --git a/ide/src/trace/database/data-trafic/AbilityMonitorReceiver.ts b/ide/src/trace/database/data-trafic/AbilityMonitorReceiver.ts index 17c630b23..6d36b7e3e 100644 --- a/ide/src/trace/database/data-trafic/AbilityMonitorReceiver.ts +++ b/ide/src/trace/database/data-trafic/AbilityMonitorReceiver.ts @@ -11,226 +11,445 @@ // See the License for the specific language governing permissions and // limitations under the License. import { TraficEnum } from './utils/QueryEnum'; -export const cpuAbilityMonitorDataSql = (args: any): string => { +export const cpuAbilityMonitorDataSql = (args: unknown): string => { return `select (t.total_load) as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from cpu_usage t`; }; -export const cpuAbilityUserDataSql = (args: any): string => { +export const cpuAbilityUserDataSql = (args: unknown): string => { return `select t.user_load as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from cpu_usage t`; }; -export const cpuAbilitySystemDataSql = (args: any): string => { +export const cpuAbilitySystemDataSql = (args: unknown): string => { return `select t.system_load as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from cpu_usage t`; }; -export const abilityMemoryDataSql = (args: any): string => { +export const abilityMemoryDataSql = (args: unknown): string => { return `select t.value as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from sys_mem_measure t - where t.filter_id = ${args.id}`; + where t.filter_id = ${ + // @ts-ignore + args.id + }`; }; -export const abilityBytesReadDataSql = (args: any): string => { +export const abilityBytesReadDataSql = (args: unknown): string => { return `select t.rd_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from diskio t`; }; -export const abilityBytesWrittenDataSql = (args: any): string => { +export const abilityBytesWrittenDataSql = (args: unknown): string => { return `select t.wr_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from diskio t`; }; -export const abilityReadOpsDataSql = (args: any): string => { +export const abilityReadOpsDataSql = (args: unknown): string => { return `select t.rd_count_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from diskio t`; }; -export const abilityWrittenOpsDataSql = (args: any): string => { +export const abilityWrittenOpsDataSql = (args: unknown): string => { return `select t.wr_count_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from diskio t`; }; -export const abilityBytesInTraceDataSql = (args: any): string => { +export const abilityBytesInTraceDataSql = (args: unknown): string => { return `select t.tx_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from network t`; }; -export const abilityBytesOutTraceDataSql = (args: any): string => { +export const abilityBytesOutTraceDataSql = (args: unknown): string => { return `select t.rx_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from network t`; }; -export const abilityPacketInDataSql = (args: any): string => { +export const abilityPacketInDataSql = (args: unknown): string => { return `select t.packet_in_sec as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from network t`; }; -export const abilityPacketsOutDataSql = (args: any): string => { +export const abilityPacketsOutDataSql = (args: unknown): string => { return `select t.packet_out_sec as value, - (t.ts - ${args.recordStartNS} ) as startNs + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs from network t`; }; -export const cpuAbilityMonitorDataProtoSql = (args: any): string => { +export const cpuAbilityMonitorDataProtoSql = (args: unknown): string => { return `select (t.total_load) as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS + }) / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width) + })) as px from cpu_usage t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const cpuAbilityUserDataProtoSql = (args: any): string => { +export const cpuAbilityUserDataProtoSql = (args: unknown): string => { return `select t.user_load as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from cpu_usage t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const cpuAbilitySystemDataProtoSql = (args: any): string => { +export const cpuAbilitySystemDataProtoSql = (args: unknown): string => { return `select t.system_load as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from cpu_usage t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityMemoryDataProtoSql = (args: any): string => { +export const abilityMemoryDataProtoSql = (args: unknown): string => { return `select t.value as value, - (t.ts - ${args.recordStartNS} ) as startNs, + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, t.dur as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from sys_mem_measure t - where t.filter_id = ${args.id} - and startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where t.filter_id = ${ + // @ts-ignore + args.id + } + and startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityBytesReadDataProtoSql = (args: any): string => { +export const abilityBytesReadDataProtoSql = (args: unknown): string => { return `select t.rd_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from diskio t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityBytesWrittenDataProtoSql = (args: any): string => { +export const abilityBytesWrittenDataProtoSql = (args: unknown): string => { return `select t.wr_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from diskio t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityReadOpsDataProtoSql = (args: any): string => { +export const abilityReadOpsDataProtoSql = (args: unknown): string => { return `select t.rd_count_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from diskio t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityWrittenOpsDataProtoSql = (args: any): string => { +export const abilityWrittenOpsDataProtoSql = (args: unknown): string => { return `select t.wr_count_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from diskio t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityBytesInTraceDataProtoSql = (args: any): string => { +export const abilityBytesInTraceDataProtoSql = (args: unknown): string => { return `select t.tx_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, t.dur as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from network t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityBytesOutTraceDataProtoSql = (args: any): string => { +export const abilityBytesOutTraceDataProtoSql = (args: unknown): string => { return `select t.rx_speed as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from network t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityPacketInDataProtoSql = (args: any): string => { +export const abilityPacketInDataProtoSql = (args: unknown): string => { return `select t.packet_in_sec as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from network t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -export const abilityPacketsOutDataProtoSql = (args: any): string => { +export const abilityPacketsOutDataProtoSql = (args: unknown): string => { return `select t.packet_out_sec as value, - (t.ts - ${args.recordStartNS} ) as startNs, - max(ifnull(t.dur, ${args.recordEndNS} - t.ts)) as dur, - ((t.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + (t.ts - ${ + // @ts-ignore + args.recordStartNS + } ) as startNs, + max(ifnull(t.dur, ${ + // @ts-ignore + args.recordEndNS + } - t.ts)) as dur, + ((t.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) as px from network t - where startNs + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + where startNs + (ifnull(dur,0)) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px`; }; -let totalList: Array = []; -let userList: Array = []; -let systemList: Array = []; -let memoryList: Array = []; -let memoryListMap = new Map>(); -let bytesReadList: Array = []; -let bytesWriteList: Array = []; -let readOpsList: Array = []; -let writeOpsList: Array = []; -let bytesInList: Array = []; -let bytesOutList: Array = []; -let packetInList: Array = []; -let packetOutList: Array = []; +let totalList: Array = []; +let userList: Array = []; +let systemList: Array = []; +let memoryList: Array = []; +let memoryListMap = new Map>(); +let bytesReadList: Array = []; +let bytesWriteList: Array = []; +let readOpsList: Array = []; +let writeOpsList: Array = []; +let bytesInList: Array = []; +let bytesOutList: Array = []; +let packetInList: Array = []; +let packetOutList: Array = []; export function resetAbilityMonitor(): void { totalList = []; @@ -252,166 +471,238 @@ export function resetAbilityMonitor(): void { * @param proc */ -export function cpuAbilityMonitorDataReceiver(data: any, proc: Function): void { +export function cpuAbilityMonitorDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (totalList.length === 0) { + // @ts-ignore totalList = proc(cpuAbilityMonitorDataSql(data.params)); } + // @ts-ignore cpuArrayBufferHandler(data, totalList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = cpuAbilityMonitorDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore cpuArrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function cpuAbilityUserDataReceiver(data: any, proc: Function): void { +export function cpuAbilityUserDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (userList.length === 0) { + // @ts-ignore userList = proc(cpuAbilityUserDataSql(data.params)); } + // @ts-ignore cpuArrayBufferHandler(data, userList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = cpuAbilityUserDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore cpuArrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function cpuAbilitySystemDataReceiver(data: any, proc: Function): void { +export function cpuAbilitySystemDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (systemList.length === 0) { + // @ts-ignore systemList = proc(cpuAbilitySystemDataSql(data.params)); } + // @ts-ignore cpuArrayBufferHandler(data, systemList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = cpuAbilitySystemDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore cpuArrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityMemoryUsedDataReceiver(data: any, proc: Function): void { +export function abilityMemoryUsedDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { + // @ts-ignore if (!memoryListMap.has(data.params.id)) { + // @ts-ignore memoryList = proc(abilityMemoryDataSql(data.params)); + // @ts-ignore memoryListMap.set(data.params.id, memoryList); } + // @ts-ignore let list = memoryListMap.get(data.params.id) || []; + // @ts-ignore arrayBufferHandler(data, list, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityMemoryDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityBytesReadDataReceiver(data: any, proc: Function): void { +export function abilityBytesReadDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (bytesReadList.length === 0) { + // @ts-ignore bytesReadList = proc(abilityBytesReadDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, bytesReadList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityBytesReadDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityBytesWrittenDataReceiver(data: any, proc: Function): void { +export function abilityBytesWrittenDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (bytesWriteList.length === 0) { + // @ts-ignore bytesWriteList = proc(abilityBytesWrittenDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, bytesWriteList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityBytesWrittenDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityReadOpsDataReceiver(data: any, proc: Function): void { +export function abilityReadOpsDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (readOpsList.length === 0) { + // @ts-ignore readOpsList = proc(abilityReadOpsDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, readOpsList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityReadOpsDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityWrittenOpsDataReceiver(data: any, proc: Function): void { +export function abilityWrittenOpsDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (writeOpsList.length === 0) { + // @ts-ignore writeOpsList = proc(abilityWrittenOpsDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, writeOpsList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityWrittenOpsDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityBytesInTraceDataReceiver(data: any, proc: Function): void { +export function abilityBytesInTraceDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (bytesInList.length === 0) { + // @ts-ignore bytesInList = proc(abilityBytesInTraceDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, bytesInList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityBytesInTraceDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityBytesOutTraceDataReceiver(data: any, proc: Function): void { +export function abilityBytesOutTraceDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (bytesOutList.length === 0) { + // @ts-ignore bytesOutList = proc(abilityBytesOutTraceDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, bytesOutList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityBytesOutTraceDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityPacketInTraceDataReceiver(data: any, proc: Function): void { +export function abilityPacketInTraceDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (packetInList.length === 0) { + // @ts-ignore packetInList = proc(abilityPacketInDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, packetInList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityPacketInDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function abilityPacketsOutTraceDataReceiver(data: any, proc: Function): void { +export function abilityPacketsOutTraceDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (packetOutList.length === 0) { + // @ts-ignore packetOutList = proc(abilityPacketsOutDataSql(data.params)); } + // @ts-ignore arrayBufferHandler(data, packetOutList, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = abilityPacketsOutDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let value = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let dur = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.abilityData); + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore value[i] = it.value; + // @ts-ignore dur[i] = it.dur; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -427,19 +718,28 @@ function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { ); } -function cpuArrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function cpuArrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let value = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let dur = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.cpuAbilityData); + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore value[i] = it.value; + // @ts-ignore dur[i] = it.dur; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/AbilityMonitorSender.ts b/ide/src/trace/database/data-trafic/AbilityMonitorSender.ts index 35c419c4e..5a886759a 100644 --- a/ide/src/trace/database/data-trafic/AbilityMonitorSender.ts +++ b/ide/src/trace/database/data-trafic/AbilityMonitorSender.ts @@ -53,7 +53,7 @@ export function cpuAbilityUserDataSender( endNS: TraceRow.range?.endNS || 0, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(cpuAbilityMonitorArrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -85,7 +85,7 @@ export function abilityMemoryUsedDataSender( trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(memoryArrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -126,7 +126,7 @@ export function abilityBytesReadDataSender( trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -167,16 +167,19 @@ export function abilityBytesInTraceDataSender( trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(networkArrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function memoryArrayBufferHandler(buffers: any, len: number): MemoryAbilityMonitorStruct[] { +function memoryArrayBufferHandler(buffers: unknown, len: number): MemoryAbilityMonitorStruct[] { let outArr: MemoryAbilityMonitorStruct[] = []; + // @ts-ignore let value = new Float64Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Int32Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ @@ -187,10 +190,13 @@ function memoryArrayBufferHandler(buffers: any, len: number): MemoryAbilityMonit } return outArr; } -function cpuAbilityMonitorArrayBufferHandler(buffers: any, len: number): CpuAbilityMonitorStruct[] { +function cpuAbilityMonitorArrayBufferHandler(buffers: unknown, len: number): CpuAbilityMonitorStruct[] { let outArr: CpuAbilityMonitorStruct[] = []; + // @ts-ignore let value = new Float64Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Int32Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ @@ -201,10 +207,13 @@ function cpuAbilityMonitorArrayBufferHandler(buffers: any, len: number): CpuAbil } return outArr; } -function arrayBufferHandler(buffers: any, len: number): DiskAbilityMonitorStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): DiskAbilityMonitorStruct[] { let outArr: DiskAbilityMonitorStruct[] = []; + // @ts-ignore let value = new Float64Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Int32Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ @@ -215,10 +224,13 @@ function arrayBufferHandler(buffers: any, len: number): DiskAbilityMonitorStruct } return outArr; } -function networkArrayBufferHandler(buffers: any, len: number): NetworkAbilityMonitorStruct[] { +function networkArrayBufferHandler(buffers: unknown, len: number): NetworkAbilityMonitorStruct[] { let outArr: NetworkAbilityMonitorStruct[] = []; + // @ts-ignore let value = new Float64Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Int32Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/ArkTsSender.ts b/ide/src/trace/database/data-trafic/ArkTsSender.ts index 07eaf5813..d9debc588 100644 --- a/ide/src/trace/database/data-trafic/ArkTsSender.ts +++ b/ide/src/trace/database/data-trafic/ArkTsSender.ts @@ -32,7 +32,7 @@ export function cpuProfilerDataSender(row: TraceRow): Promi width: width, trafic: trafic, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve(arrayBufferHandler(res, len)); } ); @@ -40,23 +40,34 @@ export function cpuProfilerDataSender(row: TraceRow): Promi } function arrayBufferHandler( - res: any, + res: unknown, len: number ): { - maxDepth: any; - dataList: any[]; + maxDepth: unknown; + dataList: unknown[]; } { - let outArr: any[] = []; + let outArr: unknown[] = []; + // @ts-ignore let column = new Int32Array(res.column); + // @ts-ignore let depth = new Int32Array(res.depth); + // @ts-ignore let endTime = new Float64Array(res.endTime); + // @ts-ignore let id = new Int32Array(res.id); + // @ts-ignore let line = new Int32Array(res.line); + // @ts-ignore let nameId = new Int32Array(res.nameId); + // @ts-ignore let parentId = new Int32Array(res.parentId); + // @ts-ignore let selfTime = new Float64Array(res.selfTime); + // @ts-ignore let startTime = new Float64Array(res.startTime); + // @ts-ignore let totalTime = new Float64Array(res.totalTime); + // @ts-ignore let urlId = new Int32Array(res.urlId); for (let i = 0; i < len; i++) { outArr.push({ @@ -67,15 +78,18 @@ function arrayBufferHandler( line: line[i], nameId: nameId[i], parentId: parentId[i], + // @ts-ignore samplesIds: res.samplesIds[i], selfTime: selfTime[i], startTime: startTime[i], totalTime: totalTime[i], urlId: urlId[i], + // @ts-ignore childrenIds: res.childrenIds[i], - } as any); + } as unknown); } return { + // @ts-ignore maxDepth: res.maxDepth, dataList: outArr, }; diff --git a/ide/src/trace/database/data-trafic/ClockDataReceiver.ts b/ide/src/trace/database/data-trafic/ClockDataReceiver.ts index 3699beffa..e2e76065b 100644 --- a/ide/src/trace/database/data-trafic/ClockDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/ClockDataReceiver.ts @@ -15,7 +15,8 @@ import { TraficEnum } from './utils/QueryEnum'; import { filterDataByGroup } from './utils/DataFilter'; import { clockList } from './utils/AllMemoryCache'; -export const chartClockDataSql = (args: any): string => { +export const chartClockDataSql = (args: unknown): string => { + // @ts-ignore if (args.sqlType === 'clockFrequency') { return ` with freq as ( @@ -26,56 +27,100 @@ export const chartClockDataSql = (args: any): string => { from measure where measure.filter_id in (select id from clock_event_filter - where clock_event_filter.name = '${args.clockName}' + where clock_event_filter.name = '${ + // @ts-ignore + args.clockName + }' and clock_event_filter.type = 'clock_set_rate') - --and startNs >= ${Math.floor(args.startNS)} - --and startNs <= ${Math.floor(args.endNS)} + --and startNs >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + --and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } ) - select freq.filter_id as filterId, freq.value, freq.ts - ${args.recordStartNS} as startNs, freq.type + select freq.filter_id as filterId, freq.value, freq.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, freq.type from freq order by startNs; `; + // @ts-ignore } else if (args.sqlType === 'clockState') { return `select measure.filter_id as filterId, measure.value as value, - measure.ts - ${args.recordStartNS} as startNs, + measure.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, (lead(ts, 1, null) over ( order by measure.ts)) - ts as dur, measure.type as type from measure where measure.filter_id in (select id from clock_event_filter - where clock_event_filter.name = '${args.clockName}' + where clock_event_filter.name = '${ + // @ts-ignore + args.clockName + }' and clock_event_filter.type != 'clock_set_rate') - --and startNs + dur >= ${Math.floor(args.startNS)} - --and startNs <= ${Math.floor(args.endNS)}`; + --and startNs + dur >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + --and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + }`; + // @ts-ignore } else if (args.sqlType === 'screenState') { - return `select filter_id as filterId,value, m.ts - ${args.recordStartNS} as startNs, m.type + return `select filter_id as filterId,value, m.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, m.type from measure m where filter_id in (select id from process_measure_filter where name = 'ScreenState') - --and startNs >= ${Math.floor(args.startNS)} - --and startNs <= ${Math.floor(args.endNS)};`; + --and startNs >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + --and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + };`; } else { return ''; } }; -export const chartClockDataSqlMem = (args: any): string => { +export const chartClockDataSqlMem = (args: unknown): string => { + // @ts-ignore if (args.sqlType === 'clockFrequency') { return ` with freq as ( select measure.filter_id, measure.ts, measure.type, measure.value from clock_event_filter left join measure - where clock_event_filter.name = '${args.clockName}' and clock_event_filter.type = 'clock_set_rate' and clock_event_filter.id = measure.filter_id + where clock_event_filter.name = '${ + // @ts-ignore + args.clockName + }' and clock_event_filter.type = 'clock_set_rate' and clock_event_filter.id = measure.filter_id order by measure.ts) select freq.filter_id as filterId,freq.ts - r.start_ts as startNs,freq.type,freq.value from freq,trace_range r order by startNs; `; + // @ts-ignore } else if (args.sqlType === 'clockState') { return `with state as ( select filter_id, ts, endts, endts-ts as dur, type, value from (select measure.filter_id, measure.ts, lead(ts, 1, null) over( order by measure.ts) endts, measure.type, measure.value from clock_event_filter,trace_range left join measure - where clock_event_filter.name = '${args.clockName}' and clock_event_filter.type != 'clock_set_rate' and clock_event_filter.id = measure.filter_id + where clock_event_filter.name = '${ + // @ts-ignore + args.clockName + }' and clock_event_filter.type != 'clock_set_rate' and clock_event_filter.id = measure.filter_id order by measure.ts)) select s.filter_id as filterId,s.ts-r.start_ts as startNs,s.type,s.value,s.dur from state s,trace_range r`; + // @ts-ignore } else if (args.sqlType === 'screenState') { return `select m.type, m.ts-r.start_ts as startNs, value, filter_id as filterId from measure m,trace_range r @@ -85,26 +130,35 @@ export const chartClockDataSqlMem = (args: any): string => { } }; -export function clockDataReceiver(data: any, proc: Function): void { +export function clockDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[]; - let list: any[]; + let res: unknown[]; + let list: unknown[]; + // @ts-ignore if (!clockList.has(data.params.sqlType + data.params.clockName)) { + // @ts-ignore list = proc(chartClockDataSqlMem(data.params)); for (let j = 0; j < list.length; j++) { if (j === list.length - 1) { + // @ts-ignore list[j].dur = (data.params.totalNS || 0) - (list[j].startNs || 0); } else { + // @ts-ignore list[j].dur = (list[j + 1].startNs || 0) - (list[j].startNs || 0); } } + // @ts-ignore clockList.set(data.params.sqlType + data.params.clockName, list); } else { + // @ts-ignore list = clockList.get(data.params.sqlType + data.params.clockName) || []; } + // @ts-ignore if (data.params.queryAll) { //框选时候取数据,只需要根据时间过滤数据 res = (list || []).filter( + // @ts-ignore (it) => it.startNs + it.dur >= data.params.selectStartNS && it.startNs <= data.params.selectEndNS ); } else { @@ -112,43 +166,59 @@ export function clockDataReceiver(data: any, proc: Function): void { list || [], 'startNs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width, 'value' ); } arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartClockDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let filterId = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.filterId); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.clockData); + // @ts-ignore dur[i] = it.dur; + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore filterId[i] = it.filterId; + // @ts-ignore value[i] = it.value; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - dur: dur.buffer, - startNS: startNS.buffer, - value: value.buffer, - filterId: filterId.buffer, - } + dur: dur.buffer, + startNS: startNS.buffer, + value: value.buffer, + filterId: filterId.buffer, + } : {}, len: res.length, transfer: transfer, diff --git a/ide/src/trace/database/data-trafic/ClockDataSender.ts b/ide/src/trace/database/data-trafic/ClockDataSender.ts index dd1313cb3..d8adc9fd0 100644 --- a/ide/src/trace/database/data-trafic/ClockDataSender.ts +++ b/ide/src/trace/database/data-trafic/ClockDataSender.ts @@ -20,7 +20,7 @@ export function clockDataSender( clockName: string = '', sqlType: string, row: TraceRow, - args?: any + args?: unknown ): Promise { let trafic: number = TraficEnum.Memory; let width = row.clientWidth - CHART_OFFSET_LEFT; @@ -43,27 +43,35 @@ export function clockDataSender( totalNS: TraceRow.range?.totalNS || 0, recordStartNS: window.recordStartNS, recordEndNS: window.recordEndNS, + // @ts-ignore queryAll: args && args.queryAll, + // @ts-ignore selectStartNS: args ? args.startNS : 0, + // @ts-ignore selectEndNS: args ? args.endNS : 0, + // @ts-ignore selectTotalNS: args ? args.endNS - args.startNS : 0, t: Date.now(), width: width, trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): ClockStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): ClockStruct[] { let outArr: ClockStruct[] = []; + // @ts-ignore let filterId = new Int32Array(buffers.filterId); + // @ts-ignore let value = new Int32Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Float64Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/CpuDataReceiver.ts b/ide/src/trace/database/data-trafic/CpuDataReceiver.ts index f4efdf5e3..e43511442 100644 --- a/ide/src/trace/database/data-trafic/CpuDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/CpuDataReceiver.ts @@ -15,7 +15,7 @@ import { TraficEnum } from './utils/QueryEnum'; import { filterDataByGroup } from './utils/DataFilter'; import { cpuList } from './utils/AllMemoryCache'; -export const chartCpuDataProtoSql = (args: any): string => { +export const chartCpuDataProtoSql = (args: unknown): string => { return ` SELECT B.pid as processId, B.cpu, @@ -23,99 +23,153 @@ export const chartCpuDataProtoSql = (args: any): string => { B.itid as id, max(B.dur) AS dur, B.ts - ${ + // @ts-ignore args.recordStartNS } AS startTime, ifnull(B.arg_setid, -1) as argSetId, - ((B.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + ((B.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from thread_state AS B where B.itid is not null - and B.cpu = ${args.cpu} - and startTime + dur >= ${Math.floor(args.startNS)} - and startTime <= ${Math.floor(args.endNS)} + and B.cpu = ${ + // @ts-ignore + args.cpu + } + and startTime + dur >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startTime <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px;`; }; -export const chartCpuDataProtoSqlMem = (args: any): string => { +export const chartCpuDataProtoSqlMem = (args: unknown): string => { return ` SELECT B.pid as processId, B.cpu, B.tid, B.itid as id, B.dur AS dur, - B.ts - ${args.recordStartNS} AS startTime, + B.ts - ${ + // @ts-ignore + args.recordStartNS + } AS startTime, ifnull(B.arg_setid, -1) as argSetId from thread_state AS B where B.itid is not null - and B.cpu = ${args.cpu};`; + and B.cpu = ${ + // @ts-ignore + args.cpu + };`; }; -export function cpuDataReceiver(data: any, proc: Function): void { +export function cpuDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[]; - let list: any[]; + let res: unknown[]; + let list: unknown[]; + // @ts-ignore if (!cpuList.has(data.params.cpu)) { + // @ts-ignore list = proc(chartCpuDataProtoSqlMem(data.params)); for (let i = 0; i < list.length; i++) { + // @ts-ignore if (list[i].dur === -1 || list[i].dur === null || list[i].dur === undefined) { + // @ts-ignore list[i].nofinish = 1; if (i === list.length - 1) { + // @ts-ignore list[i].dur = data.params.endNS - list[i].startTime; } else { + // @ts-ignore list[i].dur = list[i + 1].startTime - list[i].startTime; } } else { + // @ts-ignore list[i].nofinish = 0; } } + // @ts-ignore cpuList.set(data.params.cpu, list); } else { + // @ts-ignore list = cpuList.get(data.params.cpu) || []; } + // @ts-ignore res = filterDataByGroup(list || [], 'startTime', 'dur', data.params.startNS, data.params.endNS, data.params.width); arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartCpuDataProtoSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function searchDataHandler(data: any): void { - let res: any[] = []; +export function searchDataHandler(data: unknown): void { + let res: unknown[] = []; + // @ts-ignore let pidArr = data.params.pidArr as number[]; + // @ts-ignore let tidArr = data.params.tidArr as number[]; for (let value of Array.from(cpuList.values())) { res.push( ...value.filter((cpuData) => pidArr.includes(cpuData.pid || cpuData.processId) || tidArr.includes(cpuData.tid)) ); } + // @ts-ignore res.sort((dataA, dataB) => dataA.startTime - dataB.startTime); arrayBufferHandler(data, res, true); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let tid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); + // @ts-ignore let id = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let processId = new Int16Array(transfer ? res.length : data.params.sharedArrayBuffers.processId); + // @ts-ignore let cpu = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.cpu); + // @ts-ignore let argSetId = new Int8Array(transfer ? res.length : data.params.sharedArrayBuffers.argSetId); + // @ts-ignore let nofinish = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.nofinish); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.cpuData); + // @ts-ignore startTime[i] = it.startTime; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore tid[i] = it.tid; + // @ts-ignore cpu[i] = it.cpu; + // @ts-ignore id[i] = it.id; + // @ts-ignore nofinish[i] = it.nofinish; + // @ts-ignore processId[i] = it.pid || it.processId; + // @ts-ignore argSetId[i] = it.argSetId; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/CpuDataSender.ts b/ide/src/trace/database/data-trafic/CpuDataSender.ts index 2e6afebcf..82295c098 100644 --- a/ide/src/trace/database/data-trafic/CpuDataSender.ts +++ b/ide/src/trace/database/data-trafic/CpuDataSender.ts @@ -45,14 +45,14 @@ export function cpuDataSender(cpu: number, row: TraceRow): Promise { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -export function searchCpuDataSender(pidArr: Array, tidArr: Array): Promise { +export function searchCpuDataSender(pidArr: Array, tidArr: Array): Promise { return new Promise((resolve): void => { threadPool.submitProto( QueryEnum.SearchCpuData, @@ -61,22 +61,30 @@ export function searchCpuDataSender(pidArr: Array, tidArr: Array pidArr: pidArr, trafic: TraficEnum.SharedArrayBuffer, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(searchArrayBufferHandler(res, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): CpuStruct[] { +function arrayBufferHandler(res: unknown, len: number): CpuStruct[] { let outArr: CpuStruct[] = []; + // @ts-ignore let startTime = new Float64Array(res.startTime); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let processId = new Uint16Array(res.processId); + // @ts-ignore let tid = new Uint16Array(res.tid); + // @ts-ignore let cpu = new Uint8Array(res.cpu); + // @ts-ignore let argSetID = new Int8Array(res.argSetID); + // @ts-ignore let nofinish = new Uint8Array(res.nofinish); for (let i = 0; i < len; i++) { outArr.push({ @@ -93,15 +101,23 @@ function arrayBufferHandler(res: any, len: number): CpuStruct[] { return outArr; } -function searchArrayBufferHandler(res: any, len: number): CpuStruct[] { +function searchArrayBufferHandler(res: unknown, len: number): CpuStruct[] { let outArr: CpuStruct[] = []; + // @ts-ignore let startTime = new Float64Array(res.startTime); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let processId = new Uint16Array(res.processId); + // @ts-ignore let tid = new Uint16Array(res.tid); + // @ts-ignore let cpu = new Uint8Array(res.cpu); + // @ts-ignore let argSetID = new Int8Array(res.argSetID); + // @ts-ignore let nofinish = new Uint8Array(res.nofinish); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/EBPFReceiver.ts b/ide/src/trace/database/data-trafic/EBPFReceiver.ts index 814d01e2c..5bcd46718 100644 --- a/ide/src/trace/database/data-trafic/EBPFReceiver.ts +++ b/ide/src/trace/database/data-trafic/EBPFReceiver.ts @@ -13,105 +13,231 @@ import { TraficEnum } from './utils/QueryEnum'; -export const fileSystemDataGroupBy10MSProtoSql = (args: any): string => { +export const fileSystemDataGroupBy10MSProtoSql = (args: unknown): string => { return `SELECT startNs, endNs, max( count ) AS size, - ( startNS / ( ( ${args.endNS} - ${args.startNS} ) / ${args.width} ) ) AS px + ( startNS / ( ( ${ + // @ts-ignore + args.endNS + } - ${ + // @ts-ignore + args.startNS + } ) / ${ + // @ts-ignore + args.width + } ) ) AS px FROM ( SELECT - ( A.start_ts - ${args.recordStartNS} ) / 10000000 * 10000000 AS startNs, - ( A.start_ts - ${args.recordStartNS} + 10000000 ) / 10000000 * 10000000 AS endNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } ) / 10000000 * 10000000 AS startNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } + 10000000 ) / 10000000 * 10000000 AS endNs, count( dur ) AS count FROM file_system_sample A WHERE - type = ${args.type} - and startNs > ${Math.floor(args.startNS)} - AND startNs + dur >= ${Math.floor(args.startNS)} - AND startNs < ${Math.floor(args.endNS)} + type = ${ + // @ts-ignore + args.type + } + and startNs > ${ + // @ts-ignore + Math.floor(args.startNS) + } + AND startNs + dur >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + AND startNs < ${ + // @ts-ignore + Math.floor(args.endNS) + } GROUP BY startNs ) GROUP BY px `; }; -export const fileSystemDataProtoSql = (args: any): string => { +export const fileSystemDataProtoSql = (args: unknown): string => { return `select - (A.start_ts - ${args.recordStartNS}) as startNs, - (A.end_ts - ${args.recordStartNS}) as endNs, + (A.start_ts - ${ + // @ts-ignore + args.recordStartNS + }) as startNs, + (A.end_ts - ${ + // @ts-ignore + args.recordStartNS + }) as endNs, dur from file_system_sample A - where type = ${args.type} + where type = ${ + // @ts-ignore + args.type + } and startNs > 0 - and startNs + dur > ${args.startNS} - and startNs < ${args.endNS} + and startNs + dur > ${ + // @ts-ignore + args.startNS + } + and startNs < ${ + // @ts-ignore + args.endNS + } `; }; -export const diskIoDataGroupBy10MSProtoSql = (args: any): string => { +export const diskIoDataGroupBy10MSProtoSql = (args: unknown): string => { return `SELECT startNs, endNs, max( dur ) AS size, - ( startNS / ( ( ${args.endNS} - ${args.startNS} ) / ${args.width} ) ) AS px + ( startNS / ( ( ${ + // @ts-ignore + args.endNS + } - ${ + // @ts-ignore + args.startNS + } ) / ${ + // @ts-ignore + args.width + } ) ) AS px FROM ( SELECT - ( A.start_ts - ${args.recordStartNS} ) / 10000000 * 10000000 AS startNs, - ( A.start_ts - ${args.recordStartNS} + 10000000 ) / 10000000 * 10000000 AS endNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } ) / 10000000 * 10000000 AS startNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } + 10000000 ) / 10000000 * 10000000 AS endNs, max( latency_dur ) AS dur FROM bio_latency_sample A - where type in (${args.typeArr.join(',')}) and startNs > 0 - ${args.all ? '' : 'and ipid = ' + args.ipid} - and startNs + latency_dur > ${args.startNS} - and startNs < ${args.endNS} + where type in (${ + // @ts-ignore + args.typeArr.join(',') + }) and startNs > 0 + ${ + // @ts-ignore + args.all ? '' : 'and ipid = ' + args.ipid + } + and startNs + latency_dur > ${ + // @ts-ignore + args.startNS + } + and startNs < ${ + // @ts-ignore + args.endNS + } GROUP BY startNs order by startNs ) GROUP BY px`; }; -export const diskIoDataProtoSql = (args: any): string => { +export const diskIoDataProtoSql = (args: unknown): string => { return `select - (A.start_ts - ${args.recordStartNS}) as startNs, - (A.start_ts - ${args.recordStartNS} + A.latency_dur) as endNs, + (A.start_ts - ${ + // @ts-ignore + args.recordStartNS + }) as startNs, + (A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } + A.latency_dur) as endNs, latency_dur as dur from bio_latency_sample A - where type in (${args.typeArr.join(',')}) and startNs > 0 - ${args.all ? '' : 'and ipid = ' + args.ipid} - and startNs + dur > ${args.startNS} - and startNs < ${args.endNS} + where type in (${ + // @ts-ignore + args.typeArr.join(',') + }) and startNs > 0 + ${ + // @ts-ignore + args.all ? '' : 'and ipid = ' + args.ipid + } + and startNs + dur > ${ + // @ts-ignore + args.startNS + } + and startNs < ${ + // @ts-ignore + args.endNS + } order by A.start_ts;`; }; -export const eBPFVmDataGroupBy10MSProtoSql = (args: any): string => { +export const eBPFVmDataGroupBy10MSProtoSql = (args: unknown): string => { return `SELECT startNs, endNs, max( count ) AS size, - ( startNS / ( ( ${args.endNS} - ${args.startNS} ) / ${args.width} ) ) AS px + ( startNS / ( ( ${ + // @ts-ignore + args.endNS + } - ${ + // @ts-ignore + args.startNS + } ) / ${ + // @ts-ignore + args.width + } ) ) AS px FROM ( SELECT - ( A.start_ts - ${args.recordStartNS} ) / 10000000 * 10000000 AS startNs, - ( A.start_ts - ${args.recordStartNS} + 10000000 ) / 10000000 * 10000000 AS endNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } ) / 10000000 * 10000000 AS startNs, + ( A.start_ts - ${ + // @ts-ignore + args.recordStartNS + } + 10000000 ) / 10000000 * 10000000 AS endNs, count( dur ) AS count FROM paged_memory_sample A - where startNs + dur > ${args.startNS} + where startNs + dur > ${ + // @ts-ignore + args.startNS + } and startNs > 0 - and startNs < ${args.endNS} - and endNs > ${args.startNS} + and startNs < ${ + // @ts-ignore + args.endNS + } + and endNs > ${ + // @ts-ignore + args.startNS + } GROUP BY startNs order by startNs ) GROUP BY px`; }; -export const eBPFVmDataProtoSql = (args: any): string => { +export const eBPFVmDataProtoSql = (args: unknown): string => { return `select - (A.start_ts - ${args.recordStartNS}) as startNs, - (A.end_ts - ${args.recordStartNS}) as endNs, + (A.start_ts - ${ + // @ts-ignore + args.recordStartNS + }) as startNs, + (A.end_ts - ${ + // @ts-ignore + args.recordStartNS + }) as endNs, dur as dur from paged_memory_sample A - where startNs + dur > ${args.startNS} + where startNs + dur > ${ + // @ts-ignore + args.startNS + } and startNs > 0 - and startNs < ${args.endNS} - and endNs > ${args.startNS} + and startNs < ${ + // @ts-ignore + args.endNS + } + and endNs > ${ + // @ts-ignore + args.startNS + } order by A.start_ts;`; }; @@ -119,54 +245,79 @@ export const eBPFVmDataProtoSql = (args: any): string => { * @param data * @param proc */ -export function fileSystemDataReceiver(data: any, proc: Function): void { +export function fileSystemDataReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 40_000_000) { + // @ts-ignore sql = fileSystemDataGroupBy10MSProtoSql(data.params); } else { + // @ts-ignore sql = fileSystemDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -export function diskIoReceiver(data: any, proc: Function): void { +export function diskIoReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 40_000_000) { + // @ts-ignore sql = diskIoDataGroupBy10MSProtoSql(data.params); } else { + // @ts-ignore sql = diskIoDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -export function eBPFVmReceiver(data: any, proc: Function): void { +export function eBPFVmReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 40_000_000) { + // @ts-ignore sql = eBPFVmDataGroupBy10MSProtoSql(data.params); } else { + // @ts-ignore sql = eBPFVmDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let endNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.endNS); + // @ts-ignore let size = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.size); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let height = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.height); + // @ts-ignore let maxSize = Math.max(...res.map((it) => it.size)); res.forEach((it, i) => { + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore endNS[i] = it.endNs; + // @ts-ignore size[i] = it.size; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore height[i] = Math.ceil((it.size / maxSize) * 36); }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/EBPFSender.ts b/ide/src/trace/database/data-trafic/EBPFSender.ts index d6da111c1..d50675e63 100644 --- a/ide/src/trace/database/data-trafic/EBPFSender.ts +++ b/ide/src/trace/database/data-trafic/EBPFSender.ts @@ -44,7 +44,7 @@ export function fileSystemSender( type: type, scale: scale, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -83,7 +83,7 @@ export function diskIoSender( typeArr: typeArr, scale: scale, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -112,18 +112,23 @@ export function fileSysVMSender(scale: number, row: TraceRow): sharedArrayBuffers: row.sharedArrayBuffers, scale: scale, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): EBPFChartStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): EBPFChartStruct[] { let outArr: EBPFChartStruct[] = []; + // @ts-ignore let endNS = new Float64Array(buffers.endNS); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let size = new Float64Array(buffers.size); + // @ts-ignore let dur = new Float64Array(buffers.dur); + // @ts-ignore let height = new Int32Array(buffers.height); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/EnergySysEventReceiver.ts b/ide/src/trace/database/data-trafic/EnergySysEventReceiver.ts index ea9446533..4f7772080 100644 --- a/ide/src/trace/database/data-trafic/EnergySysEventReceiver.ts +++ b/ide/src/trace/database/data-trafic/EnergySysEventReceiver.ts @@ -16,27 +16,39 @@ import { TraficEnum } from './utils/QueryEnum'; import { energyList } from './utils/AllMemoryCache'; -export const systemDataSql = (args: any): string => { +export const systemDataSql = (args: unknown): string => { return `SELECT S.id, S.ts - ${ - args.recordStartNS - } AS startNs, + // @ts-ignore + args.recordStartNS + } AS startNs, D.data AS eventName, (case when D.data = 'POWER_RUNNINGLOCK' then 1 when D.data = 'GNSS_STATE' then 2 else 0 end) AS appKey, contents AS eventValue, - ((S.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + ((S.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px FROM hisys_all_event AS S LEFT JOIN data_dict AS D ON S.event_name_id = D.id LEFT JOIN data_dict AS D2 ON S.domain_id = D2.id WHERE eventName IN ('POWER_RUNNINGLOCK', 'GNSS_STATE', 'WORK_START', 'WORK_REMOVE', 'WORK_STOP', 'WORK_ADD') - and startNs >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px;`; }; -export const systemDataMemSql = (args: any): string => { +export const systemDataMemSql = (args: unknown): string => { return `SELECT S.id, - S.ts - ${args.recordStartNS} AS startNs, + S.ts - ${ + // @ts-ignore + args.recordStartNS + } AS startNs, D.data AS eventName, (case when D.data = 'POWER_RUNNINGLOCK' then '1' when D.data = 'GNSS_STATE' then '2' else '0' end) AS appKey, contents AS eventValue @@ -47,10 +59,13 @@ export const systemDataMemSql = (args: any): string => { ('POWER_RUNNINGLOCK', 'GNSS_STATE', 'WORK_START', 'WORK_REMOVE', 'WORK_STOP', 'WORK_ADD');`; }; -export const chartEnergyAnomalyDataSql = (args: any): string => { +export const chartEnergyAnomalyDataSql = (args: unknown): string => { return ` select S.id, - S.ts - ${args.recordStartNS} as startNs, + S.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, D.data as eventName, D2.data as appKey, (case @@ -68,10 +83,13 @@ export const chartEnergyAnomalyDataSql = (args: any): string => { and D2.data in ('APPNAME')) group by S.serial, D.data`; }; -export const queryPowerValueSql = (args: any): string => { +export const queryPowerValueSql = (args: unknown): string => { return ` SELECT S.id, - S.ts - ${args.recordStartNS} as startNs, + S.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, D.data AS eventName, D2.data AS appKey, group_concat((CASE WHEN S.type = 1 THEN S.string_value ELSE S.int_value END), ',') AS eventValue @@ -93,10 +111,13 @@ export const queryPowerValueSql = (args: any): string => { ORDER BY eventName;`; }; -export const queryStateDataSql = (args: any): string => { +export const queryStateDataSql = (args: unknown): string => { return ` select S.id, - S.ts - ${args.recordStartNS} as startNs, + S.ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, D.data as eventName, D2.data as appKey, S.int_value as eventValue @@ -104,26 +125,38 @@ export const queryStateDataSql = (args: any): string => { left join data_dict as D on D.id = S.name_id left join app_name as APP on APP.id = S.key_id left join data_dict as D2 on D2.id = APP.app_key - where (case when 'SENSOR_STATE'== '${args.eventName}' then D.data like '%SENSOR%' else D.data = '${args.eventName}' end) + where (case when 'SENSOR_STATE'== '${ + // @ts-ignore + args.eventName + }' then D.data like '%SENSOR%' else D.data = '${ + // @ts-ignore + args.eventName + }' end) and D2.data in ('BRIGHTNESS', 'STATE', 'VALUE', 'LEVEL', 'VOLUME', 'OPER_TYPE', 'VOLUME') group by S.serial, APP.app_key, D.data, D2.data;`; }; -export const queryStateProtoDataSql = (args: any): string => { +export const queryStateProtoDataSql = (args: unknown): string => { return ` SELECT S.id, - S.ts - ${args.recordStartNS} AS startNs, + S.ts - ${ + // @ts-ignore + args.recordStartNS + } AS startNs, D.data AS eventName, '' AS appKey, contents AS eventValue FROM hisys_all_event AS S LEFT JOIN data_dict AS D ON S.event_name_id = D.id LEFT JOIN data_dict AS D2 ON S.domain_id = D2.id - WHERE eventName = ${args.eventName}`; + WHERE eventName = ${ + // @ts-ignore + args.eventName + }`; }; -let systemList: Array = []; -let anomalyList: Array = []; -let powerList: Array = []; +let systemList: Array = []; +let anomalyList: Array = []; +let powerList: Array = []; export function resetEnergyEvent(): void { systemList = []; @@ -131,128 +164,193 @@ export function resetEnergyEvent(): void { powerList = []; } -export function energySysEventReceiver(data: any, proc: Function): void { +export function energySysEventReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (systemList.length === 0) { + // @ts-ignore systemList = proc(systemDataMemSql(data.params)); } + // @ts-ignore systemBufferHandler(data, systemList, data.params.trafic !== TraficEnum.SharedArrayBuffer); + // @ts-ignore } else if (data.params.trafic === TraficEnum.ProtoBuffer) { + // @ts-ignore let sql = systemDataSql(data.params); let res = proc(sql); + // @ts-ignore systemBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function hiSysEnergyAnomalyDataReceiver(data: any, proc: Function): void { +export function hiSysEnergyAnomalyDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (anomalyList.length === 0) { + // @ts-ignore anomalyList = proc(chartEnergyAnomalyDataSql(data.params)); } + // @ts-ignore anomalyBufferHandler(data, anomalyList, data.params.trafic !== TraficEnum.SharedArrayBuffer); + // @ts-ignore } else if (data.params.trafic === TraficEnum.ProtoBuffer) { + // @ts-ignore let sql = chartEnergyAnomalyDataSql(data.params); let res = proc(sql); + // @ts-ignore anomalyBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function hiSysEnergyPowerReceiver(data: any, proc: Function): void { +export function hiSysEnergyPowerReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (powerList.length === 0) { + // @ts-ignore powerList = proc(queryPowerValueSql(data.params)); } + // @ts-ignore powerBufferHandler(data, powerList, data.params.trafic !== TraficEnum.SharedArrayBuffer); + // @ts-ignore } else if (data.params.trafic === TraficEnum.ProtoBuffer) { + // @ts-ignore let sql = queryPowerValueSql(data.params); let res = proc(sql); + // @ts-ignore powerBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function hiSysEnergyStateReceiver(data: any, proc: Function): void { +export function hiSysEnergyStateReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[], list: any[]; + let res: unknown[], list: unknown[]; + // @ts-ignore if (!energyList.has(data.params.eventName)) { + // @ts-ignore list = proc(queryStateDataSql(data.params)); + // @ts-ignore energyList.set(data.params.eventName, list); } else { + // @ts-ignore list = energyList.get(data.params.eventName) || []; } res = list; + // @ts-ignore stateBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); + // @ts-ignore } else if (data.params.trafic === TraficEnum.ProtoBuffer) { + // @ts-ignore let stateDataSql = queryStateDataSql(data.params); let stateDataRes = proc(stateDataSql); + // @ts-ignore stateBufferHandler(data, stateDataRes, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function systemBufferHandler(data: any, res: any[], transfer: boolean): void { +function systemBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { let hiSysEnergy = new HiSysEnergy(data, res, transfer); - let systemDataList: any = []; + let systemDataList: unknown = []; let workCountMap: Map = new Map(); - let nameIdMap: Map> = new Map(); + let nameIdMap: Map> = new Map(); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.energyData); + // @ts-ignore let parsedData = it.eventValue; + // @ts-ignore if (typeof it.eventValue === 'string') { try { + // @ts-ignore parsedData = JSON.parse(it.eventValue); - } catch (error) {} + } catch (error) { } } + // @ts-ignore it.eventValue = parsedData; - let beanData: any = {}; + let beanData: unknown = {}; + // @ts-ignore if (it.appKey === '1') { + // @ts-ignore eventNameWithPowerRunninglock(beanData, it, systemDataList); + // @ts-ignore } else if (it.appKey === '2') { + // @ts-ignore eventNameWithGnssState(beanData, it, systemDataList); } else { + // @ts-ignore beanData.dataType = 3; + // @ts-ignore if (it.eventValue.NAME) { + // @ts-ignore beanData.appName = it.NAME; } + // @ts-ignore if (it.eventValue.WORKID) { + // @ts-ignore beanData.workId = it.WORKID; } + // @ts-ignore if (it.eventName === 'WORK_START') { + // @ts-ignore eventNameWithWorkStart(nameIdMap, beanData, workCountMap, it, systemDataList); + // @ts-ignore } else if (it.eventName === 'WORK_STOP') { + // @ts-ignore eventNameWithWorkStop(nameIdMap, beanData, workCountMap, it, systemDataList); } } + // @ts-ignore hiSysEnergy.id[index] = beanData.id; + // @ts-ignore hiSysEnergy.startNs[index] = beanData.startNs; + // @ts-ignore hiSysEnergy.count[index] = beanData.count; + // @ts-ignore hiSysEnergy.type[index] = beanData.dataType; + // @ts-ignore hiSysEnergy.token[index] = beanData.token; + // @ts-ignore hiSysEnergy.dataType[index] = beanData.dataType; }); postMessage(data, transfer, hiSysEnergy, res.length); } -function eventNameWithPowerRunninglock(beanData: any, it: any, systemDataList: Array): void { +function eventNameWithPowerRunninglock(beanData: unknown, it: unknown, systemDataList: Array): void { let lockCount = 0; let tokedIds: Array = []; + // @ts-ignore beanData.dataType = 1; + // @ts-ignore if (it.eventValue.TAG.endsWith('_ADD')) { + // @ts-ignore beanData.startNs = it.startNs; lockCount++; + // @ts-ignore beanData.id = it.id; + // @ts-ignore beanData.count = lockCount; + // @ts-ignore beanData.token = it.eventValue.MESSAGE.split('=')[1]; + // @ts-ignore beanData.type = 1; + // @ts-ignore tokedIds.push(beanData.token); systemDataList.push(beanData); } else { + // @ts-ignore beanData.id = it.id; + // @ts-ignore beanData.startNs = it.startNs; + // @ts-ignore let toked = it.eventValue.MESSAGE.split('=')[1]; let number = tokedIds.indexOf(toked); if (number > -1) { lockCount--; + // @ts-ignore beanData.count = lockCount; + // @ts-ignore beanData.token = it.eventValue.MESSAGE.split('=')[1]; + // @ts-ignore beanData.type = 1; systemDataList.push(beanData); delete tokedIds[number]; @@ -260,109 +358,139 @@ function eventNameWithPowerRunninglock(beanData: any, it: any, systemDataList: A } } -function eventNameWithGnssState(beanData: any, it: any, systemDataList: Array): void { +function eventNameWithGnssState(beanData: unknown, it: unknown, systemDataList: Array): void { let locationIndex = -1; let locationCount = 0; + // @ts-ignore beanData.dataType = 2; + // @ts-ignore if (it.eventValue.STATE === 'stop') { if (locationIndex === -1) { + // @ts-ignore beanData.startNs = 0; + // @ts-ignore beanData.count = 1; } else { + // @ts-ignore beanData.startNs = it.startNs; locationCount--; + // @ts-ignore beanData.count = locationCount; } + // @ts-ignore beanData.state = 'stop'; } else { + // @ts-ignore beanData.startNs = it.startNs; locationCount++; + // @ts-ignore beanData.count = locationCount; + // @ts-ignore beanData.state = 'start'; } locationIndex = 0; + // @ts-ignore beanData.type = 2; systemDataList.push(beanData); } function eventNameWithWorkStart( - nameIdMap: Map>, - beanData: any, + nameIdMap: Map>, + beanData: unknown, workCountMap: Map, - it: any, - systemDataList: Array + it: unknown, + systemDataList: Array ): void { + // @ts-ignore let nameIdList = nameIdMap.get(beanData.appName); let workCount = 0; if (nameIdList === undefined) { workCount = 1; + // @ts-ignore nameIdMap.set(beanData.appName, [beanData.workId]); } else { + // @ts-ignore nameIdList.push(beanData.workId); workCount = nameIdList.length; } + // @ts-ignore let count = workCountMap.get(beanData.appName); if (count === undefined) { + // @ts-ignore workCountMap.set(beanData.appName, 1); } else { + // @ts-ignore workCountMap.set(beanData.appName, count + 1); } + // @ts-ignore beanData.startNs = it.startNs; + // @ts-ignore beanData.count = workCount; + // @ts-ignore beanData.type = 0; systemDataList.push(beanData); } function eventNameWithWorkStop( - nameIdMap: Map>, - beanData: any, + nameIdMap: Map>, + beanData: unknown, workCountMap: Map, - it: any, - systemDataList: Array + it: unknown, + systemDataList: Array ): void { - let nameIdList: any = nameIdMap.get(beanData.appName); + // @ts-ignore + let nameIdList: unknown = nameIdMap.get(beanData.appName); + // @ts-ignore let index = nameIdList.indexOf(beanData.workId); if (nameIdList !== undefined && index > -1) { + // @ts-ignore delete nameIdList[index]; + // @ts-ignore let workCount = workCountMap.get(beanData.appName); if (workCount !== undefined) { workCount = workCount - 1; + // @ts-ignore workCountMap.set(beanData.appName, workCount); + // @ts-ignore beanData.startNs = it.startNs; + // @ts-ignore beanData.count = workCount; + // @ts-ignore beanData.type = 0; systemDataList.push(beanData); } } } -function postMessage(data: any, transfer: boolean, hiSysEnergy: HiSysEnergy, len: number): void { +function postMessage(data: unknown, transfer: boolean, hiSysEnergy: HiSysEnergy, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - id: hiSysEnergy.id.buffer, - startNs: hiSysEnergy.startNs.buffer, - count: hiSysEnergy.count.buffer, - type: hiSysEnergy.type.buffer, - token: hiSysEnergy.token.buffer, - dataType: hiSysEnergy.dataType.buffer, - } + id: hiSysEnergy.id.buffer, + startNs: hiSysEnergy.startNs.buffer, + count: hiSysEnergy.count.buffer, + type: hiSysEnergy.type.buffer, + token: hiSysEnergy.token.buffer, + dataType: hiSysEnergy.dataType.buffer, + } : {}, len: len, transfer: transfer, }, transfer ? [ - hiSysEnergy.id.buffer, - hiSysEnergy.startNs.buffer, - hiSysEnergy.count.buffer, - hiSysEnergy.type.buffer, - hiSysEnergy.token.buffer, - hiSysEnergy.dataType.buffer, - ] + hiSysEnergy.id.buffer, + hiSysEnergy.startNs.buffer, + hiSysEnergy.count.buffer, + hiSysEnergy.type.buffer, + hiSysEnergy.token.buffer, + hiSysEnergy.dataType.buffer, + ] : [] ); } @@ -375,33 +503,46 @@ class HiSysEnergy { token: Float64Array; dataType: Uint16Array; - constructor(data: any, res: any[], transfer: boolean) { + constructor(data: unknown, res: unknown[], transfer: boolean) { + // @ts-ignore this.id = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore this.startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); + // @ts-ignore this.count = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.count); + // @ts-ignore this.type = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.type); + // @ts-ignore this.token = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.token); + // @ts-ignore this.dataType = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.dataType); } } -function anomalyBufferHandler(data: any, res: any[], transfer: boolean): void { +function anomalyBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.energyData); + // @ts-ignore id[index] = it.id; + // @ts-ignore startNs[index] = it.startNs; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - id: id.buffer, - startNs: startNs.buffer, - } + id: id.buffer, + startNs: startNs.buffer, + } : {}, len: res.length, transfer: transfer, @@ -410,23 +551,30 @@ function anomalyBufferHandler(data: any, res: any[], transfer: boolean): void { ); } -function powerBufferHandler(data: any, res: any[], transfer: boolean): void { +function powerBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let id = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.energyData); + // @ts-ignore id[index] = it.id; + // @ts-ignore startNs[index] = it.startNs; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - id: id.buffer, - startNs: startNs.buffer, - } + id: id.buffer, + startNs: startNs.buffer, + } : {}, len: res.length, transfer: transfer, @@ -435,14 +583,21 @@ function powerBufferHandler(data: any, res: any[], transfer: boolean): void { ); } -function stateBufferHandler(data: any, res: any[], transfer: boolean): void { +function stateBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); + // @ts-ignore let eventValue = new Float32Array(transfer ? res.length : data.params.sharedArrayBuffers.eventValue); + // @ts-ignore let id = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.energyData); + // @ts-ignore id[index] = it.id; + // @ts-ignore startNs[index] = it.startNs; + // @ts-ignore let eventName = it.eventName.toLocaleLowerCase(); if (eventName.includes('sensor')) { if (eventName.includes('enable')) { @@ -451,19 +606,22 @@ function stateBufferHandler(data: any, res: any[], transfer: boolean): void { eventValue[index] = 1; } } else { + // @ts-ignore eventValue[index] = it.eventValue; } }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - id: id.buffer, - startNs: startNs.buffer, - eventValue: eventValue.buffer, - } + id: id.buffer, + startNs: startNs.buffer, + eventValue: eventValue.buffer, + } : {}, len: res.length, transfer: transfer, diff --git a/ide/src/trace/database/data-trafic/EnergySysEventSender.ts b/ide/src/trace/database/data-trafic/EnergySysEventSender.ts index 3408dfe70..783ca2b5f 100644 --- a/ide/src/trace/database/data-trafic/EnergySysEventSender.ts +++ b/ide/src/trace/database/data-trafic/EnergySysEventSender.ts @@ -46,7 +46,8 @@ export function energySysEventSender(row: TraceRow): Promise startNS: TraceRow.range?.startNS || 0, endNS: TraceRow.range?.endNS || 0, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { + // @ts-ignore resolve(systemBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -74,7 +75,7 @@ export function hiSysEnergyAnomalyDataSender(row: TraceRow) width: width, trafic: trafic, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(anomalyBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -102,7 +103,7 @@ export function hiSysEnergyPowerSender(row: TraceRow): Promis trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(powerBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); @@ -136,20 +137,26 @@ export function hiSysEnergyStateSender( trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(stateArrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function systemBufferHandler(res: any, len: number): any[] { +function systemBufferHandler(res: unknown, len: number): unknown[] { let outArr: EnergySystemStruct[] = []; + // @ts-ignore let startNs = new Float64Array(res.startNs); + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let count = new Uint32Array(res.count); + // @ts-ignore let type = new Uint32Array(res.type); + // @ts-ignore let token = new Float64Array(res.token); + // @ts-ignore let dataType = new Uint16Array(res.dataType); for (let index = 0; index < len; index++) { outArr.push({ @@ -164,9 +171,11 @@ function systemBufferHandler(res: any, len: number): any[] { return outArr; } -function anomalyBufferHandler(res: any, len: number): EnergyAnomalyStruct[] { +function anomalyBufferHandler(res: unknown, len: number): EnergyAnomalyStruct[] { let outArr: EnergyAnomalyStruct[] = []; + // @ts-ignore let startNs = new Float64Array(res.startNs); + // @ts-ignore let id = new Int32Array(res.id); for (let index = 0; index < len; index++) { outArr.push({ @@ -177,9 +186,11 @@ function anomalyBufferHandler(res: any, len: number): EnergyAnomalyStruct[] { return outArr; } -function powerBufferHandler(buffers: any, len: number): EnergyPowerStruct[] { +function powerBufferHandler(buffers: unknown, len: number): EnergyPowerStruct[] { let outArr: EnergyPowerStruct[] = []; + // @ts-ignore let startNs = new Float64Array(buffers.startNs); + // @ts-ignore let id = new Uint32Array(buffers.id); for (let i = 0; i < len; i++) { outArr.push({ @@ -190,10 +201,13 @@ function powerBufferHandler(buffers: any, len: number): EnergyPowerStruct[] { return outArr; } -function stateArrayBufferHandler(buffers: any, len: number): EnergyStateStruct[] { +function stateArrayBufferHandler(buffers: unknown, len: number): EnergyStateStruct[] { let outArr: EnergyStateStruct[] = []; + // @ts-ignore let startNs = new Float64Array(buffers.startNs); + // @ts-ignore let eventValue = new Float32Array(buffers.eventValue); + // @ts-ignore let id = new Uint32Array(buffers.id); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/FrameDynamicEffectReceiver.ts b/ide/src/trace/database/data-trafic/FrameDynamicEffectReceiver.ts index b5945244b..4bf5b14bf 100644 --- a/ide/src/trace/database/data-trafic/FrameDynamicEffectReceiver.ts +++ b/ide/src/trace/database/data-trafic/FrameDynamicEffectReceiver.ts @@ -15,18 +15,27 @@ import { TraficEnum } from './utils/QueryEnum'; import { FrameAnimationStruct } from '../ui-worker/ProcedureWorkerFrameAnimation'; import { FrameSpacingStruct } from '../ui-worker/ProcedureWorkerFrameSpacing'; -export const chartFrameAnimationDataProtoSql = (args: any): string => { +export const chartFrameAnimationDataProtoSql = (args: unknown): string => { return ` SELECT a.id AS animationId, 0 AS status, ( CASE WHEN a.input_time NOT NULL - THEN ( a.input_time - ${args.recordStartNS} ) - ELSE ( a.start_point - ${args.recordStartNS} ) + THEN ( a.input_time - ${ + // @ts-ignore + args.recordStartNS + } ) + ELSE ( a.start_point - ${ + // @ts-ignore + args.recordStartNS + } ) END ) AS startTs, - ( a.start_point - ${args.recordStartNS} ) AS endTs, + ( a.start_point - ${ + // @ts-ignore + args.recordStartNS + } ) AS endTs, a.name AS name FROM animation AS a @@ -36,17 +45,26 @@ export const chartFrameAnimationDataProtoSql = (args: any): string => { 1 AS status, ( CASE WHEN a.input_time NOT NULL - THEN ( a.input_time - ${args.recordStartNS} ) - ELSE ( a.start_point - ${args.recordStartNS} ) + THEN ( a.input_time - ${ + // @ts-ignore + args.recordStartNS + } ) + ELSE ( a.start_point - ${ + // @ts-ignore + args.recordStartNS + } ) END ) AS startTs, - ( a.end_point - ${args.recordStartNS} ) AS endTs, + ( a.end_point - ${ + // @ts-ignore + args.recordStartNS + } ) AS endTs, a.name AS name FROM animation AS a;`; }; -export const chartFrameDynamicDataMemSql = (args: any): string => { +export const chartFrameDynamicDataMemSql = (args: unknown): string => { return ` SELECT dy.id, @@ -55,15 +73,24 @@ export const chartFrameDynamicDataMemSql = (args: any): string => { dy.width, dy.height, dy.alpha, - (dy.end_time - ${args.recordStartNS}) AS ts, + (dy.end_time - ${ + // @ts-ignore + args.recordStartNS + }) AS ts, dy.name as appName FROM dynamic_frame AS dy - WHERE ts >= ${Math.floor(args.startNS)} - and ts <= ${Math.floor(args.endNS)}`; + WHERE ts >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and ts <= ${ + // @ts-ignore + Math.floor(args.endNS) + }`; }; -export const chartFrameSpacingDataMemSql = (args: any): string => { +export const chartFrameSpacingDataMemSql = (args: unknown): string => { return ` SELECT d.id, @@ -71,24 +98,36 @@ export const chartFrameSpacingDataMemSql = (args: any): string => { d.y, d.width AS currentFrameWidth, d.height AS currentFrameHeight, - (d.end_time - ${args.recordStartNS}) AS currentTs, + (d.end_time - ${ + // @ts-ignore + args.recordStartNS + }) AS currentTs, d.name AS nameId FROM dynamic_frame AS d - WHERE currentTs >= ${Math.floor(args.startNS)} - and currentTs <= ${Math.floor(args.endNS)};`; + WHERE currentTs >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and currentTs <= ${ + // @ts-ignore + Math.floor(args.endNS) + };`; }; -export function frameAnimationReceiver(data: any, proc: Function): void { +export function frameAnimationReceiver(data: unknown, proc: Function): void { + // @ts-ignore let res = proc(chartFrameAnimationDataProtoSql(data.params)); + // @ts-ignore let transfer = data.params.trafic !== TraficEnum.SharedArrayBuffer; let frameAnimation = new FrameAnimation(data, res, transfer); let unitIndex: number = 1; let isIntersect = (a: FrameAnimationStruct, b: FrameAnimationStruct): boolean => Math.max(a.startTs! + a.dur!, b.startTs! + b.dur!) - Math.min(a.startTs!, b.startTs!) < a.dur! + b.dur!; - let depths: any[] = []; + let depths: unknown[] = []; for (let index: number = 0; index < res.length; index++) { let itemData = res[index]; + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.frameAnimationData); itemData.dur = itemData.endTs - itemData.startTs; if (!itemData.dur || itemData.dur < 0) { @@ -101,6 +140,7 @@ export function frameAnimationReceiver(data: any, proc: Function): void { let depthIndex: number = 0; let isContinue: boolean = true; while (isContinue) { + // @ts-ignore if (isIntersect(depths[depthIndex], itemData)) { if (depths[depthIndex + unitIndex] === undefined || !depths[depthIndex + unitIndex]) { itemData.depth = depthIndex + unitIndex; @@ -124,10 +164,12 @@ export function frameAnimationReceiver(data: any, proc: Function): void { } postFrameAnimationMessage(data, transfer, frameAnimation, res.length); } -function postFrameAnimationMessage(data: any, transfer: boolean, frameAnimation: FrameAnimation, len: number): void { +function postFrameAnimationMessage(data: unknown, transfer: boolean, frameAnimation: FrameAnimation, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -162,48 +204,73 @@ class FrameAnimation { dur: Float64Array; depth: Uint16Array; - constructor(data: any, res: any[], transfer: boolean) { + constructor(data: unknown, res: unknown[], transfer: boolean) { + // @ts-ignore this.animationId = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.status = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.status); + // @ts-ignore this.startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs); + // @ts-ignore this.endTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.endTs); + // @ts-ignore this.dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore this.depth = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); } } -let frameSpacingList: Array = []; -let frameDynamic: Array = []; +let frameSpacingList: Array = []; +let frameDynamic: Array = []; export function resetDynamicEffect(): void { frameSpacingList = []; frameDynamic = []; } -export function frameDynamicReceiver(data: any, proc: Function): void { +export function frameDynamicReceiver(data: unknown, proc: Function): void { if (frameDynamic.length === 0) { + // @ts-ignore frameDynamic = proc(chartFrameDynamicDataMemSql(data.params)); } + // @ts-ignore let transfer = data.params.trafic !== TraficEnum.SharedArrayBuffer; + // @ts-ignore let id = new Uint16Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let x = new Float32Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.x); + // @ts-ignore let y = new Float32Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.y); + // @ts-ignore let width = new Float32Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.width); + // @ts-ignore let height = new Float32Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.height); + // @ts-ignore let alpha = new Float32Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.alpha); + // @ts-ignore let ts = new Float64Array(transfer ? frameDynamic.length : data.params.sharedArrayBuffers.ts); for (let index: number = 0; index < frameDynamic.length; index++) { let itemData = frameDynamic[index]; + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.frameDynamicData); + // @ts-ignore id[index] = itemData.id; + // @ts-ignore x[index] = Number(itemData.x); + // @ts-ignore y[index] = Number(itemData.y); + // @ts-ignore width[index] = Number(itemData.width); + // @ts-ignore height[index] = Number(itemData.height); + // @ts-ignore alpha[index] = Number(itemData.alpha); + // @ts-ignore ts[index] = itemData.ts; } (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -222,40 +289,60 @@ export function frameDynamicReceiver(data: any, proc: Function): void { transfer ? [id.buffer, x.buffer, y.buffer, width.buffer, height.buffer, alpha.buffer, ts.buffer] : [] ); } -export function frameSpacingReceiver(data: any, proc: Function): void { +export function frameSpacingReceiver(data: unknown, proc: Function): void { if (frameSpacingList.length === 0) { + // @ts-ignore frameSpacingList = proc(chartFrameSpacingDataMemSql(data.params)); } + // @ts-ignore let transfer = data.params.trafic !== TraficEnum.SharedArrayBuffer; let frameSpacing = new FrameSpacing(data, frameSpacingList, transfer); let nameDataMap: Map> = new Map(); for (let index: number = 0; index < frameSpacingList.length; index++) { let itemData = frameSpacingList[index]; + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.frameSpacingData); + // @ts-ignore if (nameDataMap.has(itemData.nameId)) { + // @ts-ignore setSpacingStructs(nameDataMap, itemData, data); } else { + // @ts-ignore setNameDataMap(nameDataMap, itemData); } + // @ts-ignore frameSpacing.id[index] = itemData.id; + // @ts-ignore frameSpacing.x[index] = Number(itemData.x); + // @ts-ignore frameSpacing.y[index] = Number(itemData.y); + // @ts-ignore frameSpacing.currentFrameWidth[index] = Number(itemData.currentFrameWidth); + // @ts-ignore frameSpacing.currentFrameHeight[index] = Number(itemData.currentFrameHeight); + // @ts-ignore frameSpacing.currentTs[index] = itemData.currentTs; + // @ts-ignore frameSpacing.frameSpacingResult[index] = Number(itemData.frameSpacingResult); + // @ts-ignore frameSpacing.preTs[index] = itemData.preTs; + // @ts-ignore frameSpacing.preFrameWidth[index] = Number(itemData.preFrameWidth); + // @ts-ignore frameSpacing.preFrameHeight[index] = Number(itemData.preFrameHeight); + // @ts-ignore frameSpacing.preX[index] = Number(itemData.preX); + // @ts-ignore frameSpacing.preY[index] = Number(itemData.preY); } postFrameSpacingMessage(data, transfer, frameSpacing, frameSpacingList.length); } -function postFrameSpacingMessage(data: any, transfer: boolean, frameSpacing: FrameSpacing, len: number): void { +function postFrameSpacingMessage(data: unknown, transfer: boolean, frameSpacing: FrameSpacing, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -297,7 +384,7 @@ function postFrameSpacingMessage(data: any, transfer: boolean, frameSpacing: Fra function setSpacingStructs( nameDataMap: Map>, itemData: FrameSpacingStruct, - data: any + data: unknown ): void { let unitIndex: number = 1; let secondToNanosecond: number = 1000_000_000; @@ -309,9 +396,13 @@ function setSpacingStructs( let heightDifference = Number(itemData.currentFrameHeight!) - Number(lastIndexData.currentFrameHeight!); let xDifference = Number(itemData.x!) - Number(lastIndexData.x!); let yDifference = Number(itemData.y!) - Number(lastIndexData.y!); + // @ts-ignore let frameWidth = Math.abs(widthDifference / data.params.physicalWidth / intervalTime); + // @ts-ignore let frameHeight = Math.abs(heightDifference / data.params.physicalHeight / intervalTime); + // @ts-ignore let frameX = Math.abs(xDifference / data.params.physicalWidth / intervalTime); + // @ts-ignore let frameY = Math.abs(yDifference / data.params.physicalHeight / intervalTime); let result = Math.max(frameWidth, frameHeight, frameX, frameY); itemData.frameSpacingResult = Number(result.toFixed(unitIndex)); @@ -346,18 +437,30 @@ class FrameSpacing { preX: Float32Array; preY: Float32Array; - constructor(data: any, len: any[], transfer: boolean) { + constructor(data: unknown, len: unknown[], transfer: boolean) { + // @ts-ignore this.id = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.x = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.y = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.currentFrameWidth = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.currentFrameHeight = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.currentTs = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.frameSpacingResult = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.preTs = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.preFrameWidth = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.preFrameHeight = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.preX = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); + // @ts-ignore this.preY = new Float32Array(transfer ? len : data.params.sharedArrayBuffers.animationId); } } diff --git a/ide/src/trace/database/data-trafic/FrameDynamicEffectSender.ts b/ide/src/trace/database/data-trafic/FrameDynamicEffectSender.ts index 6da0b2451..a6283fd8f 100644 --- a/ide/src/trace/database/data-trafic/FrameDynamicEffectSender.ts +++ b/ide/src/trace/database/data-trafic/FrameDynamicEffectSender.ts @@ -44,21 +44,29 @@ export function frameAnimationSender(row: TraceRow): Promi trafic: transferAnimationDataType, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { + // @ts-ignore resolve(animationBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function animationBufferHandler(res: any, len: number): any[] { - let recordNs: number = (window as any).recordStartNS; +function animationBufferHandler(res: unknown, len: number): unknown[] { + // @ts-ignore + let recordNs: number = (window as unknown).recordStartNS; let outArr = []; + // @ts-ignore let animationId = new Uint16Array(res.animationId); + // @ts-ignore let status = new Uint16Array(res.status); + // @ts-ignore let startTs = new Float64Array(res.startTs); + // @ts-ignore let endTs = new Float64Array(res.endTs); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let depth = new Uint16Array(res.depth); for (let index = 0; index < len; index++) { outArr.push({ @@ -102,21 +110,29 @@ export function frameDynamicSender(row: TraceRow): Promise { + (res: unknown, len: number, transfer: boolean): void => { + // @ts-ignore resolve(dynamicBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function dynamicBufferHandler(res: any, len: number): any[] { +function dynamicBufferHandler(res: unknown, len: number): unknown[] { let outArr = []; + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let x = new Float32Array(res.x); + // @ts-ignore let y = new Float32Array(res.y); + // @ts-ignore let width = new Float32Array(res.width); + // @ts-ignore let height = new Float32Array(res.height); + // @ts-ignore let alpha = new Float32Array(res.alpha); + // @ts-ignore let ts = new Float64Array(res.ts); for (let index = 0; index < len; index++) { outArr.push({ @@ -170,26 +186,39 @@ export function frameSpacingSender( trafic: transferSpacingDataType, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { + // @ts-ignore resolve(spacingBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function spacingBufferHandler(res: any, len: number): any[] { +function spacingBufferHandler(res: unknown, len: number): unknown[] { let outArr = []; + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let x = new Float32Array(res.x); + // @ts-ignore let y = new Float32Array(res.y); + // @ts-ignore let currentFrameWidth = new Float32Array(res.currentFrameWidth); + // @ts-ignore let currentFrameHeight = new Float32Array(res.currentFrameHeight); + // @ts-ignore let currentTs = new Float64Array(res.currentTs); + // @ts-ignore let frameSpacingResult = new Float32Array(res.frameSpacingResult); + // @ts-ignore let preTs = new Float64Array(res.preTs); + // @ts-ignore let preFrameWidth = new Float32Array(res.preFrameWidth); + // @ts-ignore let preFrameHeight = new Float32Array(res.preFrameHeight); + // @ts-ignore let preX = new Float32Array(res.preX); + // @ts-ignore let preY = new Float32Array(res.preY); for (let index = 0; index < len; index++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/FrameJanksReceiver.ts b/ide/src/trace/database/data-trafic/FrameJanksReceiver.ts index 05d64f087..f5cbad3e8 100644 --- a/ide/src/trace/database/data-trafic/FrameJanksReceiver.ts +++ b/ide/src/trace/database/data-trafic/FrameJanksReceiver.ts @@ -15,7 +15,7 @@ import { TraficEnum } from './utils/QueryEnum'; import { JanksStruct } from '../../bean/JanksStruct'; import { processFrameList } from './utils/AllMemoryCache'; -export const frameJankDataSql = (args: any, configure: any): string => { +export const frameJankDataSql = (args: unknown, configure: unknown): string => { let timeLimit: string = ''; let flag: string = ''; let fsType: number = -1; @@ -29,8 +29,14 @@ export const frameJankDataSql = (args: any, configure: any): string => { fsType = 1; flag = 'fs.flag as jankTag,'; timeLimit = ` - AND (fs.ts - ${args.recordStartNS} + fs.dur) >= ${Math.floor(args.startNS)} - AND (fs.ts - ${args.recordStartNS}) <= ${Math.floor(args.endNS)}`; + AND (fs.ts - ${ + // @ts-ignore + args.recordStartNS} + fs.dur) >= ${Math.floor(args.startNS) + } + AND (fs.ts - ${ + // @ts-ignore + args.recordStartNS}) <= ${Math.floor(args.endNS) + }`; break; case 'ActualMemoryData': fsType = 0; @@ -41,8 +47,17 @@ export const frameJankDataSql = (args: any, configure: any): string => { fsType = 0; flag = '(case when (sf.flag == 1 or fs.flag == 1 ) then 1 when (sf.flag == 3 or fs.flag == 3 ) then 3 else 0 end) as jankTag,'; fsFlag = 'AND fs.flag <> 2'; - timeLimit = `AND (fs.ts - ${args.recordStartNS} + fs.dur) >= ${Math.floor(args.startNS)} - AND (fs.ts - ${args.recordStartNS}) <= ${Math.floor(args.endNS)}`; + timeLimit = `AND (fs.ts - ${ + // @ts-ignore + args.recordStartNS + } + fs.dur) >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + AND (fs.ts - ${ + // @ts-ignore + args.recordStartNS}) <= ${Math.floor(args.endNS) + }`; break; default: break; @@ -50,19 +65,25 @@ export const frameJankDataSql = (args: any, configure: any): string => { let sql = setFrameJanksSql(args, timeLimit, flag, fsType, fsFlag); return sql; }; -function setFrameJanksSql(args: any, timeLimit: string, flag: string, fsType: number, fsFlag: string): string { +function setFrameJanksSql(args: unknown, timeLimit: string, flag: string, fsType: number, fsFlag: string): string { return `SELECT sf.id, 'frameTime' as frameType, fs.ipid, fs.vsync as name, fs.dur as appDur, (sf.ts + sf.dur - fs.ts) as dur, - (fs.ts - ${args.recordStartNS}) AS ts, + (fs.ts - ${ + // @ts-ignore + args.recordStartNS + }) AS ts, fs.type, ${flag} pro.pid, pro.name as cmdline, - (sf.ts - ${args.recordStartNS}) AS rsTs, + (sf.ts - ${ + // @ts-ignore + args.recordStartNS + }) AS rsTs, sf.vsync AS rsVsync, sf.dur AS rsDur, sf.ipid AS rsIpid, @@ -82,7 +103,10 @@ function setFrameJanksSql(args: any, timeLimit: string, flag: string, fsType: nu fs.vsync as name, fs.dur as appDur, fs.dur, - (fs.ts - ${args.recordStartNS}) AS ts, + (fs.ts - ${ + // @ts-ignore + args.recordStartNS + }) AS ts, fs.type, fs.flag as jankTag, pro.pid, @@ -96,60 +120,74 @@ function setFrameJanksSql(args: any, timeLimit: string, flag: string, fsType: nu ORDER by ts`; } -export function frameExpectedReceiver(data: any, proc: Function): void { +export function frameExpectedReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (!processFrameList.has('FrameTimeLine_expected')) { + // @ts-ignore let sql = frameJankDataSql(data.params, 'ExepectMemory'); processFrameList.set('FrameTimeLine_expected', proc(sql)); } frameJanksReceiver(data, processFrameList.get('FrameTimeLine_expected')!, 'expected', true); } else { + // @ts-ignore let sql = frameJankDataSql(data.params, 'ExpectedData'); let res = proc(sql); + // @ts-ignore frameJanksReceiver(data, res, 'expect', data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function frameActualReceiver(data: any, proc: Function): void { +export function frameActualReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { if (!processFrameList.has('FrameTimeLine_actual')) { + // @ts-ignore let sql = frameJankDataSql(data.params, 'ActualMemoryData'); processFrameList.set('FrameTimeLine_actual', proc(sql)); } frameJanksReceiver(data, processFrameList.get('FrameTimeLine_actual')!, 'actual', true); } else { + // @ts-ignore let sql = frameJankDataSql(data.params, 'ActualData'); let res = proc(sql); + // @ts-ignore frameJanksReceiver(data, res, 'actual', data.params.trafic !== TraficEnum.SharedArrayBuffer); } } let isIntersect = (leftData: JanksStruct, rightData: JanksStruct): boolean => Math.max(leftData.ts! + leftData.dur!, rightData.ts! + rightData.dur!) - Math.min(leftData.ts!, rightData.ts!) < leftData.dur! + rightData.dur!; -function frameJanksReceiver(data: any, res: any[], type: string, transfer: boolean): void { +function frameJanksReceiver(data: unknown, res: unknown[], type: string, transfer: boolean): void { let frameJanks = new FrameJanks(data, transfer, res.length); let unitIndex: number = 1; - let depths: any[] = []; + let depths: unknown[] = []; for (let index = 0; index < res.length; index++) { let item = res[index]; + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (item = item.frameData); + // @ts-ignore if (!item.dur || item.dur < 0) { continue; } if (depths.length === 0) { + // @ts-ignore item.depth = 0; depths[0] = item; } else { let depthIndex: number = 0; let isContinue: boolean = true; while (isContinue) { + // @ts-ignore if (isIntersect(depths[depthIndex], item)) { if (depths[depthIndex + unitIndex] === undefined || !depths[depthIndex + unitIndex]) { + // @ts-ignore item.depth = depthIndex + unitIndex; depths[depthIndex + unitIndex] = item; isContinue = false; } } else { + // @ts-ignore item.depth = depthIndex; depths[depthIndex] = item; isContinue = false; @@ -161,21 +199,36 @@ function frameJanksReceiver(data: any, res: any[], type: string, transfer: boole } postFrameJanksMessage(data, transfer, frameJanks, res.length); } -function setFrameJanks(frameJanks: FrameJanks, itemData: any, index: number): void { +function setFrameJanks(frameJanks: FrameJanks, itemData: unknown, index: number): void { + // @ts-ignore frameJanks.id[index] = itemData.id; + // @ts-ignore frameJanks.ipId[index] = itemData.ipid; + // @ts-ignore frameJanks.name[index] = itemData.name; + // @ts-ignore frameJanks.appDur[index] = itemData.appDur; + // @ts-ignore frameJanks.dur[index] = itemData.dur; + // @ts-ignore frameJanks.ts[index] = itemData.ts; + // @ts-ignore frameJanks.jankTag[index] = itemData.jankTag ? itemData.jankTag : 0; + // @ts-ignore frameJanks.pid[index] = itemData.pid; + // @ts-ignore frameJanks.rsTs[index] = itemData.rsTs; + // @ts-ignore frameJanks.rsVsync[index] = itemData.rsVsync; + // @ts-ignore frameJanks.rsDur[index] = itemData.rsDur; + // @ts-ignore frameJanks.rsIpId[index] = itemData.rsIpid; + // @ts-ignore frameJanks.rsPid[index] = itemData.rsPid; + // @ts-ignore frameJanks.rsName[index] = itemData.rsName; + // @ts-ignore frameJanks.depth[index] = itemData.depth; } function setResults(transfer: boolean, frameJanks: FrameJanks): unknown { @@ -199,11 +252,13 @@ function setResults(transfer: boolean, frameJanks: FrameJanks): unknown { } : {}; } -function postFrameJanksMessage(data: any, transfer: boolean, frameJanks: FrameJanks, len: number): void { +function postFrameJanksMessage(data: unknown, transfer: boolean, frameJanks: FrameJanks, len: number): void { let results = setResults(transfer, frameJanks); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: results, len: len, @@ -246,21 +301,36 @@ class FrameJanks { rsPid: Uint16Array; rsName: Int32Array; depth: Uint16Array; - constructor(data: any, transfer: boolean, len: number) { + constructor(data: unknown, transfer: boolean, len: number) { + // @ts-ignore this.id = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.id); + // @ts-ignore this.ipId = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.ipid); + // @ts-ignore this.name = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.name); + // @ts-ignore this.appDur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.app_dur); + // @ts-ignore this.dur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.dur); + // @ts-ignore this.ts = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.ts); + // @ts-ignore this.jankTag = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.jank_tag); + // @ts-ignore this.pid = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.pid); + // @ts-ignore this.rsTs = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.rs_ts); + // @ts-ignore this.rsVsync = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.rs_vsync); + // @ts-ignore this.rsDur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.rs_dur); + // @ts-ignore this.rsIpId = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.rs_ipid); + // @ts-ignore this.rsPid = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.rs_pid); + // @ts-ignore this.rsName = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.rs_name); + // @ts-ignore this.depth = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.depth); } } diff --git a/ide/src/trace/database/data-trafic/FrameJanksSender.ts b/ide/src/trace/database/data-trafic/FrameJanksSender.ts index 4fc2e7e37..b2bd6b537 100644 --- a/ide/src/trace/database/data-trafic/FrameJanksSender.ts +++ b/ide/src/trace/database/data-trafic/FrameJanksSender.ts @@ -52,29 +52,45 @@ export function frameJanksSender(queryEnum: number, row: TraceRow): trafic: transferJankDataType, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { + // @ts-ignore resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): any[] { +function arrayBufferHandler(res: unknown, len: number): unknown[] { let outArr = []; + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let ipId = new Uint16Array(res.ipid); + // @ts-ignore let nameId = new Int32Array(res.name); + // @ts-ignore let app_dur = new Float64Array(res.app_dur); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let ts = new Float64Array(res.ts); + // @ts-ignore let jank_tag = new Uint16Array(res.jank_tag); + // @ts-ignore let pid = new Uint16Array(res.pid); + // @ts-ignore let rsTs = new Float64Array(res.rs_ts); + // @ts-ignore let rs_vsync = new Int32Array(res.rs_vsync); + // @ts-ignore let rs_dur = new Float64Array(res.rs_dur); + // @ts-ignore let rs_ipId = new Uint16Array(res.rs_ipid); + // @ts-ignore let rs_pid = new Uint16Array(res.rs_pid); + // @ts-ignore let rs_name = new Int32Array(res.rs_name); + // @ts-ignore let depth = new Uint16Array(res.depth); for (let index = 0; index < len; index++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/HiSysEventDataReceiver.ts b/ide/src/trace/database/data-trafic/HiSysEventDataReceiver.ts index 718dcb90b..5e262f08b 100644 --- a/ide/src/trace/database/data-trafic/HiSysEventDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/HiSysEventDataReceiver.ts @@ -16,10 +16,11 @@ import { TraficEnum } from './utils/QueryEnum'; import { hiSysEventList } from './utils/AllMemoryCache'; import { filterDataByGroupLayer } from './utils/DataFilter'; -export const chartHiSysEventDataSql = (args: any): string => { +export const chartHiSysEventDataSql = (args: unknown): string => { return ` SELECT S.id, (S.ts - ${ + // @ts-ignore args.recordStartNS }) AS startNs, pid, @@ -32,26 +33,35 @@ export const chartHiSysEventDataSql = (args: any): string => { END AS depth, 1 AS dur, - ((S.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) + (CASE + ((S.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) + (CASE WHEN S.level = 'MINOR' THEN 0 WHEN S.level = 'CRITICAL' THEN 1 END * ${ + // @ts-ignore args.width }) AS px FROM hisys_all_event AS S where S.id is not null - and startNs + dur >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs + dur >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px`; }; -export const chartHiSysEventSql = (args: any): string => { +export const chartHiSysEventSql = (args: unknown): string => { return ` SELECT S.id, - (S.ts - ${args.recordStartNS}) AS startNs, + (S.ts - ${ + // @ts-ignore + args.recordStartNS}) AS startNs, pid, tid, uid, @@ -67,53 +77,83 @@ export const chartHiSysEventSql = (args: any): string => { ORDER BY S.id`; }; -export function hiSysEventDataReceiver(data: any, proc: Function): void { +export function hiSysEventDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { + // @ts-ignore if (!hiSysEventList.has(data.params.id)) { + // @ts-ignore let sql = chartHiSysEventSql(data.params); + // @ts-ignore hiSysEventList.set(data.params.id, proc(sql)); } + // @ts-ignore let list = hiSysEventList.get(data.params.id) || []; let res = filterDataByGroupLayer( list || [], 'depth', 'startNs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width ); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = chartHiSysEventDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let id = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let ts = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.ts); + // @ts-ignore let pid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); + // @ts-ignore let tid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); + // @ts-ignore let seq = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.seq); + // @ts-ignore let uid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.uid); + // @ts-ignore let dur = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let depth = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiSysEventData); + // @ts-ignore uid[index] = it.uid; + // @ts-ignore id[index] = it.id; + // @ts-ignore ts[index] = it.startNs || it.ts; + // @ts-ignore pid[index] = it.pid; + // @ts-ignore tid[index] = it.tid; + // @ts-ignore seq[index] = it.seq; + // @ts-ignore dur[index] = it.dur; + // @ts-ignore depth[index] = it.depth; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/HiSysEventDataSender.ts b/ide/src/trace/database/data-trafic/HiSysEventDataSender.ts index b07750ab2..eb042b2a3 100644 --- a/ide/src/trace/database/data-trafic/HiSysEventDataSender.ts +++ b/ide/src/trace/database/data-trafic/HiSysEventDataSender.ts @@ -45,22 +45,30 @@ export function hiSysEventDataSender(row: TraceRow): Promise { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): HiSysEventStruct[] { +function arrayBufferHandler(res: unknown, len: number): HiSysEventStruct[] { let outArr: HiSysEventStruct[] = []; + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let ts = new Float64Array(res.ts); + // @ts-ignore let pid = new Uint16Array(res.pid); + // @ts-ignore let tid = new Uint16Array(res.tid); + // @ts-ignore let uid = new Uint16Array(res.uid); + // @ts-ignore let seq = new Float64Array(res.seq); + // @ts-ignore let dur = new Uint16Array(res.dur); + // @ts-ignore let depth = new Uint16Array(res.depth); for (let index = 0; index < len; index++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/IrqDataReceiver.ts b/ide/src/trace/database/data-trafic/IrqDataReceiver.ts index 40ab17f7b..283196be0 100644 --- a/ide/src/trace/database/data-trafic/IrqDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/IrqDataReceiver.ts @@ -15,10 +15,12 @@ import { TraficEnum } from './utils/QueryEnum'; import { filterDataByGroup } from './utils/DataFilter'; import { lrqList } from './utils/AllMemoryCache'; -export const chartIrqDataSql = (args: any): string => { +export const chartIrqDataSql = (args: unknown): string => { + // @ts-ignore if (args.name === 'irq') { return ` select i.ts - ${ + // @ts-ignore args.recordStartNS } as startNs, max(i.dur) as dur, @@ -26,34 +28,53 @@ export const chartIrqDataSql = (args: any): string => { ifnull(argsetid, -1) as argSetId, i.id, case when i.cat = 'ipi' then 'IPI' || i.name else i.name end as name, - ((i.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + ((i.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px from irq i - where i.callid = ${args.cpu} + where i.callid = ${ + // @ts-ignore + args.cpu} and ((i.cat = 'irq' and i.flag = '1') or i.cat = 'ipi') - and startNs + dur >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs + dur >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px; `; } else { return ` - select i.ts - ${args.recordStartNS} as startNs, + select i.ts - ${ + // @ts-ignore + args.recordStartNS} as startNs, max(i.dur) as dur, i.depth, ifnull(argsetid,-1) as argSetId, i.id, i.name, - ((i.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px + ((i.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) as px from irq i - where i.callid = ${args.cpu} + where i.callid = ${ + // @ts-ignore + args.cpu} and i.cat = 'softirq' - and startNs + dur >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs + dur >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px; `; } }; -export const chartIrqDataSqlMem = (args: any): string => { +export const chartIrqDataSqlMem = (args: unknown): string => { + // @ts-ignore if (args.name === 'irq') { return ` select i.ts - t.start_ts as startNs,i.dur, @@ -62,52 +83,77 @@ export const chartIrqDataSqlMem = (args: any): string => { ifnull(argsetid, -1) as argSetId, i.id from irq i,trace_range t - where i.callid = ${args.cpu} and ((i.cat = 'irq' and i.flag ='1') or i.cat = 'ipi') + where i.callid = ${ + // @ts-ignore + args.cpu} and ((i.cat = 'irq' and i.flag ='1') or i.cat = 'ipi') `; } else { return ` select i.ts - t.start_ts as startNs,i.dur,i.name,i.depth,ifnull(argsetid, -1) as argSetId,i.id from irq i, -trace_range t where i.callid = ${args.cpu} and i.cat = 'softirq' +trace_range t where i.callid = ${ + // @ts-ignore + args.cpu} and i.cat = 'softirq' `; } }; -export function irqDataReceiver(data: any, proc: Function): void { +export function irqDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[]; - let list: any[]; + let res: unknown[]; + let list: unknown[]; + // @ts-ignore if (!lrqList.has(data.params.cpu + data.params.name)) { + // @ts-ignore list = proc(chartIrqDataSqlMem(data.params)); + // @ts-ignore lrqList.set(data.params.cpu + data.params.name, list); } else { + // @ts-ignore list = lrqList.get(data.params.cpu + data.params.name) || []; } + // @ts-ignore res = filterDataByGroup(list || [], 'startNs', 'dur', data.params.startNS, data.params.endNS, data.params.width); arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartIrqDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let depth = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); + // @ts-ignore let argSetId = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.argSetId); + // @ts-ignore let id = new Uint32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.irqData); + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore depth[i] = it.depth; + // @ts-ignore argSetId[i] = it.argSetId; + // @ts-ignore id[i] = it.id; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/IrqDataSender.ts b/ide/src/trace/database/data-trafic/IrqDataSender.ts index f7d8a2086..7bb3a5c37 100644 --- a/ide/src/trace/database/data-trafic/IrqDataSender.ts +++ b/ide/src/trace/database/data-trafic/IrqDataSender.ts @@ -43,18 +43,23 @@ export function irqDataSender(cpu: number, name: string, row: TraceRow + (res: unknown, len: number, transfer: boolean) => resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)) ); }); } -function arrayBufferHandler(buffers: any, len: number): IrqStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): IrqStruct[] { let outArr: IrqStruct[] = []; + // @ts-ignore let argSetId = new Int32Array(buffers.argSetId); + // @ts-ignore let depth = new Uint32Array(buffers.depth); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Float64Array(buffers.dur); + // @ts-ignore let id = new Uint32Array(buffers.id); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/LogDataReceiver.ts b/ide/src/trace/database/data-trafic/LogDataReceiver.ts index 1030c282a..9a03691ab 100644 --- a/ide/src/trace/database/data-trafic/LogDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/LogDataReceiver.ts @@ -16,13 +16,17 @@ import { TraficEnum } from './utils/QueryEnum'; import { hiLogList } from './utils/AllMemoryCache'; import { filterDataByGroupLayer } from './utils/DataFilter'; -export const chartLogDataSql = (args: any): string => { +export const chartLogDataSql = (args: unknown): string => { return `SELECT l.seq AS id, l.pid, l.tid, CASE - WHEN l.ts < ${args.oneDayTime} THEN 0 - ELSE (l.ts - ${args.recordStartNS}) + WHEN l.ts < ${ + // @ts-ignore + args.oneDayTime} THEN 0 + ELSE (l.ts - ${ + // @ts-ignore + args.recordStartNS}) END AS startTs, CASE WHEN l.level = 'D' THEN 0 @@ -32,34 +36,54 @@ export const chartLogDataSql = (args: any): string => { WHEN l.level = 'F' THEN 4 END AS depth, 1 AS dur, - ((l.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) + + ((l.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) + CASE WHEN l.level = 'D' THEN 0 WHEN l.level = 'I' THEN 1 WHEN l.level = 'W' THEN 2 WHEN l.level = 'E' THEN 3 WHEN l.level = 'F' THEN 4 - END * ${args.width} AS px + END * ${ + // @ts-ignore + args.width} AS px FROM (SELECT DISTINCT seq FROM log) AS inner_log JOIN log AS l ON l.seq = inner_log.seq WHERE (CASE - WHEN l.ts < ${args.oneDayTime} THEN 0 - ELSE (l.ts - ${args.recordStartNS}) - END) + 1 >= ${Math.floor(args.startNS)} + WHEN l.ts < ${ + // @ts-ignore + args.oneDayTime} THEN 0 + ELSE (l.ts - ${ + // @ts-ignore + args.recordStartNS}) + END) + 1 >= ${ + // @ts-ignore + Math.floor(args.startNS)} AND (CASE - WHEN l.ts < ${args.oneDayTime} THEN 0 - ELSE (l.ts - ${args.recordStartNS}) - END) <= ${Math.floor(args.endNS)} + WHEN l.ts < ${ + // @ts-ignore + args.oneDayTime} THEN 0 + ELSE (l.ts - ${ + // @ts-ignore + args.recordStartNS}) + END) <= ${ + // @ts-ignore + Math.floor(args.endNS)} GROUP BY px`; }; -export const chartLogDataMemorySql = (args: any): string => { +export const chartLogDataMemorySql = (args: unknown): string => { return `SELECT l.seq AS id, l.pid, l.tid, CASE - WHEN l.ts < ${args.oneDayTime} THEN 0 - ELSE (l.ts - ${args.recordStartNS}) + WHEN l.ts < ${ + // @ts-ignore + args.oneDayTime} THEN 0 + ELSE (l.ts - ${ + // @ts-ignore + args.recordStartNS}) END AS startTs, CASE WHEN l.level = 'D' THEN 0 @@ -74,50 +98,76 @@ export const chartLogDataMemorySql = (args: any): string => { ORDER BY l.seq`; }; -export function logDataReceiver(data: any, proc: Function): void { +export function logDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { + // @ts-ignore if (!hiLogList.has(data.params.id)) { + // @ts-ignore let sql = chartLogDataMemorySql(data.params); + // @ts-ignore hiLogList.set(data.params.id, proc(sql)); } + // @ts-ignore let list = hiLogList.get(data.params.id) || []; let res = filterDataByGroupLayer( list || [], 'depth', 'startTs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width ); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } else { + // @ts-ignore let sql = chartLogDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let id = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.id); + // @ts-ignore let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs); + // @ts-ignore let pid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); + // @ts-ignore let tid = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); + // @ts-ignore let dur = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let depth = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); res.forEach((it, index) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.logData); + // @ts-ignore id[index] = it.id; + // @ts-ignore startTs[index] = it.startTs; + // @ts-ignore pid[index] = it.pid; + // @ts-ignore tid[index] = it.tid; + // @ts-ignore dur[index] = it.dur; + // @ts-ignore depth[index] = it.depth; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/LogDataSender.ts b/ide/src/trace/database/data-trafic/LogDataSender.ts index 8fe192569..dcc5e0a7c 100644 --- a/ide/src/trace/database/data-trafic/LogDataSender.ts +++ b/ide/src/trace/database/data-trafic/LogDataSender.ts @@ -43,20 +43,27 @@ export function LogDataSender(row: TraceRow): Promise { sharedArrayBuffers: row.sharedArrayBuffers, oneDayTime: window.recordEndNS - ONE_DAY_NS, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { + // @ts-ignore resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): any[] { +function arrayBufferHandler(res: unknown, len: number): unknown[] { let outArr: LogStruct[] = []; + // @ts-ignore let id = new Uint16Array(res.id); + // @ts-ignore let startTs = new Float64Array(res.startTs); + // @ts-ignore let pid = new Uint16Array(res.pid); + // @ts-ignore let tid = new Uint16Array(res.tid); + // @ts-ignore let dur = new Uint16Array(res.dur); + // @ts-ignore let depth = new Uint16Array(res.depth); for (let index = 0; index < len; index++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/LostFrameSender.ts b/ide/src/trace/database/data-trafic/LostFrameSender.ts index 8d80e14cb..f67fd8dab 100644 --- a/ide/src/trace/database/data-trafic/LostFrameSender.ts +++ b/ide/src/trace/database/data-trafic/LostFrameSender.ts @@ -40,7 +40,7 @@ export function lostFrameSender(tName: String, fName: String, row: TraceRow { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); diff --git a/ide/src/trace/database/data-trafic/NativeMemoryDataReceiver.ts b/ide/src/trace/database/data-trafic/NativeMemoryDataReceiver.ts index c8df668c7..bfc600ed3 100644 --- a/ide/src/trace/database/data-trafic/NativeMemoryDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/NativeMemoryDataReceiver.ts @@ -78,31 +78,35 @@ function nativeMemoryChartDataCacheSql(model: string, startNS: number, endNS: nu } } -function normalChartDataHandler(data: Array, key: string, totalNS: number): void { +function normalChartDataHandler(data: Array, key: string, totalNS: number): void { let nmFilterLen = data.length; let nmFilterLevel = getFilterLevel(nmFilterLen); tempSize = 0; tempDensity = 0; - data.map((ne: any, index: number): void => mergeNormalChartData(ne, nmFilterLevel, index === nmFilterLen - 1, key)); + data.map((ne: unknown, index: number): void => mergeNormalChartData(ne, nmFilterLevel, index === nmFilterLen - 1, key)); let cache = dataCache.normalCache.get(key); if (cache && cache.dataList.length > 0) { cache.dataList[cache.dataList.length - 1].dur = totalNS - cache.dataList[cache.dataList.length - 1].startTime!; } } -function mergeNormalChartData(ne: any, filterLevel: number, finish: boolean, key: string): void { +function mergeNormalChartData(ne: unknown, filterLevel: number, finish: boolean, key: string): void { let item = { + // @ts-ignore startTime: ne.startTime, density: 0, heapSize: 0, dur: 0, }; if (!dataCache.normalCache.has(key)) { + // @ts-ignore if (ne.eventType === 0 || ne.eventType === 1) { item.density = 1; + // @ts-ignore item.heapSize = ne.heapSize; } else { item.density = -1; + // @ts-ignore item.heapSize = 0 - ne.heapSize; } dataCache.normalCache.set(key, { @@ -117,80 +121,116 @@ function mergeNormalChartData(ne: any, filterLevel: number, finish: boolean, key } } -function mergeData(item: any, ne: any, filterLevel: number, finish: boolean, key: string): void { +function mergeData(item: unknown, ne: unknown, filterLevel: number, finish: boolean, key: string): void { let data = dataCache.normalCache.get(key); if (data) { let last = data.dataList[data.dataList.length - 1]; + // @ts-ignore last.dur = item.startTime! - last.startTime!; if (last.dur > filterLevel || finish) { + // @ts-ignore if (ne.eventType === 0 || ne.eventType === 1) { + // @ts-ignore item.density = last.density! + tempDensity + 1; + // @ts-ignore item.heapSize = last.heapSize! + tempSize + ne.heapSize; } else { + // @ts-ignore item.density = last.density! + tempDensity - 1; + // @ts-ignore item.heapSize = last.heapSize! + tempSize - ne.heapSize; } tempDensity = 0; tempSize = 0; + // @ts-ignore data.maxDensity = Math.max(item.density, data.maxDensity); + // @ts-ignore data.minDensity = Math.min(item.density, data.minDensity); + // @ts-ignore data.maxSize = Math.max(item.heapSize, data.maxSize); + // @ts-ignore data.minSize = Math.min(item.heapSize, data.minSize); + // @ts-ignore data.dataList.push(item); } else { + // @ts-ignore if (ne.eventType === 0 || ne.eventType === 1) { tempDensity += 1; + // @ts-ignore tempSize += ne.heapSize; } else { tempDensity -= 1; + // @ts-ignore tempSize -= ne.heapSize; } } } } -function statisticChartHandler(arr: Array, key: string, totalNS: number): void { - let callGroupMap: Map = new Map(); - let obj: any = {}; +function statisticChartHandler(arr: Array, key: string, totalNS: number): void { + let callGroupMap: Map = new Map(); + let obj: unknown = {}; for (let hook of arr) { + // @ts-ignore if (obj[hook.startTs]) { + // @ts-ignore let data = obj[hook.startTs]; + // @ts-ignore data.startTime = hook.startTs; data.dur = 0; + // @ts-ignore if (callGroupMap.has(hook.callchainId)) { + // @ts-ignore let calls = callGroupMap.get(hook.callchainId); let last = calls![calls!.length - 1]; + // @ts-ignore data.heapSize += hook.applySize - last.applySize - (hook.releaseSize - last.releaseSize); + // @ts-ignore data.density += hook.applyCount - last.applyCount - (hook.releaseCount - last.releaseCount); calls!.push(hook); } else { + // @ts-ignore data.heapSize += hook.applySize - hook.releaseSize; + // @ts-ignore data.density += hook.applyCount - hook.releaseCount; + // @ts-ignore callGroupMap.set(hook.callchainId, [hook]); } } else { - let data: any = {}; + let data: unknown = {}; + // @ts-ignore data.startTime = hook.startTs; + // @ts-ignore data.dur = 0; + // @ts-ignore if (callGroupMap.has(hook.callchainId)) { + // @ts-ignore let calls = callGroupMap.get(hook.callchainId); let last = calls![calls!.length - 1]; + // @ts-ignore data.heapSize = hook.applySize - last.applySize - (hook.releaseSize - last.releaseSize); + // @ts-ignore data.density = hook.applyCount - last.applyCount - (hook.releaseCount - last.releaseCount); calls!.push(hook); } else { + // @ts-ignore data.heapSize = hook.applySize - hook.releaseSize; + // @ts-ignore data.density = hook.applyCount - hook.releaseCount; + // @ts-ignore callGroupMap.set(hook.callchainId, [hook]); } + // @ts-ignore obj[hook.startTs] = data; } } let cache = setStatisticsCacheMapValue(obj, totalNS); + // @ts-ignore dataCache.statisticsCache.set(key, cache); } -function setStatisticsCacheMapValue(obj: any, totalNS: number): any { +function setStatisticsCacheMapValue(obj: unknown, totalNS: number): unknown { + // @ts-ignore let source = Object.values(obj) as { startTime: number; heapSize: number; @@ -220,18 +260,21 @@ function setStatisticsCacheMapValue(obj: any, totalNS: number): any { return cache; } -function cacheNativeMemoryChartData(model: string, totalNS: number, processes: number[], data: Array): void { +function cacheNativeMemoryChartData(model: string, totalNS: number, processes: number[], data: Array): void { processes.forEach((ipid) => { + // @ts-ignore let processData = data.filter((ne) => ne.ipid === ipid); if (model === 'native_hook') { //正常模式 normalChartDataHandler(processData, `${ipid}-0`, totalNS); normalChartDataHandler( + // @ts-ignore processData.filter((ne) => ne.eventType === 0 || ne.eventType === 2), `${ipid}-1`, totalNS ); normalChartDataHandler( + // @ts-ignore processData.filter((ne) => ne.eventType === 1 || ne.eventType === 3), `${ipid}-2`, totalNS @@ -240,11 +283,13 @@ function cacheNativeMemoryChartData(model: string, totalNS: number, processes: n //统计模式 statisticChartHandler(processData, `${ipid}-0`, totalNS); statisticChartHandler( + // @ts-ignore processData.filter((ne) => ne.type === 0), `${ipid}-1`, totalNS ); statisticChartHandler( + // @ts-ignore processData.filter((ne) => ne.type > 0), `${ipid}-2`, totalNS @@ -277,41 +322,60 @@ export function nativeMemoryCacheClear() { dataCache.statisticsCache.clear(); } -export function nativeMemoryDataHandler(data: any, proc: Function): void { +export function nativeMemoryDataHandler(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.isCache) { dataCache.normalCache.clear(); dataCache.statisticsCache.clear(); - let res: Array = proc( + let res: Array = proc( + // @ts-ignore nativeMemoryChartDataCacheSql(data.params.model, data.params.recordStartNS, data.params.recordEndNS) ); + // @ts-ignore if (data.params.trafic === TraficEnum.ProtoBuffer) { res = res.map((item) => { + // @ts-ignore if (data.params.model === 'native_hook') { return { + // @ts-ignore startTime: item.nativeMemoryNormal.startTime || 0, + // @ts-ignore heapSize: item.nativeMemoryNormal.heapSize || 0, + // @ts-ignore eventType: item.nativeMemoryNormal.eventType || 0, + // @ts-ignore ipid: item.nativeMemoryNormal.ipid || 0, }; } else { return { + // @ts-ignore callchainId: item.nativeMemoryStatistic.callchainId || 0, + // @ts-ignore startTs: item.nativeMemoryStatistic.startTs || 0, + // @ts-ignore applyCount: item.nativeMemoryStatistic.applyCount || 0, + // @ts-ignore applySize: item.nativeMemoryStatistic.applySize || 0, + // @ts-ignore releaseCount: item.nativeMemoryStatistic.releaseCount || 0, + // @ts-ignore releaseSize: item.nativeMemoryStatistic.releaseSize || 0, + // @ts-ignore ipid: item.nativeMemoryStatistic.ipid || 0, + // @ts-ignore type: item.nativeMemoryStatistic.type || 0, }; } }); } + // @ts-ignore cacheNativeMemoryChartData(data.params.model, data.params.totalNS, data.params.processes, res); res.length = 0; (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: 'ok', len: 0, @@ -323,14 +387,21 @@ export function nativeMemoryDataHandler(data: any, proc: Function): void { } } -function arrayBufferCallback(data: any, transfer: boolean): void { +function arrayBufferCallback(data: unknown, transfer: boolean): void { + // @ts-ignore let cacheKey = `${data.params.ipid}-${data.params.eventType}`; let dataFilter = filterNativeMemoryChartData( + // @ts-ignore data.params.model, + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.totalNS, + // @ts-ignore data.params.drawType, + // @ts-ignore data.params.frame, cacheKey ); @@ -345,23 +416,26 @@ function arrayBufferCallback(data: any, transfer: boolean): void { heapSize[i] = dataFilter.heapSize[i]; density[i] = dataFilter.density[i]; } + // @ts-ignore let cacheSource = data.params.model === 'native_hook' ? dataCache.normalCache : dataCache.statisticsCache; let cache = cacheSource.get(cacheKey); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - startTime: startTime.buffer, - dur: dur.buffer, - density: density.buffer, - heapSize: heapSize.buffer, - maxSize: cache!.maxSize, - minSize: cache!.minSize, - maxDensity: cache!.maxDensity, - minDensity: cache!.minDensity, - } + startTime: startTime.buffer, + dur: dur.buffer, + density: density.buffer, + heapSize: heapSize.buffer, + maxSize: cache!.maxSize, + minSize: cache!.minSize, + maxDensity: cache!.maxDensity, + minDensity: cache!.minDensity, + } : {}, len: len, }, @@ -375,13 +449,13 @@ export function filterNativeMemoryChartData( endNS: number, totalNS: number, drawType: number, - frame: any, + frame: unknown, key: string ): NativeMemoryDataSource { let dataSource = new NativeMemoryDataSource(); let cache = model === 'native_hook' ? dataCache.normalCache.get(key) : dataCache.statisticsCache.get(key); if (cache !== undefined) { - let data: any = {}; + let data: unknown = {}; cache!.dataList.reduce((pre, current, index) => { if (current.dur > 0 && current.startTime + current.dur >= startNS && current.startTime <= endNS) { if (dur2Width(current.startTime, current.dur, startNS, endNS || totalNS, frame) >= 1) { @@ -398,14 +472,18 @@ export function filterNativeMemoryChartData( x = 0; } let key = `${x}`; + // @ts-ignore let preIndex = pre[key]; if (preIndex !== undefined) { if (drawType === 0) { + // @ts-ignore pre[key] = cache!.dataList[preIndex].heapSize > cache!.dataList[index].heapSize ? preIndex : index; } else { + // @ts-ignore pre[key] = cache!.dataList[preIndex].density > cache!.dataList[index].density ? preIndex : index; } } else { + // @ts-ignore pre[key] = index; } } @@ -417,31 +495,41 @@ export function filterNativeMemoryChartData( return dataSource; } -function setDataSource(data: any, dataSource: NativeMemoryDataSource, cache: any) { +function setDataSource(data: unknown, dataSource: NativeMemoryDataSource, cache: unknown) { + // @ts-ignore Reflect.ownKeys(data).map((kv: string | symbol): void => { + // @ts-ignore let index = data[kv as string] as number; + // @ts-ignore dataSource.startTime.push(cache!.dataList[index].startTime); + // @ts-ignore dataSource.dur.push(cache!.dataList[index].dur); + // @ts-ignore dataSource.density.push(cache!.dataList[index].density); + // @ts-ignore dataSource.heapSize.push(cache!.dataList[index].heapSize); }); } -function ns2x(ns: number, startNS: number, endNS: number, duration: number, rect: any): number { +function ns2x(ns: number, startNS: number, endNS: number, duration: number, rect: unknown): number { if (endNS === 0) { endNS = duration; } + // @ts-ignore let xSizeNM: number = ((ns - startNS) * rect.width) / (endNS - startNS); if (xSizeNM < 0) { xSizeNM = 0; + // @ts-ignore } else if (xSizeNM > rect.width) { + // @ts-ignore xSizeNM = rect.width; } return xSizeNM; } -function dur2Width(startTime: number, dur: number, startNS: number, endNS: number, rect: any): number { +function dur2Width(startTime: number, dur: number, startNS: number, endNS: number, rect: unknown): number { let realDur = startTime + dur - Math.max(startTime, startNS); + // @ts-ignore return Math.trunc((realDur * rect.width) / (endNS - startNS)); } diff --git a/ide/src/trace/database/data-trafic/cpu/CpuFreqDataReceiver.ts b/ide/src/trace/database/data-trafic/cpu/CpuFreqDataReceiver.ts index 7ba6245ab..00db883f2 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuFreqDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuFreqDataReceiver.ts @@ -15,105 +15,177 @@ import { TraficEnum } from '../utils/QueryEnum'; import { filterDataByGroup } from '../utils/DataFilter'; import { cpuFreqList } from '../utils/AllMemoryCache'; -export const chartCpuFreqDataSql = (args: any): string => { - return `select ${args.cpu} cpu, +export const chartCpuFreqDataSql = (args: unknown): string => { + // @ts-ignore + return `select ${ + // @ts-ignore + args.cpu + } cpu, value, - max(ifnull(dur, ${args.recordEndNS}-c.ts)) dur, - ts - ${args.recordStartNS} as startNs, - ((ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + max(ifnull(dur, ${ + // @ts-ignore + args.recordEndNS + }-c.ts)) dur, + ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, + ((ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from measure c - where c.filter_id = (select id from cpu_measure_filter t where t.cpu = ${args.cpu} + where c.filter_id = (select id from cpu_measure_filter t where t.cpu = ${ + // @ts-ignore + args.cpu + } and (t.name = 'cpufreq' or t.name = 'cpu_frequency') limit 1) - and startNs + ifnull(dur, ${args.recordEndNS}-c.ts) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs + ifnull(dur, ${ + // @ts-ignore + args.recordEndNS}-c.ts) >= ${Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px union - select ${args.cpu} cpu, + select ${ + // @ts-ignore + args.cpu + } cpu, max(value), dur dur, - ts - ${args.recordStartNS} as startNs, - ((ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, + ((ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from measure c - where c.filter_id = (select id from cpu_measure_filter t where t.cpu = ${args.cpu} + where c.filter_id = (select id from cpu_measure_filter t where t.cpu = ${ + // @ts-ignore + args.cpu + } and (t.name = 'cpufreq' or t.name = 'cpu_frequency') limit 1) - and startNs + ifnull(dur, ${args.recordEndNS}-c.ts) >= ${Math.floor(args.startNS)} - and startNs <= ${Math.floor(args.endNS)} + and startNs + ifnull(dur, ${ + // @ts-ignore + args.recordEndNS}-c.ts) >= ${Math.floor(args.startNS) + } + and startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px; ;`; }; -export const chartCpuFreqDataSqlMem = (args: any): string => { +export const chartCpuFreqDataSqlMem = (args: unknown): string => { return ` select cpu, value, - ifnull(dur, ${args.recordEndNS} - c.ts) dur, - ts - ${args.recordStartNS} as startNs + ifnull(dur, ${ + // @ts-ignore + args.recordEndNS + } - c.ts) dur, + ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs from measure c inner join cpu_measure_filter t on c.filter_id = t.id where (name = 'cpufreq' or name = 'cpu_frequency') - and cpu = ${args.cpu}; + and cpu = ${ + // @ts-ignore + args.cpu + }; `; }; -export function cpuFreqDataReceiver(data: any, proc: Function): void { +export function cpuFreqDataReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[]; - let list: any[]; + let res: unknown[]; + let list: unknown[]; + // @ts-ignore if (!cpuFreqList.has(data.params.cpu)) { + // @ts-ignore list = proc(chartCpuFreqDataSqlMem(data.params)); for (let i = 0; i < list.length; i++) { + // @ts-ignore if (list[i].dur === -1 || list[i].dur === null || list[i].dur === undefined) { + // @ts-ignore list[i].dur = data.params.recordEndNS - data.params.recordStartNS - list[i].startNs; } } + // @ts-ignore cpuFreqList.set(data.params.cpu, list); } else { + // @ts-ignore list = cpuFreqList.get(data.params.cpu) || []; } res = filterDataByGroup( list || [], 'startNs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width, 'value' ); arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartCpuFreqDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -export function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +export function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNS = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNS); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let cpu = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.cpu); res.forEach((it, i): void => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.cpuFreqData); + // @ts-ignore startNS[i] = it.startNs; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore cpu[i] = it.cpu; + // @ts-ignore value[i] = it.value; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - startNS: startNS.buffer, - dur: dur.buffer, - value: value.buffer, - cpu: cpu.buffer, - } + startNS: startNS.buffer, + dur: dur.buffer, + value: value.buffer, + cpu: cpu.buffer, + } : {}, len: res.length, transfer: transfer, diff --git a/ide/src/trace/database/data-trafic/cpu/CpuFreqDataSender.ts b/ide/src/trace/database/data-trafic/cpu/CpuFreqDataSender.ts index bc96a09fa..ee868921c 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuFreqDataSender.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuFreqDataSender.ts @@ -41,18 +41,22 @@ export function cpuFreqDataSender(cpu: number, row: TraceRow): Pr sharedArrayBuffers: row.sharedArrayBuffers, width: width, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): CpuFreqStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): CpuFreqStruct[] { let outArr: CpuFreqStruct[] = []; + // @ts-ignore let cpu = new Uint8Array(buffers.cpu); + // @ts-ignore let value = new Uint32Array(buffers.value); + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let dur = new Float64Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataReceiver.ts b/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataReceiver.ts index 6a6145089..cd42326e5 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataReceiver.ts @@ -16,7 +16,9 @@ import { filterDataByGroup } from '../utils/DataFilter'; import { cpuFreqLimitList } from '../utils/AllMemoryCache'; -export const chartCpuFreqLimitDataSql = (args: any): string => { +export const chartCpuFreqLimitDataSql = +//@ts-ignore + (args: unknown): string => { return ` SELECT max AS max, @@ -24,87 +26,139 @@ export const chartCpuFreqLimitDataSql = (args: any): string => { value, max(dura) AS dur, startNs AS startNs, - ${args.cpu} AS cpu, - (startNs / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + ${ + // @ts-ignore + args.cpu + } AS cpu, + (startNs / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width) + })) AS px FROM ( - SELECT ts - ${args.recordStartNS} AS startNs, - case when dur is null then (${args.endNS + args.recordStartNS} - ts) else dur end AS dura, + SELECT ts - ${ + // @ts-ignore + args.recordStartNS + } AS startNs, + case when dur is null then (${ + // @ts-ignore + args.endNS + args.recordStartNS + } - ts) else dur end AS dura, value, MAX (value) AS max, MIN (value) AS min FROM measure - WHERE filter_id IN (${args.maxId}, ${args.minId}) - AND startNs + dura >= ${Math.floor(args.startNS)} - AND startNs <= ${Math.floor(args.endNS)} + WHERE filter_id IN (${ + // @ts-ignore + args.maxId}, ${args.minId + }) + AND startNs + dura >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + AND startNs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } GROUP BY ts ) AS subquery GROUP BY px; `; }; -export const chartCpuFreqLimitDataSqlMem = (args: any): string => { +export const chartCpuFreqLimitDataSqlMem = (args: unknown): string => { return ` - select ts - ${args.recordStartNS} as startNs, + select ts - ${ + // @ts-ignore + args.recordStartNS + } as startNs, dur, max(value) as max, min(value) as min, $cpu as cpu - from measure where filter_id in (${args.maxId}, ${args.minId}) + from measure where filter_id in (${ + // @ts-ignore + args.maxId}, ${args.minId + }) group by ts; `; }; -export function cpuFreqLimitReceiver(data: any, proc: Function): void { +export function cpuFreqLimitReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[], list: any[]; + let res: unknown[], list: unknown[]; + // @ts-ignore if (!cpuFreqLimitList.has(data.params.cpu)) { + // @ts-ignore let sql = chartCpuFreqLimitDataSqlMem(data.params); list = proc(sql); for (let i = 0; i < list.length; i++) { if (i < list.length - 1) { + // @ts-ignore list[i].dur = list[i + 1].startNs - list[i].startNs; } else { + // @ts-ignore list[i].dur = data.params.recordEndNS - data.params.recordStartNS - list[i].startNs; } } + // @ts-ignore cpuFreqLimitList.set(data.params.cpu, list); } else { + // @ts-ignore list = cpuFreqLimitList.get(data.params.cpu) || []; } res = filterDataByGroup( list || [], 'startNs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width, 'value' ); arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartCpuFreqLimitDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let max = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.max); + // @ts-ignore let min = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.min); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.cpuFreqLimitData); + // @ts-ignore startNs[i] = it.startNs; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore value[i] = it.value; + // @ts-ignore max[i] = it.max; + // @ts-ignore min[i] = it.min; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataSender.ts b/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataSender.ts index 221a1794a..02e2ba919 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataSender.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuFreqLimitDataSender.ts @@ -48,19 +48,24 @@ export function cpuFreqLimitSender( minId: minId, cpu: cpu, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): CpuFreqLimitsStruct[] { +function arrayBufferHandler(res: unknown, len: number): CpuFreqLimitsStruct[] { let outArr: CpuFreqLimitsStruct[] = []; + // @ts-ignore let startNs = new Float64Array(res.startNs); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let value = new Uint32Array(res.value); + // @ts-ignore let max = new Uint32Array(res.max); + // @ts-ignore let min = new Uint32Array(res.min); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/cpu/CpuStateReceiver.ts b/ide/src/trace/database/data-trafic/cpu/CpuStateReceiver.ts index 73c1fcf9a..f19edad0e 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuStateReceiver.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuStateReceiver.ts @@ -15,88 +15,156 @@ import { TraficEnum } from '../utils/QueryEnum'; import { filterDataByGroup } from '../utils/DataFilter'; import { cpuStateList } from '../utils/AllMemoryCache'; -export const chartCpuStateDataSql = (args: any): string => { +export const chartCpuStateDataSql = (args: unknown): string => { return ` select (value) as value, - max(ifnull(dur, ${args.recordEndNS} - A.ts)) as dur, - (A.ts - ${args.recordStartNS}) as startTs, - ((A.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + max(ifnull(dur, ${ + // @ts-ignore + args.recordEndNS + } - A.ts)) as dur, + (A.ts - ${ + // @ts-ignore + args.recordStartNS + }) as startTs, + ((A.ts - ${ + // @ts-ignore + args.recordStartNS + }) / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from measure A - where filter_id = ${args.filterId} - and startTs + ifnull(dur, ${args.recordEndNS} - A.ts) >= ${Math.floor(args.startNS)} - and startTs <= ${Math.floor(args.endNS)} + where filter_id = ${ + // @ts-ignore + args.filterId + } + and startTs + ifnull(dur, ${ + // @ts-ignore + args.recordEndNS} - A.ts) >= ${Math.floor(args.startNS) + } + and startTs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px union select max(value) as value, - (ifnull(dur, ${args.recordEndNS} - A.ts)) as dur, - (A.ts - ${args.recordStartNS}) as startTs, - ((A.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + (ifnull(dur, ${ + // @ts-ignore + args.recordEndNS + } - A.ts)) as dur, + (A.ts - ${ + // @ts-ignore + args.recordStartNS + }) as startTs, + ((A.ts - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from measure A - where filter_id = ${args.filterId} - and startTs + ifnull(dur, ${args.recordEndNS} - A.ts) >= ${Math.floor(args.startNS)} - and startTs <= ${Math.floor(args.endNS)} + where filter_id = ${ + // @ts-ignore + args.filterId + } + and startTs + ifnull(dur, ${ + // @ts-ignore + args.recordEndNS} - A.ts) >= ${Math.floor(args.startNS) + } + and startTs <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px ;`; }; -export const chartCpuStateDataSqlMem = (args: any): string => { +export const chartCpuStateDataSqlMem = (args: unknown): string => { return ` - select (A.ts - ${args.recordStartNS}) as startTs,ifnull(dur,${args.recordEndNS} - A.ts) dur, + select (A.ts - ${ + // @ts-ignore + args.recordStartNS}) as startTs,ifnull(dur,${args.recordEndNS + } - A.ts) dur, value from measure A - where filter_id = ${args.filterId}; + where filter_id = ${ + // @ts-ignore + args.filterId + }; `; }; -export function cpuStateReceiver(data: any, proc: Function): void { +export function cpuStateReceiver(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.trafic === TraficEnum.Memory) { - let res: any[]; - let list: any[]; + let res: unknown[]; + let list: unknown[]; + // @ts-ignore if (!cpuStateList.has(data.params.filterId)) { + // @ts-ignore list = proc(chartCpuStateDataSqlMem(data.params)); for (let i = 0; i < list.length; i++) { + // @ts-ignore if (list[i].dur === -1 || list[i].dur === null || list[i].dur === undefined) { + // @ts-ignore list[i].dur = data.params.recordEndNS - data.params.recordStartNS - list[i].startTs; } } + // @ts-ignore cpuStateList.set(data.params.filterId, list); } else { + // @ts-ignore list = cpuStateList.get(data.params.filterId) || []; } res = filterDataByGroup( list || [], 'startTs', 'dur', + // @ts-ignore data.params.startNS, + // @ts-ignore data.params.endNS, + // @ts-ignore data.params.width, 'value' ); arrayBufferHandler(data, res, true); } else { + // @ts-ignore let sql = chartCpuStateDataSql(data.params); let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } let heights = [4, 8, 12, 16, 20, 24, 28, 32]; -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs); + // @ts-ignore let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); + // @ts-ignore let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); + // @ts-ignore let height = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.height); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.cpuStateData); + // @ts-ignore startTs[i] = it.startTs; + // @ts-ignore dur[i] = it.dur; + // @ts-ignore value[i] = it.value; + // @ts-ignore height[i] = heights[it.value]; }); (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/cpu/CpuStateSender.ts b/ide/src/trace/database/data-trafic/cpu/CpuStateSender.ts index 0dd0720ac..58ab9083a 100644 --- a/ide/src/trace/database/data-trafic/cpu/CpuStateSender.ts +++ b/ide/src/trace/database/data-trafic/cpu/CpuStateSender.ts @@ -40,18 +40,22 @@ export function cpuStateSender(filterId: number, row: TraceRow): sharedArrayBuffers: row.sharedArrayBuffers, filterId: filterId, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(res: any, len: number): CpuStateStruct[] { +function arrayBufferHandler(res: unknown, len: number): CpuStateStruct[] { let outArr: CpuStateStruct[] = []; + // @ts-ignore let startTs = new Float64Array(res.startTs); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let value = new Uint32Array(res.value); + // @ts-ignore let height = new Uint8Array(res.value); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartReceiver.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartReceiver.ts index 0e4fa4c6f..230d74e90 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartReceiver.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartReceiver.ts @@ -32,11 +32,11 @@ const dataCache: { callchainId: Array; selfDur: Array; name: Array; - callstack: Map; + callstack: Map; sampleList: Array; maxDepth: number; } = { - callstack: new Map(), + callstack: new Map(), sampleList: [], maxDepth: 1, startTs: [], @@ -50,10 +50,13 @@ const dataCache: { name: [], }; -export const chartHiperfCallChartDataSql = (args: any): string => { +export const chartHiperfCallChartDataSql = (args: unknown): string => { const sql = ` select callchain_id as callchainId, - timestamp_trace - ${args.recordStartNS} as startTs, + timestamp_trace - ${ + // @ts-ignore + args.recordStartNS + } as startTs, event_count as eventCount, A.thread_id as threadId, cpu_id as cpuId, @@ -64,78 +67,110 @@ export const chartHiperfCallChartDataSql = (args: any): string => { return sql; }; -export function hiPerfCallChartDataHandler(data: any, proc: Function): void { +export function hiPerfCallChartDataHandler(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.isCache) { - let res: Array = proc(chartHiperfCallChartDataSql(data.params)); + // @ts-ignore + let res: Array = proc(chartHiperfCallChartDataSql(data.params)); for (let i = 0; i < res.length; i++) { if (i > 0) { + // @ts-ignore if (res[i].cpuId === res[i - 1].cpuId) { + // @ts-ignore res[i - 1].dur = res[i].startTs - res[i - 1].startTs; } else { + // @ts-ignore res[i - 1].dur = data.params.recordEndNS - data.params.recordStartNS - res[i - 1].startTs; } } if (i === res.length - 1) { + // @ts-ignore res[i].dur = data.params.recordEndNS - data.params.recordStartNS - res[i].startTs; } } + // @ts-ignore dataCache.sampleList = res; (self as unknown as Worker).postMessage( { len: 0, + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: 'ok', }, [] ); } else { - let res: Array = []; + let res: Array = []; + // @ts-ignore if (!data.params.isComplete) { res = dataCache.sampleList.filter((it) => { + // @ts-ignore let cpuThreadFilter = data.params.type === 0 ? it.cpuId === data.params.id : it.threadId === data.params.id; + // @ts-ignore let eventTypeFilter = data.params.eventTypeId === -2 ? true : it.eventTypeId === data.params.eventTypeId; return cpuThreadFilter && eventTypeFilter; }); } + // @ts-ignore arrayBufferHandler(data, res, true, !data.params.isComplete); } } -export function hiPerfCallStackCacheHandler(data: any, proc: Function): void { +export function hiPerfCallStackCacheHandler(data: unknown, proc: Function): void { + // @ts-ignore if (data.params.isCache) { hiPerfCallChartClearCache(true); arrayBufferCallStackHandler(data, proc(hiPerfCallStackDataCacheSql())); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean, loadData: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean, loadData: boolean): void { if (loadData) { + // @ts-ignore let result = combinePerfSampleByCallChainId(res, data.params); hiPerfCallChartClearCache(false); - const getArrayData = (combineData: Array): void => { + const getArrayData = (combineData: Array): void => { for (let item of combineData) { + // @ts-ignore if (item.depth > -1) { + // @ts-ignore dataCache.startTs.push(item.startTime); + // @ts-ignore dataCache.dur.push(item.totalTime); + // @ts-ignore dataCache.depth.push(item.depth); + // @ts-ignore dataCache.eventCount.push(item.eventCount); + // @ts-ignore dataCache.symbolId.push(item.symbolId); + // @ts-ignore dataCache.fileId.push(item.fileId); + // @ts-ignore dataCache.callchainId.push(item.callchainId); + // @ts-ignore dataCache.name.push(item.name); + // @ts-ignore let self = item.totalTime || 0; + // @ts-ignore if (item.children) { - (item.children as Array).forEach((child) => { + // @ts-ignore + (item.children as Array).forEach((child) => { + // @ts-ignore self -= child.totalTime; }); } dataCache.selfDur.push(self); } + // @ts-ignore if (item.depth + 1 > dataCache.maxDepth) { + // @ts-ignore dataCache.maxDepth = item.depth + 1; } + // @ts-ignore if (item.children && item.children.length > 0) { + // @ts-ignore getArrayData(item.children); } } @@ -147,7 +182,8 @@ function arrayBufferHandler(data: any, res: any[], transfer: boolean, loadData: }, 150); } -function arrayBufferCallback(data: any, transfer: boolean): void { +function arrayBufferCallback(data: unknown, transfer: boolean): void { + // @ts-ignore let params = data.params; let dataFilter = filterPerfCallChartData(params.startNS, params.endNS, params.totalNS, params.frame, params.expand); let len = dataFilter.startTs.length; @@ -165,10 +201,12 @@ function arrayBufferCallback(data: any, transfer: boolean): void { } postPerfCallChartMessage(data, transfer, perfCallChart, len); } -function postPerfCallChartMessage(data: any, transfer: boolean, perfCallChart: PerfCallChart, len: number): void { +function postPerfCallChartMessage(data: unknown, transfer: boolean, perfCallChart: PerfCallChart, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -206,11 +244,11 @@ export function filterPerfCallChartData( startNS: number, endNS: number, totalNS: number, - frame: any, + frame: unknown, expand: boolean ): DataSource { let dataSource = new DataSource(); - let data: any = {}; + let data: unknown = {}; dataCache.startTs.reduce((pre, current, index) => { if ( dataCache.dur[index] > 0 && @@ -225,10 +263,13 @@ export function filterPerfCallChartData( x = 0; } let key = `${x}-${dataCache.depth[index]}`; + // @ts-ignore let preIndex = pre[key]; if (preIndex !== undefined) { + // @ts-ignore pre[key] = dataCache.dur[preIndex] > dataCache.dur[index] ? preIndex : index; } else { + // @ts-ignore pre[key] = index; } } @@ -237,9 +278,12 @@ export function filterPerfCallChartData( setDataSource(data, dataSource); return dataSource; } -function setDataSource(data: any, dataSource: DataSource): void { +function setDataSource(data: unknown, dataSource: DataSource): void { + // @ts-ignore Reflect.ownKeys(data).map((kv: string | symbol): void => { + // @ts-ignore let index = data[kv as string] as number; + // @ts-ignore dataSource.startTs.push(dataCache.startTs[index]); dataSource.dur.push(dataCache.dur[index]); dataSource.depth.push(dataCache.depth[index]); @@ -252,20 +296,31 @@ function setDataSource(data: any, dataSource: DataSource): void { }); } // 将perf_sample表的数据根据callchain_id分组并赋值startTime,endTime等等 -function combinePerfSampleByCallChainId(sampleList: Array, params: any): any[] { +function combinePerfSampleByCallChainId(sampleList: Array, params: unknown): unknown[] { return combineChartData( sampleList.map((sample) => { - let perfSample: any = {}; + let perfSample: unknown = {}; + // @ts-ignore perfSample.children = []; + // @ts-ignore perfSample.children[0] = {}; + // @ts-ignore perfSample.depth = -1; + // @ts-ignore perfSample.callchainId = sample.callchainId; + // @ts-ignore perfSample.threadId = sample.threadId; + // @ts-ignore perfSample.id = sample.id; + // @ts-ignore perfSample.cpuId = sample.cpuId; + // @ts-ignore perfSample.startTime = sample.startTs; + // @ts-ignore perfSample.endTime = sample.startTs + sample.dur; + // @ts-ignore perfSample.totalTime = sample.dur; + // @ts-ignore perfSample.eventCount = sample.eventCount; return perfSample; }), @@ -273,9 +328,10 @@ function combinePerfSampleByCallChainId(sampleList: Array, params: any): an ); } -function combineChartData(samples: any, params: any): Array { - let combineSample: any = []; +function combineChartData(samples: unknown, params: unknown): Array { + let combineSample: unknown = []; // 遍历sample表查到的数据,并且为其匹配相应的callchain数据 + // @ts-ignore for (let sample of samples) { let stackTop = dataCache.callstack.get(`${sample.callchainId}-0`); if (stackTop) { @@ -290,38 +346,55 @@ function combineChartData(samples: any, params: any): Array { sample.children = []; sample.children.push(stackTopSymbol); // 每一项都和combineSample对比 + // @ts-ignore if (combineSample.length === 0) { + // @ts-ignore combineSample.push(sample); } else { + // @ts-ignore let pre = combineSample[combineSample.length - 1]; + // @ts-ignore if (params.type === 0) { if (pre.threadId === sample.threadId && pre.endTime === sample.startTime) { + // @ts-ignore combinePerfCallData(combineSample[combineSample.length - 1], sample); } else { + // @ts-ignore combineSample.push(sample); } } else { if (pre.cpuId === sample.cpuId && pre.endTime === sample.startTime) { + // @ts-ignore combinePerfCallData(combineSample[combineSample.length - 1], sample); } else { + // @ts-ignore combineSample.push(sample); } } } } } + // @ts-ignore return combineSample; } // 递归设置dur,startTime,endTime -function setDur(data: any): void { +function setDur(data: unknown): void { + // @ts-ignore if (data.children && data.children.length > 0) { + // @ts-ignore data.children[0].totalTime = data.totalTime; + // @ts-ignore data.children[0].startTime = data.startTime; + // @ts-ignore data.children[0].endTime = data.endTime; + // @ts-ignore data.children[0].threadId = data.threadId; + // @ts-ignore data.children[0].cpuId = data.cpuId; + // @ts-ignore data.children[0].eventCount = data.eventCount; + // @ts-ignore setDur(data.children[0]); } else { return; @@ -329,23 +402,36 @@ function setDur(data: any): void { } // hiperf火焰图合并逻辑 -function combinePerfCallData(data1: any, data2: any): void { +function combinePerfCallData(data1: unknown, data2: unknown): void { if (fixMergeRuler(data1, data2)) { + // @ts-ignore data1.endTime = data2.endTime; + // @ts-ignore data1.totalTime = data1.endTime - data1.startTime; + // @ts-ignore data1.eventCount += data2.eventCount; + // @ts-ignore if (data1.children && data1.children.length > 0 && data2.children && data2.children.length > 0) { + // @ts-ignore if (fixMergeRuler(data1.children[data1.children.length - 1], data2.children[0])) { + // @ts-ignore combinePerfCallData(data1.children[data1.children.length - 1], data2.children[0]); } else { + // @ts-ignore if (data1.children[data1.children.length - 1].depth === data2.children[0].depth) { + // @ts-ignore data1.children.push(data2.children[0]); } } + // @ts-ignore } else if (data2.children && data2.children.length > 0 && (!data1.children || data1.children.length === 0)) { + // @ts-ignore data1.endTime = data2.endTime; + // @ts-ignore data1.totalTime = data1.endTime - data1.startTime; + // @ts-ignore data1.children = []; + // @ts-ignore data1.children.push(data2.children[0]); } else { } @@ -358,7 +444,8 @@ function combinePerfCallData(data1: any, data2: any): void { * @param data1 * @param data2 */ -function fixMergeRuler(data1: any, data2: any): boolean { +function fixMergeRuler(data1: unknown, data2: unknown): boolean { + // @ts-ignore return data1.depth === data2.depth && data1.name === data2.name; } @@ -389,22 +476,33 @@ export function hiPerfCallChartClearCache(clearStack: boolean): void { dataCache.maxDepth = 1; } -function arrayBufferCallStackHandler(data: any, res: any[]): void { +function arrayBufferCallStackHandler(data: unknown, res: unknown[]): void { for (const stack of res) { let item = stack; + // @ts-ignore if (data.params.trafic === TraficEnum.ProtoBuffer) { item = { + // @ts-ignore callchainId: stack.hiperfCallStackData.callchainId || 0, + // @ts-ignore fileId: stack.hiperfCallStackData.fileId || 0, + // @ts-ignore depth: stack.hiperfCallStackData.depth || 0, + // @ts-ignore symbolId: stack.hiperfCallStackData.symbolId || 0, + // @ts-ignore name: stack.hiperfCallStackData.name || 0, }; } + // @ts-ignore dataCache.callstack.set(`${item.callchainId}-${item.depth}`, item); + // @ts-ignore let parentSymbol = dataCache.callstack.get(`${item.callchainId}-${item.depth - 1}`); + // @ts-ignore if (parentSymbol && parentSymbol.callchainId === item.callchainId && parentSymbol.depth === item.depth - 1) { + // @ts-ignore parentSymbol.children = []; + // @ts-ignore parentSymbol.children.push(item); } } @@ -415,7 +513,9 @@ function arrayBufferCallStackHandler(data: any, res: any[]): void { } (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: 'ok', len: res.length, @@ -424,14 +524,17 @@ function arrayBufferCallStackHandler(data: any, res: any[]): void { ); } -function ns2x(ns: number, startNS: number, endNS: number, duration: number, rect: any): number { +function ns2x(ns: number, startNS: number, endNS: number, duration: number, rect: unknown): number { if (endNS === 0) { endNS = duration; } + // @ts-ignore let xSizeHiperf: number = ((ns - startNS) * rect.width) / (endNS - startNS); if (xSizeHiperf < 0) { xSizeHiperf = 0; + // @ts-ignore } else if (xSizeHiperf > rect.width) { + // @ts-ignore xSizeHiperf = rect.width; } return xSizeHiperf; diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartSender.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartSender.ts index cb98006bf..f5cd67907 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartSender.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfCallChartSender.ts @@ -16,14 +16,15 @@ import { TraceRow } from '../../../component/trace/base/TraceRow'; import { SpSystemTrace } from '../../../component/SpSystemTrace'; export function hiperfCallChartDataSender( - row: TraceRow, + // @ts-ignore + row: TraceRow, setting: { startTime: number; eventTypeId: number; type: number; id: number; } -): Promise { +): Promise { return new Promise((resolve, reject) => { threadPool.submitProto( QueryEnum.HiperfCallChart, @@ -39,14 +40,14 @@ export function hiperfCallChartDataSender( type: setting.type, id: setting.id, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve(arrayBufferHandler(res, len)); } ); }); } -export function hiperfCallStackCacheSender(): Promise { +export function hiperfCallStackCacheSender(): Promise { return new Promise((resolve, reject) => { threadPool.submitProto( QueryEnum.HiperfCallStack, @@ -55,14 +56,14 @@ export function hiperfCallStackCacheSender(): Promise { isCache: true, trafic: TraficEnum.TransferArrayBuffer, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve('ok'); } ); }); } -export function hiperfCallChartDataCacheSender(): Promise { +export function hiperfCallChartDataCacheSender(): Promise { return new Promise((resolve, reject) => { threadPool.submitProto( QueryEnum.HiperfCallChart, @@ -72,7 +73,7 @@ export function hiperfCallChartDataCacheSender(): Promise { trafic: TraficEnum.TransferArrayBuffer, isCache: true, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve('ok'); } ); @@ -80,22 +81,31 @@ export function hiperfCallChartDataCacheSender(): Promise { } function arrayBufferHandler( - res: any, + res: unknown, len: number ): { - maxDepth: any; - dataList: any[]; + maxDepth: unknown; + dataList: unknown[]; } { + // @ts-ignore let startTs = new Float64Array(res.startTs); + // @ts-ignore let dur = new Float64Array(res.dur); + // @ts-ignore let depth = new Int32Array(res.depth); + // @ts-ignore let eventCount = new Int32Array(res.eventCount); + // @ts-ignore let symbolId = new Int32Array(res.symbolId); + // @ts-ignore let fileId = new Int32Array(res.fileId); + // @ts-ignore let callchainId = new Int32Array(res.callchainId); + // @ts-ignore let selfDur = new Int32Array(res.selfDur); + // @ts-ignore let name = new Int32Array(res.name); - let outArr: any[] = []; + let outArr: unknown[] = []; for (let i = 0; i < len; i++) { outArr.push({ startTime: startTs[i], @@ -108,9 +118,10 @@ function arrayBufferHandler( callchain_id: callchainId[i], selfDur: selfDur[i], name: SpSystemTrace.DATA_DICT.get(name[i]), - } as any); + } as unknown); } return { + // @ts-ignore maxDepth: res.maxDepth, dataList: outArr, }; diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataReceiver.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataReceiver.ts index 951c7f5d2..2487eb7e0 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataReceiver.ts @@ -13,94 +13,137 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartHiperfCpuData10MSProtoSql = (args: any): string => { +export const chartHiperfCpuData10MSProtoSql = (args: unknown): string => { return `select startNS as startNS, max(event_count) as eventCount, sample_count as sampleCount, event_type_id as eventTypeId, callchain_id as callchainId, - (startNS / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + (startNS / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width)})) AS px from (select s.callchain_id, - (s.timestamp_trace - ${args.recordStartNS}) / 10000000 * 10000000 startNS, + (s.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS}) / 10000000 * 10000000 startNS, sum(event_count) event_count, count(event_count) sample_count, event_type_id from perf_sample s - where s.thread_id != 0 ${args.cpu >= 0 ? 'and cpu_id =' + args.cpu : ''} ${ + where s.thread_id != 0 ${ + // @ts-ignore + args.cpu >= 0 ? 'and cpu_id =' + args.cpu : ''} ${ + // @ts-ignore args.drawType >= 0 ? 'and event_type_id =' + args.drawType : '' } group by startNS) - where startNS + 10000000 >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + where startNS + 10000000 >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px;`; }; -export const chartHiperfCpuDataProtoSql = (args: any): string => { +export const chartHiperfCpuDataProtoSql = (args: unknown): string => { return `select - (s.timestamp_trace - ${args.recordStartNS}) startNS, + (s.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS}) startNS, event_count as eventCount, 1 as sampleCount, event_type_id as eventTypeId, s.callchain_id as callchainId, - (s.timestamp_trace - ${args.recordStartNS}) / (${Math.floor( + (s.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor( + // @ts-ignore (args.endNS - args.startNS) / args.width )}) AS px from perf_sample s - where s.thread_id != 0 ${args.cpu >= 0 ? 'and cpu_id =' + args.cpu : ''} ${ + where s.thread_id != 0 ${ + // @ts-ignore + args.cpu >= 0 ? 'and cpu_id =' + args.cpu : ''} ${ + // @ts-ignore args.drawType >= 0 ? 'and event_type_id =' + args.drawType : '' } - and startNS >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + and startNS >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px; `; }; -export function hiperfCpuDataReceiver(data: any, proc: Function): void { +export function hiperfCpuDataReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 30_000_000) { + // @ts-ignore sql = chartHiperfCpuData10MSProtoSql(data.params); } else { + // @ts-ignore sql = chartHiperfCpuDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let maxCpuCount = data.params.maxCpuCount; + // @ts-ignore let intervalPerf = data.params.intervalPerf; + // @ts-ignore let usage = data.params.drawType === -2; let perfCpu = new PerfCpu(data, transfer, res.length); let maxEventCount = Math.max( ...res.map((it) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore return it.eventCount; }) ); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore perfCpu.startNS[i] = it.startNS || it.startNs; //startNS + // @ts-ignore perfCpu.eventCount[i] = it.eventCount; //event_count + // @ts-ignore perfCpu.sampleCount[i] = it.sampleCount; //sample_count + // @ts-ignore perfCpu.eventTypeId[i] = it.eventTypeId; //event_type_id + // @ts-ignore perfCpu.callChainId[i] = it.callchainId; //callchain_id if (usage) { if (maxCpuCount === -1) { + // @ts-ignore perfCpu.height[i] = Math.floor((it.sampleCount / (10 / intervalPerf)) * 40); } else { + // @ts-ignore perfCpu.height[i] = Math.floor((it.sampleCount / (10 / intervalPerf) / maxCpuCount) * 40); } } else { + // @ts-ignore perfCpu.height[i] = Math.floor((it.eventCount / maxEventCount) * 40); } }); postPerfCpuMessage(data, transfer, perfCpu, res.length); } -function postPerfCpuMessage(data: any, transfer: boolean, perfCpu: PerfCpu, len: number): void { +function postPerfCpuMessage(data: unknown, transfer: boolean, perfCpu: PerfCpu, len: number): void { (self as unknown as Worker).postMessage( { transfer: transfer, + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -133,12 +176,18 @@ class PerfCpu { eventTypeId: Int32Array; callChainId: Int32Array; height: Int32Array; - constructor(data: any, transfer: boolean, len: number) { + constructor(data: unknown, transfer: boolean, len: number) { + // @ts-ignore this.startNS = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.startNS); + // @ts-ignore this.eventCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventCount); + // @ts-ignore this.sampleCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.sampleCount); + // @ts-ignore this.eventTypeId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventTypeId); + // @ts-ignore this.callChainId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.callChainId); + // @ts-ignore this.height = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.height); } } diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataSender.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataSender.ts index e81c10148..ff109113d 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataSender.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfCpuDataSender.ts @@ -22,8 +22,9 @@ export function hiperfCpuDataSender( maxCpuCount: number, intervalPerf: number, scale: number, - row: TraceRow -): Promise { + // @ts-ignore + row: TraceRow +): Promise { let trafic: number = TraficEnum.ProtoBuffer; let width = row.clientWidth - CHART_OFFSET_LEFT; if (trafic === TraficEnum.SharedArrayBuffer && !row.sharedArrayBuffers) { @@ -53,20 +54,26 @@ export function hiperfCpuDataSender( drawType: drawType, intervalPerf: intervalPerf, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): HiPerfCpuStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): HiPerfCpuStruct[] { let outArr: HiPerfCpuStruct[] = []; + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let eventCount = new Int32Array(buffers.eventCount); + // @ts-ignore let sampleCount = new Int32Array(buffers.sampleCount); + // @ts-ignore let eventTypeId = new Int32Array(buffers.eventTypeId); + // @ts-ignore let callChainId = new Int32Array(buffers.callChainId); + // @ts-ignore let height = new Int32Array(buffers.height); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataReceiver.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataReceiver.ts index f07abea0d..4f0373c78 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataReceiver.ts @@ -13,95 +13,146 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartHiperfProcessData10MSProtoSql = (args: any): string => { +export const chartHiperfProcessData10MSProtoSql = (args: unknown): string => { return `select startNS as startNS, max(event_count) eventCount, sample_count as sampleCount, event_type_id as eventTypeId, callchain_id as callchainId, - (startNS / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + (startNS / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from (SELECT sp.callchain_id, -- th.thread_name, -- th.thread_id tid, -- th.process_id pid, - (sp.timestamp_trace - ${args.recordStartNS}) / 10000000 * 10000000 startNS, + (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS + }) / 10000000 * 10000000 startNS, sum(event_count) event_count, count(event_count) sample_count, event_type_id from perf_sample sp where sp.thread_id in (select thread_id from perf_thread - where perf_thread.process_id = ${args.pid}) - and sp.thread_id != 0 ${args.drawType >= 0 ? 'and event_type_id =' + args.drawType : ''} + where perf_thread.process_id = ${ + // @ts-ignore + args.pid + }) + and sp.thread_id != 0 ${ + // @ts-ignore + args.drawType >= 0 ? 'and event_type_id =' + args.drawType : '' + } group by startNS) - where startNS + 10000000 >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + where startNS + 10000000 >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px;`; }; -export const chartHiperfProcessDataProtoSql = (args: any): string => { - return `SELECT (sp.timestamp_trace - ${args.recordStartNS}) startNS, +export const chartHiperfProcessDataProtoSql = (args: unknown): string => { + return `SELECT (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS}) startNS, event_count as eventCount, 1 as sampleCount, event_type_id as eventTypeId, sp.callchain_id as callchainId, - (sp.timestamp_trace - ${args.recordStartNS}) / (${Math.floor( + (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS}) / (${Math.floor( + // @ts-ignore (args.endNS - args.startNS) / args.width )}) AS px from perf_sample sp where sp.thread_id in (select thread_id from perf_thread - where perf_thread.process_id = ${args.pid}) - and sp.thread_id != 0 ${args.drawType >= 0 ? 'and event_type_id =' + args.drawType : ''} - and startNS >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + where perf_thread.process_id = ${ + // @ts-ignore + args.pid}) + and sp.thread_id != 0 ${ + // @ts-ignore + args.drawType >= 0 ? 'and event_type_id =' + args.drawType : ''} + and startNS >= ${ + // @ts-ignore + Math.floor(args.startNS)} + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS)} group by px;`; }; -export function hiperfProcessDataReceiver(data: any, proc: Function): void { +export function hiperfProcessDataReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 30_000_000) { + // @ts-ignore sql = chartHiperfProcessData10MSProtoSql(data.params); } else { + // @ts-ignore sql = chartHiperfProcessDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let maxCpuCount = data.params.maxCpuCount; + // @ts-ignore let intervalPerf = data.params.intervalPerf; + // @ts-ignore let usage = data.params.drawType === -2; let perfProcess = new PerfProcess(data, transfer, res.length); let maxEventCount = Math.max( ...res.map((it) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore return it.eventCount; }) ); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore perfProcess.startNS[i] = it.startNS || it.startNs; + // @ts-ignore perfProcess.eventCount[i] = it.eventCount; + // @ts-ignore perfProcess.sampleCount[i] = it.sampleCount; + // @ts-ignore perfProcess.eventTypeId[i] = it.eventTypeId; + // @ts-ignore perfProcess.callChainId[i] = it.callchainId; if (usage) { if (maxCpuCount === -1) { + // @ts-ignore perfProcess.height[i] = Math.floor((it.sampleCount / (10 / intervalPerf)) * 40); } else { + // @ts-ignore perfProcess.height[i] = Math.floor((it.sampleCount / (10 / intervalPerf) / maxCpuCount) * 40); } } else { + // @ts-ignore perfProcess.height[i] = Math.floor((it.eventCount / maxEventCount) * 40); } }); postPerfProcessMessage(data, transfer, perfProcess, res.length); } -function postPerfProcessMessage(data: any, transfer: boolean, perfProcess: PerfProcess, len: number): void { +function postPerfProcessMessage(data: unknown, transfer: boolean, perfProcess: PerfProcess, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { @@ -135,12 +186,18 @@ class PerfProcess { eventTypeId: Int32Array; callChainId: Int32Array; height: Int32Array; - constructor(data: any, transfer: boolean, len: number) { + constructor(data: unknown, transfer: boolean, len: number) { + // @ts-ignore this.startNS = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.startNS); + // @ts-ignore this.eventCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventCount); + // @ts-ignore this.sampleCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.sampleCount); + // @ts-ignore this.eventTypeId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventTypeId); + // @ts-ignore this.callChainId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.callChainId); + // @ts-ignore this.height = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.height); } } diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataSender.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataSender.ts index 249377c3b..e505e3c49 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataSender.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfProcessDataSender.ts @@ -22,8 +22,10 @@ export function hiperfProcessDataSender( maxCpu: number, intervalPerf: number, scale: number, - row: TraceRow -): Promise { + // @ts-ignore + row: TraceRow + // @ts-ignore +): Promise { let trafic: number = TraficEnum.ProtoBuffer; let width = row.clientWidth - CHART_OFFSET_LEFT; if (trafic === TraficEnum.SharedArrayBuffer && !row.sharedArrayBuffers) { @@ -53,20 +55,28 @@ export function hiperfProcessDataSender( scale: scale, drawType: drawType, }, - (res: any, len: number, transfer: boolean): void => { + // @ts-ignore + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): HiPerfProcessStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): HiPerfProcessStruct[] { + // @ts-ignore let outArr: HiPerfProcessStruct[] = []; + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let eventCount = new Int32Array(buffers.eventCount); + // @ts-ignore let sampleCount = new Int32Array(buffers.sampleCount); + // @ts-ignore let eventTypeId = new Int32Array(buffers.eventTypeId); + // @ts-ignore let callChainId = new Int32Array(buffers.callChainId); + // @ts-ignore let height = new Int32Array(buffers.height); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataReceiver.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataReceiver.ts index 88a2b441f..eb9a22f77 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataReceiver.ts @@ -13,110 +13,167 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartHiperfThreadData10MSProtoSql = (args: any): string => { +export const chartHiperfThreadData10MSProtoSql = (args: unknown): string => { return `select startNS as startNS, max(event_count) eventCount, sample_count as sampleCount, event_type_id as eventTypeId, callchain_id as callchainId, - (startNS / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + (startNS / (${ + // @ts-ignore + Math.floor((args.endNS - args.startNS) / args.width) + })) AS px from (SELECT sp.callchain_id, - (sp.timestamp_trace - ${args.recordStartNS}) / 10000000 * 10000000 startNS, + (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS + }) / 10000000 * 10000000 startNS, sum(event_count) event_count, count(event_count) sample_count, event_type_id from perf_sample sp - where sp.thread_id = ${args.tid} - and sp.thread_id != 0 ${args.drawType >= 0 ? 'and event_type_id =' + args.drawType : ''} + where sp.thread_id = ${ + // @ts-ignore + args.tid + } + and sp.thread_id != 0 ${ + // @ts-ignore + args.drawType >= 0 ? 'and event_type_id =' + args.drawType : '' + } group by startNS) - where startNS + 10000000 >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + where startNS + 10000000 >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px;`; }; -export const chartHiperfThreadDataProtoSql = (args: any): string => { - return `SELECT (sp.timestamp_trace - ${args.recordStartNS}) startNS, +export const chartHiperfThreadDataProtoSql = (args: unknown): string => { + return `SELECT (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS} + ) startNS, event_count as eventCount, 1 as sampleCount, event_type_id as eventTypeId, sp.callchain_id as callchainId, - (sp.timestamp_trace - ${args.recordStartNS}) / (${Math.floor( - (args.endNS - args.startNS) / args.width - )}) AS px + (sp.timestamp_trace - ${ + // @ts-ignore + args.recordStartNS + }) / (${Math.floor( + // @ts-ignore + (args.endNS - args.startNS) / args.width + )}) AS px from perf_sample sp - where sp.thread_id = ${args.tid} - and sp.thread_id != 0 ${args.drawType >= 0 ? 'and event_type_id =' + args.drawType : ''} - and startNS >= ${Math.floor(args.startNS)} - and startNS <= ${Math.floor(args.endNS)} + where sp.thread_id = ${ + // @ts-ignore + args.tid + } + and sp.thread_id != 0 ${ + // @ts-ignore + args.drawType >= 0 ? 'and event_type_id =' + args.drawType : '' + } + and startNS >= ${ + // @ts-ignore + Math.floor(args.startNS) + } + and startNS <= ${ + // @ts-ignore + Math.floor(args.endNS) + } group by px;`; }; -export function hiperfThreadDataReceiver(data: any, proc: Function): void { +export function hiperfThreadDataReceiver(data: unknown, proc: Function): void { let sql: string; + // @ts-ignore if (data.params.scale > 30_000_000) { + // @ts-ignore sql = chartHiperfThreadData10MSProtoSql(data.params); } else { + // @ts-ignore sql = chartHiperfThreadDataProtoSql(data.params); } let res = proc(sql); + // @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { + // @ts-ignore let maxCpuCount = data.params.maxCpuCount; + // @ts-ignore let intervalPerf = data.params.intervalPerf; + // @ts-ignore let usage = data.params.drawType === -2; let perfThread = new PerfThread(data, transfer, res.length); let maxEventCount = Math.max( ...res.map((it) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore return it.eventCount; }) ); res.forEach((it, i) => { + // @ts-ignore data.params.trafic === TraficEnum.ProtoBuffer && (it = it.hiperfData); + // @ts-ignore perfThread.startNS[i] = it.startNS || it.startNs; + // @ts-ignore perfThread.eventCount[i] = it.eventCount; + // @ts-ignore perfThread.sampleCount[i] = it.sampleCount; + // @ts-ignore perfThread.eventTypeId[i] = it.eventTypeId; + // @ts-ignore perfThread.callChainId[i] = it.callchainId; if (usage) { perfThread.height[i] = maxCpuCount === -1 + // @ts-ignore ? Math.floor((it.sampleCount / (10 / intervalPerf)) * 40) + // @ts-ignore : Math.floor((it.sampleCount / (10 / intervalPerf) / maxCpuCount) * 40); } else { + // @ts-ignore perfThread.height[i] = Math.floor((it.eventCount / maxEventCount) * 40); } }); postPerfThreadMessage(data, transfer, perfThread, res.length); } -function postPerfThreadMessage(data: any, transfer: boolean, perfThread: PerfThread, len: number): void { +function postPerfThreadMessage(data: unknown, transfer: boolean, perfThread: PerfThread, len: number): void { (self as unknown as Worker).postMessage( { + // @ts-ignore id: data.id, + // @ts-ignore action: data.action, results: transfer ? { - startNS: perfThread.startNS.buffer, - eventCount: perfThread.eventCount.buffer, - sampleCount: perfThread.sampleCount.buffer, - eventTypeId: perfThread.eventTypeId.buffer, - callChainId: perfThread.callChainId.buffer, - height: perfThread.height.buffer, - } + startNS: perfThread.startNS.buffer, + eventCount: perfThread.eventCount.buffer, + sampleCount: perfThread.sampleCount.buffer, + eventTypeId: perfThread.eventTypeId.buffer, + callChainId: perfThread.callChainId.buffer, + height: perfThread.height.buffer, + } : {}, len: len, transfer: transfer, }, transfer ? [ - perfThread.startNS.buffer, - perfThread.eventCount.buffer, - perfThread.sampleCount.buffer, - perfThread.eventTypeId.buffer, - perfThread.callChainId.buffer, - perfThread.height.buffer, - ] + perfThread.startNS.buffer, + perfThread.eventCount.buffer, + perfThread.sampleCount.buffer, + perfThread.eventTypeId.buffer, + perfThread.callChainId.buffer, + perfThread.height.buffer, + ] : [] ); } @@ -127,12 +184,18 @@ class PerfThread { eventTypeId: Int32Array; callChainId: Int32Array; height: Int32Array; - constructor(data: any, transfer: boolean, len: number) { + constructor(data: unknown, transfer: boolean, len: number) { + // @ts-ignore this.startNS = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.startNS); + // @ts-ignore this.eventCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventCount); + // @ts-ignore this.sampleCount = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.sampleCount); + // @ts-ignore this.eventTypeId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.eventTypeId); + // @ts-ignore this.callChainId = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.callChainId); + // @ts-ignore this.height = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.height); } } diff --git a/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataSender.ts b/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataSender.ts index 5fbd3b128..1d07bbe17 100644 --- a/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataSender.ts +++ b/ide/src/trace/database/data-trafic/hiperf/HiperfThreadDataSender.ts @@ -22,8 +22,9 @@ export function hiperfThreadDataSender( maxCpu: number, intervalPerf: number, scale: number, - row: TraceRow -): Promise { + // @ts-ignore + row: TraceRow +): Promise { let trafic: number = TraficEnum.ProtoBuffer; let width = row.clientWidth - CHART_OFFSET_LEFT; if (trafic === TraficEnum.SharedArrayBuffer && !row.sharedArrayBuffers) { @@ -53,20 +54,26 @@ export function hiperfThreadDataSender( tid: tid, maxCpuCount: maxCpu, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): HiPerfThreadStruct[] { +function arrayBufferHandler(buffers: unknown, len: number): HiPerfThreadStruct[] { let outArr: HiPerfThreadStruct[] = []; + // @ts-ignore let startNS = new Float64Array(buffers.startNS); + // @ts-ignore let eventCount = new Int32Array(buffers.eventCount); + // @ts-ignore let sampleCount = new Int32Array(buffers.sampleCount); + // @ts-ignore let eventTypeId = new Int32Array(buffers.eventTypeId); + // @ts-ignore let callChainId = new Int32Array(buffers.callChainId); + // @ts-ignore let height = new Int32Array(buffers.height); for (let i = 0; i < len; i++) { outArr.push({ -- Gitee From c70cba7927cc78acc8cae4b8222c594d7aa609b7 Mon Sep 17 00:00:00 2001 From: danghongquan Date: Thu, 18 Apr 2024 19:12:03 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: danghongquan --- ide/src/base-ui/select/LitSelectOption.ts | 2 +- ide/src/base-ui/select/LitSelectV.ts | 52 ++-- ide/src/base-ui/slicer/lit-slicer.ts | 16 +- ide/src/base-ui/slider/LitSlider.ts | 2 +- ide/src/base-ui/utils/ExcelFormater.ts | 52 ++-- ide/src/base-ui/utils/Template.ts | 42 +-- ide/src/command/Cmd.ts | 2 +- ide/src/js-heap/LoadDatabase.ts | 18 ++ ide/src/js-heap/logic/HeapLoader.ts | 11 +- ide/src/log/Log.ts | 14 +- ide/src/trace/component/SpQuerySQL.ts | 1 + ide/src/trace/component/SpSystemTrace.init.ts | 2 + .../component/chart/SpAbilityMonitorChart.ts | 8 +- .../trace/component/chart/SpAllAppStartups.ts | 2 +- ide/src/trace/component/chart/SpArkTsChart.ts | 12 +- .../trace/component/chart/SpBpftraceChart.ts | 1 + .../trace/component/chart/SpChartManager.ts | 9 +- ide/src/trace/component/chart/SpCpuChart.ts | 3 +- ide/src/trace/component/chart/SpEBPFChart.ts | 3 + .../trace/component/chart/SpFrameTimeChart.ts | 4 +- ide/src/trace/component/chart/SpFreqChart.ts | 5 +- .../component/chart/SpNativeMemoryChart.ts | 2 + .../trace/component/chart/SpProcessChart.ts | 13 +- ide/src/trace/component/chart/SpSdkChart.ts | 2 + .../component/chart/SpVirtualMemChart.ts | 1 + .../trace/component/chart/SpVmTrackerChart.ts | 5 +- .../Top20FrequencyThread.ts | 10 +- .../trace/sheet/TabPaneCurrentSelection.ts | 8 +- .../sheet/ability/TabPaneMemoryAbility.ts | 1 + .../TabPanePurgPinComparisonAbility.ts | 3 +- .../sheet/ability/TabPanePurgPinSelection.ts | 3 +- .../TabPanePurgTotalComparisonAbility.ts | 3 +- .../ability/TabPanePurgTotalSelection.ts | 3 +- .../trace/sheet/cpu/TabPaneCounterSample.ts | 1 + .../trace/sheet/cpu/TabPaneCpuByProcess.ts | 13 +- .../trace/sheet/cpu/TabPaneFrequencySample.ts | 1 + .../component/trace/sheet/cpu/TabPanePTS.ts | 1 + .../component/trace/sheet/cpu/TabPaneSPT.ts | 1 + .../trace/sheet/cpu/TabPaneSchedPriority.ts | 6 +- .../trace/sheet/freq/TabPaneCpuFreqLimits.ts | 3 + .../trace/sheet/irq/TabPaneIrqCounter.ts | 7 + .../trace/sheet/process/TabPaneCounter.ts | 2 + .../trace/sheet/process/TabPaneSlices.ts | 42 +-- .../trace/sheet/process/TabPaneStartup.ts | 18 +- .../trace/sheet/process/TabPaneStaticInit.ts | 18 +- .../sheet/schedswitch/TabPaneSchedSwitch.ts | 6 +- .../trace/sheet/sdk/TabPaneSdkCounter.ts | 2 + .../trace/sheet/sdk/TabPaneSdkSlice.ts | 73 +++-- .../vmtracker/TabPanePurgPinComparisonVM.ts | 4 +- .../vmtracker/TabPanePurgTotalComparisonVM.ts | 4 +- .../sheet/vmtracker/TabPaneVmTrackerShm.ts | 12 +- .../vmtracker/TabPaneVmTrackerShmSelection.ts | 8 +- ide/src/trace/database/DBUtils.ts | 3 +- ide/src/trace/database/IndexedDBHelp.ts | 14 +- ide/src/trace/database/LongTraceDBUtils.ts | 6 +- ide/src/trace/database/Procedure.ts | 50 ++-- ide/src/trace/database/SqlLite.ts | 58 ++-- ide/src/trace/database/SqlLiteWorker.ts | 39 ++- ide/src/trace/database/StateBusyTimeWorker.ts | 51 +++- ide/src/trace/database/TraceWorker.ts | 190 +++++++++--- .../database/data-trafic/CpuDataReceiver.ts | 1 + .../data-trafic/NativeMemoryDataSender.ts | 32 +-- .../database/data-trafic/SliceReceiver.ts | 263 ++++++++--------- .../trace/database/data-trafic/SliceSender.ts | 9 +- .../data-trafic/VirtualMemoryDataReceiver.ts | 65 +++-- .../data-trafic/VirtualMemoryDataSender.ts | 8 +- .../data-trafic/VmTrackerDataReceiver.ts | 272 +++++++++++------- .../data-trafic/VmTrackerDataSender.ts | 56 ++-- .../data-trafic/process/FuncDataReceiver.ts | 79 ++--- .../data-trafic/process/FuncDataSender.ts | 18 +- .../process/ProcessActualDataReceiver.ts | 96 ++++--- .../process/ProcessActualDataSender.ts | 20 +- .../process/ProcessDataReceiver.ts | 64 +++-- .../data-trafic/process/ProcessDataSender.ts | 10 +- .../ProcessDeliverInputEventDataReceiver.ts | 75 ++--- .../ProcessDeliverInputEventDataSender.ts | 26 +- .../process/ProcessExpectedDataReceiver.ts | 79 ++--- .../process/ProcessExpectedDataSender.ts | 18 +- .../process/ProcessMemDataReceiver.ts | 42 +-- .../process/ProcessMemDataSender.ts | 12 +- .../process/ProcessSoInitDataReceiver.ts | 43 +-- .../process/ProcessSoInitDataSender.ts | 18 +- .../process/ProcessStartupDataReceiver.ts | 45 +-- .../process/ProcessStartupDataSender.ts | 14 +- .../data-trafic/process/ThreadDataReceiver.ts | 104 ++++--- .../data-trafic/process/ThreadDataSender.ts | 20 +- .../data-trafic/utils/AllMemoryCache.ts | 39 +-- .../database/data-trafic/utils/DataFilter.ts | 82 +++--- .../data-trafic/utils/ExecProtoForWorker.ts | 6 +- ide/src/trace/database/sql/Ability.sql.ts | 15 +- ide/src/trace/database/sql/Clock.sql.ts | 3 +- ide/src/trace/database/sql/Cpu.sql.ts | 44 ++- ide/src/trace/database/sql/Func.sql.ts | 15 +- ide/src/trace/database/sql/Gpu.sql.ts | 3 +- ide/src/trace/database/sql/Irq.sql.ts | 6 +- ide/src/trace/database/sql/Janks.sql.ts | 14 +- ide/src/trace/database/sql/Memory.sql.ts | 45 ++- ide/src/trace/database/sql/NativeHook.sql.ts | 9 +- ide/src/trace/database/sql/Perf.sql.ts | 30 +- .../trace/database/sql/ProcessThread.sql.ts | 81 ++++-- ide/src/trace/database/sql/Sdk.sql.ts | 15 +- ide/src/trace/database/sql/SqlLite.sql.ts | 108 +++++-- 102 files changed, 1757 insertions(+), 1195 deletions(-) diff --git a/ide/src/base-ui/select/LitSelectOption.ts b/ide/src/base-ui/select/LitSelectOption.ts index 8dbe1a349..fe91b6044 100644 --- a/ide/src/base-ui/select/LitSelectOption.ts +++ b/ide/src/base-ui/select/LitSelectOption.ts @@ -109,7 +109,7 @@ export class LitSelectOption extends BaseElement { adoptedCallback(): void {} //当 custom element增加、删除、修改自身属性时,被调用。 - attributeChangedCallback(name: any, oldValue: any, newValue: any): void {} + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void {} } if (!customElements.get('lit-select-option')) { diff --git a/ide/src/base-ui/select/LitSelectV.ts b/ide/src/base-ui/select/LitSelectV.ts index cd92a723a..290c42e7d 100644 --- a/ide/src/base-ui/select/LitSelectV.ts +++ b/ide/src/base-ui/select/LitSelectV.ts @@ -22,10 +22,10 @@ export class LitSelectV extends BaseElement { showItems: Array = []; itemValue: Array = []; customItem: Array = []; - private focused: any; - private selectVInputEl: any; - private selectVSearchInputEl: any; - private selectVIconEl: any; + private focused: unknown; + private selectVInputEl: unknown; + private selectVSearchInputEl: unknown; + private selectVIconEl: unknown; private selectVOptions: HTMLDivElement | undefined; private selectVBody: HTMLDivElement | undefined; @@ -35,7 +35,7 @@ export class LitSelectV extends BaseElement { return ['value', 'default-value', 'placeholder', 'disabled', 'show-search', 'border', 'mode']; } - get value(): string { + get value(): string {// @ts-ignore return this.selectVInputEl!.value || this.defaultValue; } @@ -157,36 +157,36 @@ export class LitSelectV extends BaseElement { this.selectVSearchInputEl = this.shadowRoot!.querySelector('#search-input') as HTMLInputElement; this.selectVBody = this.shadowRoot!.querySelector('.body') as HTMLDivElement; this.selectVOptions = this.shadowRoot!.querySelector('.body-opt') as HTMLDivElement; - this.selectVIconEl = this.shadowRoot!.querySelector('.icon'); + this.selectVIconEl = this.shadowRoot!.querySelector('.icon');// @ts-ignore this.selectVInputEl!.oninput = (ev: InputEvent): void => { // @ts-ignore - if (this.selectVInputEl!.value === '00') { + if (this.selectVInputEl!.value === '00') {// @ts-ignore this.selectVInputEl!.value = '0'; ev.preventDefault(); - } + }// @ts-ignore if (this.selectVInputEl!.value === '') { this.shadowRoot?.querySelectorAll('lit-select-option').forEach((it) => { it.removeAttribute('selected'); this.showItems = []; }); } - }; + };// @ts-ignore this.selectVSearchInputEl!.onkeydown = (ev: KeyboardEvent): void => { // @ts-ignore if (ev.key === '0' && ev.target.value.length === 1 && ev.target.value === '0') { ev.preventDefault(); } }; - this.onclick = (ev: any): void => { + this.onclick = (ev: unknown): void => { if (this.focused === false) { this.focused = true; } else { this.focused = false; } - }; + };// @ts-ignore this.selectVSearchInputEl?.addEventListener('keyup', () => { let options = [...this.shadowRoot!.querySelectorAll('.option')]; - options.filter((a: LitSelectOption) => { + options.filter((a: LitSelectOption) => {// @ts-ignore if (a.textContent!.indexOf(this.selectVSearchInputEl!.value) <= -1) { a.style.display = 'none'; } else { @@ -200,13 +200,13 @@ export class LitSelectV extends BaseElement { setEvent(): void { this.onmouseout = this.onblur = (ev): void => { this.focused = false; - }; - this.selectVInputEl.onfocus = (ev: any): void => { + };// @ts-ignore + this.selectVInputEl.onfocus = (ev: unknown): void => { if (this.hasAttribute('disabled')) { return; } - }; - this.selectVInputEl.onblur = (ev: any): void => { + };// @ts-ignore + this.selectVInputEl.onblur = (ev: unknown): void => { if (this.hasAttribute('disabled')) { return; } @@ -240,11 +240,11 @@ export class LitSelectV extends BaseElement { ) as LitSelectOption; this.shadowRoot?.querySelectorAll('lit-select-option').forEach((a) => { a.setAttribute('check', ''); - a.addEventListener('onSelected', (e: any) => { + a.addEventListener('onSelected', (e: unknown) => { if (a.hasAttribute('selected')) { let number = this.showItems.indexOf(a.textContent!); if (number > -1) { - this.showItems!.splice(number, 1); + this.showItems!.splice(number, 1);// @ts-ignore this.selectVInputEl!.value = this.showItems; } this.all = false; @@ -255,7 +255,7 @@ export class LitSelectV extends BaseElement { let index = this.itemValue.indexOf(a.textContent!); let value = this.showItems.indexOf(a.textContent!); if (index > -1 && value === -1) { - this.showItems.push(a.textContent!); + this.showItems.push(a.textContent!);// @ts-ignore this.selectVInputEl!.value = this.showItems; } if (this.showItems.length >= this.itemValue.length) { @@ -275,7 +275,7 @@ export class LitSelectV extends BaseElement { initOptions(): void { this.shadowRoot?.querySelectorAll('lit-select-option').forEach((a) => { a.setAttribute('check', ''); - a.addEventListener('onSelected', (e: any) => { + a.addEventListener('onSelected', (e: unknown) => { if (a.hasAttribute('selected')) { let number = this.showItems.indexOf(a.textContent!); if (number > -1) { @@ -288,7 +288,7 @@ export class LitSelectV extends BaseElement { this.showItems.push(a.textContent!); } a.setAttribute('selected', ''); - } + }// @ts-ignore let items = this.selectVInputEl!.value.split(','); this.customItem = []; items.forEach((item: string) => { @@ -299,9 +299,9 @@ export class LitSelectV extends BaseElement { } } }); - if (this.customItem.length > 0) { + if (this.customItem.length > 0) {// @ts-ignore this.selectVInputEl.value = this.customItem.concat(this.showItems); - } else { + } else {// @ts-ignore this.selectVInputEl.value = this.showItems; } }); @@ -317,18 +317,18 @@ export class LitSelectV extends BaseElement { }); this.itemValue.forEach((i) => { this.showItems.push(i); - }); + });// @ts-ignore this.selectVInputEl.value = this.itemValue; } else { this.shadowRoot?.querySelectorAll('lit-select-option').forEach((i) => { i.removeAttribute('selected'); this.all = false; }); - this.showItems = []; + this.showItems = [];// @ts-ignore this.selectVInputEl.value = ''; } }); } - attributeChangedCallback(name: any, oldValue: any, newValue: any): void {} + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void {} } diff --git a/ide/src/base-ui/slicer/lit-slicer.ts b/ide/src/base-ui/slicer/lit-slicer.ts index 70133942b..b242da7d2 100644 --- a/ide/src/base-ui/slicer/lit-slicer.ts +++ b/ide/src/base-ui/slicer/lit-slicer.ts @@ -40,9 +40,9 @@ export class LitSlicer extends HTMLElement { `; } - set direction(val: any) { + set direction(val: unknown) { // @ts-ignore if (val.startsWith('h')) { - this.shadowRoot!.querySelector('div')!.style.flexDirection = 'row'; + this.shadowRoot!.querySelector('div')!.style.flexDirection = 'row'; // @ts-ignore } else if (val.startsWith('v')) { this.shadowRoot!.querySelector('div')!.style.flexDirection = 'column'; } @@ -52,14 +52,14 @@ export class LitSlicer extends HTMLElement { disconnectedCallback(): void {} - attributeChangedCallback(name: any, oldValue: any, newValue: any): void { - (this as any)[name] = newValue; + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void { // @ts-ignore + (this as unknown)[name] = newValue; } - - set style(v: any) {} + // @ts-ignore + set style(v: unknown) {} } -if (!customElements.get('lit-slicer')) { +if (!customElements.get('lit-slicer')) { // @ts-ignore customElements.define('lit-slicer', LitSlicer); } @@ -199,7 +199,7 @@ export class LitSlicerTrack extends HTMLElement { adoptedCallback(): void {} //当 custom element增加、删除、修改自身属性时,被调用。 - attributeChangedCallback(name: any, oldValue: any, newValue: any): void {} + attributeChangedCallback(name: unknown, oldValue: unknown, newValue: unknown): void {} } if (!customElements.get('lit-slicer-track')) { diff --git a/ide/src/base-ui/slider/LitSlider.ts b/ide/src/base-ui/slider/LitSlider.ts index 719a695f0..47dad25df 100644 --- a/ide/src/base-ui/slider/LitSlider.ts +++ b/ide/src/base-ui/slider/LitSlider.ts @@ -289,7 +289,7 @@ export class LitSlider extends BaseElement { } }; - inputChangeEvent = (event: any): void => { + inputChangeEvent = (event: unknown): void => { if (this.litSlider) { this.currentValue = parseInt(this.litSlider?.value); let resultNumber = diff --git a/ide/src/base-ui/utils/ExcelFormater.ts b/ide/src/base-ui/utils/ExcelFormater.ts index 707607182..d05a55676 100644 --- a/ide/src/base-ui/utils/ExcelFormater.ts +++ b/ide/src/base-ui/utils/ExcelFormater.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -const htmlStr = (): any => { +const htmlStr = (): unknown => { const html_start = ''; return { uri: 'data:application/vnd.ms-excel;base64,', @@ -63,36 +63,36 @@ Content-Type: text/xml; charset="utf-8" export class ExcelFormater { static tmplCellXML = '{data}'; - static base64 = function (s: any): string { + static base64 = function (s: unknown): string {//@ts-ignore return window.btoa(unescape(encodeURIComponent(s))); }; - static format(s: any, c: any): string { - return s.replace(/{(\w+)}/g, function (m: any, p: any) { + static format(s: unknown, c: unknown): string {//@ts-ignore + return s.replace(/{(\w+)}/g, function (m: unknown, p: unknown) {//@ts-ignore return c[p]; }); } - static createExcelRow(columns: any[], data: any): string { + static createExcelRow(columns: unknown[], data: unknown): string { let rowsXML = ''; rowsXML += ''; - for (let k = 0; k < columns.length; k++) { - let dataIndex = columns[k].getAttribute('data-index'); + for (let k = 0; k < columns.length; k++) {//@ts-ignore + let dataIndex = columns[k].getAttribute('data-index');//@ts-ignore let columnName = columns[k].getAttribute('title'); if (columnName === '') { columnName = dataIndex; } let ctx = { attributeStyleID: '', - nameType: 'String', + nameType: 'String',//@ts-ignore data: data ? data[dataIndex] || '' : columnName, attributeFormula: '', }; rowsXML += this.format(this.tmplCellXML, ctx); } - rowsXML += ''; - if (data && data.children !== undefined && data.children.length > 0) { - data.children.forEach((child: any) => { + rowsXML += '';//@ts-ignore + if (data && data.children !== undefined && data.children.length > 0) {//@ts-ignore + data.children.forEach((child: unknown) => { rowsXML += this.createExcelRow(columns, child); }); } @@ -108,26 +108,26 @@ export class ExcelFormater { })}`; } - static testExport(dataSource: { columns: any[]; tables: any[]; sheetName: string }[], fileName: string): void { + static testExport(dataSource: { columns: unknown[]; tables: unknown[]; sheetName: string }[], fileName: string): void { this.tablesToHtmlExcelMultipleSheet(dataSource, fileName); } static tablesToHtmlExcelMultipleSheet( - dataSource: { columns: any[]; tables: any[]; sheetName: string }[], + dataSource: { columns: unknown[]; tables: unknown[]; sheetName: string }[], fileName: string, image?: string ): void { - let sheets: any[] = []; + let sheets: unknown[] = []; dataSource.forEach((data): void => { sheets.push(this.createTableData(data.columns, data.tables, image)); }); this.tablesToExcelTestSheet(sheets, fileName, dataSource); } - static createTableData(columns: any[], dataSource: any[], image?: string): string { + static createTableData(columns: unknown[], dataSource: unknown[], image?: string): string { let tableData = ''; - let columnDatas = columns.map((column) => { - let dataIndex = column.getAttribute('data-index'); + let columnDatas = columns.map((column) => {//@ts-ignore + let dataIndex = column.getAttribute('data-index');//@ts-ignore let columnName = column.getAttribute('title'); if (columnName === '') { columnName = dataIndex; @@ -153,7 +153,7 @@ export class ExcelFormater { return tableData; } - static createTHead(columns: any[]): string { + static createTHead(columns: unknown[]): string { let header = ''; columns.forEach((column) => { header += `${column}`; @@ -162,28 +162,28 @@ export class ExcelFormater { return header; } - static createTableRow(columns: any[], data: any, image?: any): string { - let childrenData = ''; - if (data.children !== undefined) { - data.children.forEach((child: any) => { + static createTableRow(columns: unknown[], data: unknown, image?: unknown): string { + let childrenData = '';//@ts-ignore + if (data.children !== undefined) {//@ts-ignore + data.children.forEach((child: unknown) => { if (child) { childrenData += this.createTableRow(columns, child); } }); } return `${columns - .map((column) => { + .map((column) => {//@ts-ignore return `${(data[column] + '').replace('μ', 'u')}` || ''; }) .join('')}${image ? `
` : ''}${childrenData}`; } static tablesToExcelTestSheet( - tables: any[], + tables: unknown[], filename: string, - dataSource: { columns: any[]; tables: any[]; sheetName: string }[] + dataSource: { columns: unknown[]; tables: unknown[]; sheetName: string }[] ): void { - const html_start = ''; + const html_start = '';//@ts-ignore let { uri, template_ExcelWorksheet, template_ListWorksheet, template_WorkBook } = htmlStr(); let template_HTMLWorksheet = ` diff --git a/ide/src/base-ui/utils/Template.ts b/ide/src/base-ui/utils/Template.ts index 844b22983..cee7e587b 100644 --- a/ide/src/base-ui/utils/Template.ts +++ b/ide/src/base-ui/utils/Template.ts @@ -16,10 +16,10 @@ const propsMap: string[] = ['disabled', 'hidden', 'checked', 'selected', 'required', 'open', 'readonly']; declare interface HTMLTemplateElement { - render(data: any): any; + render(data: unknown): unknown; } - -(HTMLTemplateElement as any).prototype.render = function (data: any): HTMLElement { +//@ts-ignore +(HTMLTemplateElement as unknown).prototype.render = function (data: unknown): HTMLElement { if (!this.$fragment) { const rule = this.getAttribute('rule') || 'v-'; this.$fragment = this.cloneNode(true); @@ -28,9 +28,9 @@ declare interface HTMLTemplateElement { // v-for Loop rendering //
=> ${ list.map(function(item,index){ return '
' }).join('') } const repeatEls = this.$fragment.content.querySelectorAll(`[\\${rule}for]`); - repeatEls.forEach((el: any) => { + repeatEls.forEach((el: unknown) => {//@ts-ignore const strFor = el.getAttribute(`${rule}for`); - const { isArray, items, params } = parseFor(strFor); + const { isArray, items, params } = parseFor(strFor);//@ts-ignore el.before( '${Object.entries(' + items + @@ -39,25 +39,25 @@ declare interface HTMLTemplateElement { params[2] || 'index' }` + '){ return `' - ); - el.removeAttribute(`${rule}for`); + );//@ts-ignore + el.removeAttribute(`${rule}for`);//@ts-ignore el.after('`}).join("")}'); }); // v-if Conditional rendering //
=> ${ if ? '
' : '' } const ifEls = this.$fragment.content.querySelectorAll(`[\\${rule}if]`); - ifEls.forEach((el: any) => { - const ifs = el.getAttribute(`${rule}if`); - el.before('${' + ifs + '?`'); - el.removeAttribute(`${rule}if`); + ifEls.forEach((el: unknown) => {//@ts-ignore + const ifs = el.getAttribute(`${rule}if`);//@ts-ignore + el.before('${' + ifs + '?`');//@ts-ignore + el.removeAttribute(`${rule}if`);//@ts-ignore el.after('`:``}'); }); // fragment aa => aa const fragments = this.$fragment.content.querySelectorAll('fragment,block'); - fragments.forEach((el: any) => { - el.after(el.innerHTML); + fragments.forEach((el: unknown) => {//@ts-ignore + el.after(el.innerHTML);//@ts-ignore el.parentNode.removeChild(el); }); } @@ -65,10 +65,11 @@ declare interface HTMLTemplateElement { // props const propsEls = this.fragment.content.querySelectorAll(`[${propsMap.join('],[')}]`); - propsEls.forEach((el: any) => { - propsMap.forEach((props: any) => { + propsEls.forEach((el: unknown) => { + propsMap.forEach((props: unknown) => { // If these attribute values are false, they are removed directly - if (el.getAttribute(props) === 'false') { + //@ts-ignore + if (el.getAttribute(props) === 'false') {//@ts-ignore el.removeAttribute(props); } }); @@ -87,18 +88,19 @@ function parseFor(strFor: String): { isArray: boolean, items: string | String, p } // String to template string -(String as any).prototype.interpolate = function (params: any): Function { +//@ts-ignore +(String as unknown).prototype.interpolate = function (params: unknown): Function {//@ts-ignore const names = Object.keys(params); // @ts-ignore const vals = Object.values(params); - const str = this.replace(/\{\{([^\}]+)\}\}/g, (all: any, s: any) => `\${${s}}`); + const str = this.replace(/\{\{([^\}]+)\}\}/g, (all: unknown, s: unknown) => `\${${s}}`); return new Function(...names, `return \`${escape2Html(str)}\`;`)(...vals); }; // HTML Character inversion meaning < => < function escape2Html(str: string): string { - let arrEntities: any = { lt: '<', gt: '>', nbsp: ' ', amp: '&', quot: '"' }; - return str.replace(/&(lt|gt|nbsp|amp|quot);/gi, function (all, t) { + let arrEntities: unknown = { lt: '<', gt: '>', nbsp: ' ', amp: '&', quot: '"' }; + return str.replace(/&(lt|gt|nbsp|amp|quot);/gi, function (all, t) {//@ts-ignore return arrEntities[t]; }); } diff --git a/ide/src/command/Cmd.ts b/ide/src/command/Cmd.ts index b92a7b6f6..c3e760f13 100644 --- a/ide/src/command/Cmd.ts +++ b/ide/src/command/Cmd.ts @@ -18,7 +18,7 @@ import { CmdConstant } from './CmdConstant'; import { HdcDeviceManager } from '../hdc/HdcDeviceManager'; export class Cmd { - static CmdSendPostUtils(uri: string, callback: Function, requestData: any): void { + static CmdSendPostUtils(uri: string, callback: Function, requestData: unknown): void { // @ts-ignore if (window.useWb) { return; diff --git a/ide/src/js-heap/LoadDatabase.ts b/ide/src/js-heap/LoadDatabase.ts index 4a123652b..46b447e7e 100644 --- a/ide/src/js-heap/LoadDatabase.ts +++ b/ide/src/js-heap/LoadDatabase.ts @@ -73,17 +73,22 @@ export class LoadDatabase { private async loadInfo(file: FileStruct): Promise { let result = await queryHeapInfo(file.id); for (let row of result) { + //@ts-ignore if (row.key.includes('types')) { continue; } + //@ts-ignore switch (row.key) { case 'node_count': + //@ts-ignore file.snapshotStruct.nodeCount = row.intValue; break; case 'edge_count': + //@ts-ignore file.snapshotStruct.edgeCount = row.intValue; break; case 'trace_function_count': + //@ts-ignore file.snapshotStruct.functionCount = row.intValue; break; } @@ -129,19 +134,31 @@ export class LoadDatabase { let strings = file.snapshotStruct.strings; for (let row of result) { let traceNode = new AllocationFunction( + //@ts-ignore row.id, + //@ts-ignore strings[row.name], + //@ts-ignore strings[row.scriptName], + //@ts-ignore row.scriptId, + //@ts-ignore row.line, + //@ts-ignore row.column, + //@ts-ignore row.count, + //@ts-ignore row.size, + //@ts-ignore row.liveCount, + //@ts-ignore row.liveSize, false ); + //@ts-ignore traceNode.parentsId.push(row.parentId); + //@ts-ignore traceNode.functionIndex = row.functionInfoIndex; traceNode.fileId = file.id; heapTraceNode.push(traceNode); @@ -155,6 +172,7 @@ export class LoadDatabase { private async loadStrings(file: FileStruct): Promise { let result = await queryHeapString(file.id); for (let data of result) { + //@ts-ignore file.snapshotStruct.strings.push(data.string); } } diff --git a/ide/src/js-heap/logic/HeapLoader.ts b/ide/src/js-heap/logic/HeapLoader.ts index e40490548..bc0a53883 100644 --- a/ide/src/js-heap/logic/HeapLoader.ts +++ b/ide/src/js-heap/logic/HeapLoader.ts @@ -410,7 +410,7 @@ export class HeapLoader { changed = false; for (let orderIdx = rootOrderedIdx - 1; orderIdx >= 0; --orderIdx) { // If dominator of the entry has already been set to root, - // then it can't propagate any further. + // then it can't propagate unknown further. if (affected[orderIdx] === 0) { continue; } @@ -991,19 +991,20 @@ export class HeapLoader { } private findParentsFunc(childNodes: ConstructorItem[], clickNode: ConstructorItem): void { - function findParents(clickNode: any, parents: any): any { + function findParents(clickNode: unknown, parents: unknown): unknown {//@ts-ignore if (!clickNode.parent) { return parents; } // add the parent of the current node to the result array + //@ts-ignore parents.push(clickNode); - for (let childNode of childNodes) { + for (let childNode of childNodes) {//@ts-ignore for (let heapParent of parents) { if (heapParent.id === childNode!.id) { childNode.hasNext = false; } } - } + }//@ts-ignore return findParents(clickNode.parent, parents); } findParents(clickNode, []); @@ -1069,7 +1070,7 @@ export class HeapLoader { } } - retains.sort(function (a: any, b: any) { + retains.sort(function (a: unknown, b: unknown) {//@ts-ignore return a.distance - b.distance; }); diff --git a/ide/src/log/Log.ts b/ide/src/log/Log.ts index 529ec150b..c9946130f 100644 --- a/ide/src/log/Log.ts +++ b/ide/src/log/Log.ts @@ -23,22 +23,22 @@ export enum LogLevel { ALL = Number.MIN_VALUE, } -export const error = (message?: any, ...optionalParams: any[]): void => { +export const error = (message?: unknown, ...optionalParams: unknown[]): void => { SpLog.logger(LogLevel.ERROR, message, ...optionalParams); }; -export const warn = (message?: any, ...optionalParams: any[]): void => { +export const warn = (message?: unknown, ...optionalParams: unknown[]): void => { SpLog.logger(LogLevel.WARN, message, ...optionalParams); }; -export const info = (message?: any, ...optionalParams: any[]): void => { +export const info = (message?: unknown, ...optionalParams: unknown[]): void => { SpLog.logger(LogLevel.INFO, message, ...optionalParams); }; -export const debug = (message?: any, ...optionalParams: any[]): void => { +export const debug = (message?: unknown, ...optionalParams: unknown[]): void => { SpLog.logger(LogLevel.DEBUG, message, ...optionalParams); }; -export const trace = (message?: any, ...optionalParams: any[]): void => { +export const trace = (message?: unknown, ...optionalParams: unknown[]): void => { SpLog.logger(LogLevel.TRACE, message, ...optionalParams); }; -export const log = (message?: any): void => { +export const log = (message?: unknown): void => { SpLog.logger(LogLevel.TRACE, message); }; @@ -58,7 +58,7 @@ class SpLog { return timeString; } - public static logger(logLevel: LogLevel, message?: any, ...optionalParams: any[]): void { + public static logger(logLevel: LogLevel, message?: unknown, ...optionalParams: unknown[]): void { if (logLevel >= SpLog.nowLogLevel) { switch (logLevel) { case LogLevel.ERROR: diff --git a/ide/src/trace/component/SpQuerySQL.ts b/ide/src/trace/component/SpQuerySQL.ts index 824e1c2ec..b888b1176 100644 --- a/ide/src/trace/component/SpQuerySQL.ts +++ b/ide/src/trace/component/SpQuerySQL.ts @@ -171,6 +171,7 @@ export class SpQuerySQL extends BaseElement { queryCustomizeSelect(sql).then((resultList): void => { if (resultList && resultList.length > 0) { this.statDataArray = resultList; + //@ts-ignore this.keyList = Object.keys(resultList[0]); this.querySize!.textContent = `Query result - ${this.statDataArray.length} counts.` + `(${sql})`; this.initDataElement(); diff --git a/ide/src/trace/component/SpSystemTrace.init.ts b/ide/src/trace/component/SpSystemTrace.init.ts index 683ea0b6b..60cbf7592 100644 --- a/ide/src/trace/component/SpSystemTrace.init.ts +++ b/ide/src/trace/component/SpSystemTrace.init.ts @@ -461,7 +461,9 @@ function selectHandlerRows(sp: SpSystemTrace, rows: Array>): void selection.diskIOipids ).then((res) => { if (res.length > 0) { + //@ts-ignore selection.fsCount = res[0].fsCount; + //@ts-ignore selection.vmCount = res[0].vmCount; } return new Promise((resolve) => resolve(1)); diff --git a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts index fb18372bb..909043664 100644 --- a/ide/src/trace/component/chart/SpAbilityMonitorChart.ts +++ b/ide/src/trace/component/chart/SpAbilityMonitorChart.ts @@ -161,14 +161,15 @@ export class SpAbilityMonitorChart { let hasTotal = false; let hasUserLoad = false; let hasSystemLoad = false; + //@ts-ignore let userLoad = cpuMaxData[0].userLoad; if (userLoad > 0) { hasUserLoad = true; - } + }//@ts-ignore let systemLoad = cpuMaxData[0].systemLoad; if (systemLoad > 0) { hasSystemLoad = true; - } + }//@ts-ignore let totalLoad = cpuMaxData[0].totalLoad; if (totalLoad > 0) { hasTotal = true; @@ -359,6 +360,7 @@ export class SpAbilityMonitorChart { parent: TraceRow ): Promise { let memoryTotal = await queryMemoryMaxData('sys.mem.total'); + //@ts-ignore let memoryTotalId = memoryTotal[0].filter_id; memoryUsedRow.rowParentId = key; @@ -421,6 +423,7 @@ export class SpAbilityMonitorChart { ): Promise { let cached = await queryMemoryMaxData('sys.mem.cached'); + //@ts-ignore let cachedId = cached[0].filter_id; cachedFilesRow.rowParentId = key; cachedFilesRow.rowHidden = !parent.expansion; @@ -480,6 +483,7 @@ export class SpAbilityMonitorChart { parent: TraceRow ): Promise { let swap = await queryMemoryMaxData('sys.mem.swap.total'); + //@ts-ignore let swapId = swap[0].filter_id; compressedRow.rowParentId = key; compressedRow.rowHidden = !parent.expansion; diff --git a/ide/src/trace/component/chart/SpAllAppStartups.ts b/ide/src/trace/component/chart/SpAllAppStartups.ts index c2c562d12..37f3e9b08 100644 --- a/ide/src/trace/component/chart/SpAllAppStartups.ts +++ b/ide/src/trace/component/chart/SpAllAppStartups.ts @@ -47,7 +47,7 @@ export class SpAllAppStartupsChart { let tmpSingleApp: any[] = await queryProcessStartup(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]!); if (tmpSingleApp.length === 8) { let avilSingleName = await querySingleAppStartupsName(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]!); - SpAllAppStartupsChart.allAppStartupsAva.push(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]); + SpAllAppStartupsChart.allAppStartupsAva.push(SpAllAppStartupsChart.APP_STARTUP_PID_ARR[i]);//@ts-ignore SpAllAppStartupsChart.AllAppStartupsNameArr.push(avilSingleName![0].name); } } diff --git a/ide/src/trace/component/chart/SpArkTsChart.ts b/ide/src/trace/component/chart/SpArkTsChart.ts index 1a39e0c25..fd2385da3 100644 --- a/ide/src/trace/component/chart/SpArkTsChart.ts +++ b/ide/src/trace/component/chart/SpArkTsChart.ts @@ -109,6 +109,7 @@ export class SpArkTsChart implements ParseListener { let jsMemory = await queryJsMemoryData(); if (jsMemory.length > 0 || jsCpu.length > 0) { this.folderRow = TraceRow.skeleton(); + //@ts-ignore this.process = jsConfig[0].pid; this.folderRow.rowId = this.process; this.folderRow.rowType = TraceRow.ROW_TYPE_ARK_TS; @@ -122,18 +123,21 @@ export class SpArkTsChart implements ParseListener { this.folderRow.supplierFrame = (): Promise> => new Promise>((resolve) => resolve([])); this.folderThreadHandler(); - this.trace.rowsEL?.appendChild(this.folderRow); + this.trace.rowsEL?.appendChild(this.folderRow);//@ts-ignore if (this.folderRow && jsConfig[0].type !== -1 && jsMemory.length > 0) { this.folderRow.addTemplateTypes('Memory'); - if (jsConfig[0].type === TYPE_SNAPSHOT) { + if (//@ts-ignore + jsConfig[0].type === TYPE_SNAPSHOT) { // snapshot await this.initSnapshotChart(); - } else if (jsConfig[0].type === TYPE_TIMELINE) { + } else if (//@ts-ignore + jsConfig[0].type === TYPE_TIMELINE) { // timeline await this.initTimelineChart(); } } - if (this.folderRow && jsConfig[0].enableCpuProfiler === 1 && jsCpu.length > 0) { + if (//@ts-ignore + this.folderRow && jsConfig[0].enableCpuProfiler === 1 && jsCpu.length > 0) { await this.initJsCpuChart(); } if ((this.heapSnapshotRow || this.heapTimelineRow) && jsMemory.length > 0) { diff --git a/ide/src/trace/component/chart/SpBpftraceChart.ts b/ide/src/trace/component/chart/SpBpftraceChart.ts index 2edf39402..4e1502503 100644 --- a/ide/src/trace/component/chart/SpBpftraceChart.ts +++ b/ide/src/trace/component/chart/SpBpftraceChart.ts @@ -30,6 +30,7 @@ export class SpBpftraceChart { async init(file: File | null) { if (!file) { let startTime = await queryStartTime(); + //@ts-ignore let folder = await this.initSample(startTime[0].start_ts, file); this.trace.rowsEL?.appendChild(folder); } else { diff --git a/ide/src/trace/component/chart/SpChartManager.ts b/ide/src/trace/component/chart/SpChartManager.ts index fa6f60e27..b2ad3af0d 100644 --- a/ide/src/trace/component/chart/SpChartManager.ts +++ b/ide/src/trace/component/chart/SpChartManager.ts @@ -117,7 +117,7 @@ export class SpChartManager { let appStartUpPids = await queryAppStartupProcessIds(); appStartUpPids.forEach((it) => SpChartManager.APP_STARTUP_PID_ARR.push(it.pid)); } - await this.initTraceConfig(); + await this.initTraceConfig();//@ts-ignore dict.map((d) => SpSystemTrace.DATA_DICT.set(d['id'], d['data'])); await this.cacheDataDictToWorker(); SpSystemTrace.DATA_TASK_POOL_CALLSTACK.clear(); @@ -125,16 +125,17 @@ export class SpChartManager { taskPoolCallStack.map((d) => SpSystemTrace.DATA_TASK_POOL_CALLSTACK.set(d.id, d)); progress('time range', 65); await this.initTotalTime(); - let ptArr = await queryThreadAndProcessName(); + let ptArr = await queryThreadAndProcessName();//@ts-ignore this.handleProcessThread(ptArr); info('initData timerShaftEL Data initialized'); const range = await queryTraceRange(); + //@ts-ignore this.tranceRange = range[0]; } async initCpu(progress: Function): Promise { progress('cpu', 70); - let count = await sliceSender(); + let count = await sliceSender();//@ts-ignore await this.cpu.init(count.cpu); info('initData cpu Data initialized'); if (FlagsConfig.getFlagsConfigEnableStatus('Bpftrace')) { @@ -203,7 +204,7 @@ export class SpChartManager { async importSoFileUpdate(): Promise { SpSystemTrace.DATA_DICT.clear(); - let dict = await queryDataDICT(); + let dict = await queryDataDICT();//@ts-ignore dict.map((d) => SpSystemTrace.DATA_DICT.set(d['id'], d['data'])); await this.cacheDataDictToWorker(); await perfDataQuery.initPerfCache(); diff --git a/ide/src/trace/component/chart/SpCpuChart.ts b/ide/src/trace/component/chart/SpCpuChart.ts index aeb6de6a5..119cf927d 100644 --- a/ide/src/trace/component/chart/SpCpuChart.ts +++ b/ide/src/trace/component/chart/SpCpuChart.ts @@ -81,6 +81,7 @@ export class SpCpuChart { let array = await queryCpuMax(); let cpuCountResult = await queryCpuCount(); if (cpuCountResult && cpuCountResult.length > 0 && cpuCountResult[0]) { + //@ts-ignore (window as any).cpuCount = cpuCountResult[0].cpuCount; } else { (window as any).cpuCount = 0; @@ -88,7 +89,7 @@ export class SpCpuChart { let cpuSchedSlice = await queryCpuSchedSlice(); this.initSchedSliceData(cpuSchedSlice); info('Cpu trace row data size is: ', array.length); - if (array && array.length > 0 && array[0]) { + if (array && array.length > 0 && array[0]) {//@ts-ignore let cpuMax = array[0].cpu; CpuStruct.cpuCount = cpuMax + 1; for (let i1 = 0; i1 < CpuStruct.cpuCount; i1++) { diff --git a/ide/src/trace/component/chart/SpEBPFChart.ts b/ide/src/trace/component/chart/SpEBPFChart.ts index 90abc0692..c724d5bf3 100644 --- a/ide/src/trace/component/chart/SpEBPFChart.ts +++ b/ide/src/trace/component/chart/SpEBPFChart.ts @@ -35,8 +35,11 @@ export class SpEBPFChart { async init(): Promise { let sys = await hasFileSysData(); if (sys.length > 0) { + //@ts-ignore let fsCount = sys[0]['fsCount'] ?? 0; + //@ts-ignore let vmCount = sys[0]['vmCount'] ?? 0; + //@ts-ignore let ioCount = sys[0]['ioCount'] ?? 0; if (sys && sys.length > 0 && (fsCount > 0 || vmCount > 0 || ioCount > 0)) { let folder = await this.initFolder(); diff --git a/ide/src/trace/component/chart/SpFrameTimeChart.ts b/ide/src/trace/component/chart/SpFrameTimeChart.ts index 5dac42468..cb70a3006 100644 --- a/ide/src/trace/component/chart/SpFrameTimeChart.ts +++ b/ide/src/trace/component/chart/SpFrameTimeChart.ts @@ -60,8 +60,8 @@ export class SpFrameTimeChart { this.idToProcessNameMap.clear(); if (frameTimeData.length > 0) { let processNamesArray = await queryAllProcessNames(); - processNamesArray.forEach((it) => { - this.pidToProcessNameMap.set(it.pid, it.name); + processNamesArray.forEach((it) => {//@ts-ignore + this.pidToProcessNameMap.set(it.pid, it.name);//@ts-ignore this.idToProcessNameMap.set(it.id, it.name); }); let frameTimeLineRow: TraceRow = await this.initFrameTimeLine(); diff --git a/ide/src/trace/component/chart/SpFreqChart.ts b/ide/src/trace/component/chart/SpFreqChart.ts index 453846f5d..3a190f969 100644 --- a/ide/src/trace/component/chart/SpFreqChart.ts +++ b/ide/src/trace/component/chart/SpFreqChart.ts @@ -47,6 +47,7 @@ export class SpFreqChart { async init(): Promise { let freqList = await queryCpuFreq(); let cpuStateFilterIds = await queryCpuStateFilter(); + //@ts-ignore this.trace.stateRowsId = cpuStateFilterIds; let cpuFreqLimits = await getCpuLimitFreqId(); let cpuFreqLimitsMax = await getCpuLimitFreqMax(cpuFreqLimits.map((limit) => limit.maxFilterId).join(',')); @@ -90,8 +91,8 @@ export class SpFreqChart { } async addFreqRows(freqList: Array): Promise { - let freqMaxList = await queryCpuMaxFreq(); - CpuFreqStruct.maxFreq = freqMaxList[0].maxFreq; + let freqMaxList = await queryCpuMaxFreq();//@ts-ignore + CpuFreqStruct.maxFreq = freqMaxList[0].maxFreq;//@ts-ignore let maxFreqObj = Utils.getFrequencyWithUnit(freqMaxList[0].maxFreq); CpuFreqStruct.maxFreq = maxFreqObj.maxFreq; CpuFreqStruct.maxFreqName = maxFreqObj.maxFreqName; diff --git a/ide/src/trace/component/chart/SpNativeMemoryChart.ts b/ide/src/trace/component/chart/SpNativeMemoryChart.ts index cf2d836a8..70a31fd01 100644 --- a/ide/src/trace/component/chart/SpNativeMemoryChart.ts +++ b/ide/src/trace/component/chart/SpNativeMemoryChart.ts @@ -202,9 +202,11 @@ export class SpNativeMemoryChart { let queryTime = await queryNativeMemoryRealTime(); let bootTime = await queryBootTime(); if (queryTime.length > 0) { + //@ts-ignore isRealtime = queryTime[0].clock_name === 'realtime'; } if (bootTime.length > 0 && isRealtime) { + //@ts-ignore realTimeDif = queryTime[0].ts - bootTime[0].ts; SpNativeMemoryChart.REAL_TIME_DIF = realTimeDif; } diff --git a/ide/src/trace/component/chart/SpProcessChart.ts b/ide/src/trace/component/chart/SpProcessChart.ts index a8c77ecd4..5237bd280 100644 --- a/ide/src/trace/component/chart/SpProcessChart.ts +++ b/ide/src/trace/component/chart/SpProcessChart.ts @@ -81,6 +81,7 @@ export class SpProcessChart { initAsyncFuncData = async (traceRange: { startTs: number; endTs: number }): Promise => { const funcNamesArray = await queryAllFuncNames(); funcNamesArray.forEach((it) => { + //@ts-ignore this.funcNameMap.set(it.id, it.name); }); let asyncFuncList: any[] = await queryProcessAsyncFunc(traceRange); @@ -227,24 +228,26 @@ export class SpProcessChart { let soInitNamesArray = await queryAllSoInitNames(); soInitNamesArray.forEach((it) => { + //@ts-ignore this.soInitNameMap.set(it.id, it.name); }); let processSrcSliceArray = await queryAllSrcSlices(); processSrcSliceArray.forEach((it) => { + //@ts-ignore this.processSrcSliceMap.set(it.id, it.src); }); let threadFuncMaxDepthArray = await getMaxDepthByTid(); info('Gets the maximum tier per thread , tid and maxDepth'); - threadFuncMaxDepthArray.forEach((it) => { + threadFuncMaxDepthArray.forEach((it) => {//@ts-ignore this.threadFuncMaxDepthMap.set(`${it.ipid}-${it.tid}`, it.maxDepth); }); info('convert tid and maxDepth array to map'); let pidCountArray = await queryProcessContentCount(); info('fetch per process pid,switch_count,thread_count,slice_count,mem_count'); - pidCountArray.forEach((it) => { - this.processThreadDataCountMap.set(it.pid, it.switch_count); - this.processThreadCountMap.set(it.pid, it.thread_count); - this.processFuncDataCountMap.set(it.pid, it.slice_count); + pidCountArray.forEach((it) => {//@ts-ignore + this.processThreadDataCountMap.set(it.pid, it.switch_count);//@ts-ignore + this.processThreadCountMap.set(it.pid, it.thread_count);//@ts-ignore + this.processFuncDataCountMap.set(it.pid, it.slice_count);//@ts-ignore this.processMemDataCountMap.set(it.pid, it.mem_count); }); this.processMem = await queryProcessMem(); diff --git a/ide/src/trace/component/chart/SpSdkChart.ts b/ide/src/trace/component/chart/SpSdkChart.ts index 3fc0d9ca5..132a242ad 100644 --- a/ide/src/trace/component/chart/SpSdkChart.ts +++ b/ide/src/trace/component/chart/SpSdkChart.ts @@ -174,6 +174,7 @@ export class SpSdkChart { return; } let res = await queryStartTime(); + //@ts-ignore let startTime = res[0].start_ts; let tablesMap = this.parseJson(startTime, configMap); let tableKeys = tablesMap.keys(); @@ -259,6 +260,7 @@ export class SpSdkChart { CounterStruct.hoverCounterStruct = traceRow.getHoverStruct(); }; let maxList = await queryCounterMax(sqlMap.maxSql, result.counter_id, componentId); + //@ts-ignore let maxCounter = maxList[0].max_value; traceRow.onThreadHandler = (useCache: boolean): void => { let context: CanvasRenderingContext2D; diff --git a/ide/src/trace/component/chart/SpVirtualMemChart.ts b/ide/src/trace/component/chart/SpVirtualMemChart.ts index 3f5c765a5..d87990a7a 100644 --- a/ide/src/trace/component/chart/SpVirtualMemChart.ts +++ b/ide/src/trace/component/chart/SpVirtualMemChart.ts @@ -63,6 +63,7 @@ export class SpVirtualMemChart { vmFolder.canvasRestore(this.trace.canvasPanelCtx!, this.trace); }; this.trace.rowsEL?.appendChild(vmFolder); + //@ts-ignore array.forEach((it) => this.initVirtualMemoryRow(vmFolder, it.id, it.name)); } diff --git a/ide/src/trace/component/chart/SpVmTrackerChart.ts b/ide/src/trace/component/chart/SpVmTrackerChart.ts index ab8c8bd4f..43bbe3672 100644 --- a/ide/src/trace/component/chart/SpVmTrackerChart.ts +++ b/ide/src/trace/component/chart/SpVmTrackerChart.ts @@ -89,6 +89,7 @@ export class VmTrackerChart { } const isExistsShm = await queryisExistsShmData(this.memoryConfig.iPid); const isExistsDma = await queryisExistsDmaData(this.memoryConfig.iPid); + //@ts-ignore if (isExistsShm[0].data_exists) { await this.initShmRows(); } @@ -330,10 +331,10 @@ export class VmTrackerChart { private initPurgeableVM = async (): Promise => { let time = new Date().getTime(); const isExistsPurgeableTotal = await queryisExistsPurgeableData(this.memoryConfig.iPid, false); - const isExistsPurgeablePin = await queryisExistsPurgeableData(this.memoryConfig.iPid, true); + const isExistsPurgeablePin = await queryisExistsPurgeableData(this.memoryConfig.iPid, true);//@ts-ignore if (isExistsPurgeableTotal[0].data_exists) { await this.initPurgeableTotal(); - } + }//@ts-ignore if (isExistsPurgeablePin[0].data_exists) { await this.initPurgeablePin(); } diff --git a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts index 6e690334c..94544f219 100644 --- a/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts +++ b/ide/src/trace/component/schedulingAnalysis/Top20FrequencyThread.ts @@ -124,10 +124,10 @@ export class Top20FrequencyThread extends BaseElement { } this.traceChange = false; this.frequencyThreadProgress!.loading = true; - if (Top20FrequencyThread.threads === undefined) { + if (Top20FrequencyThread.threads === undefined) {//@ts-ignore Top20FrequencyThread.threads = (await queryThreads()) || []; this.nodata!.noData = Top20FrequencyThread.threads === undefined || Top20FrequencyThread.threads.length === 0; - this.threadSelect!.innerHTML = ''; + this.threadSelect!.innerHTML = '';//@ts-ignore let threads = Top20FrequencyThread.threads.map((it) => { let option = new LitSelectOption(); option.setAttribute('value', `${it.tid}`); @@ -135,9 +135,9 @@ export class Top20FrequencyThread extends BaseElement { return option; }); this.threadSelect!.append(...threads); - this.threadSelect?.initOptions(); - this.threadSelect!.value = `${Top20FrequencyThread.threads[0].tid}`; - this.currentThread!.textContent = Top20FrequencyThread.threads[0].name; + this.threadSelect?.initOptions();//@ts-ignore + this.threadSelect!.value = `${Top20FrequencyThread.threads[0].tid}`;//@ts-ignore + this.currentThread!.textContent = Top20FrequencyThread.threads[0].name;//@ts-ignore this.currentTid = Top20FrequencyThread.threads[0].tid; this.queryData(); } diff --git a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts index 39443acc2..14af1b0d4 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts @@ -443,6 +443,7 @@ export class TabPaneCurrentSelection extends BaseElement { let argsBinderRes = result[1]; let asyncBinderStract: any; if (asyncBinderRes.length > 0) { + //@ts-ignore asyncBinderRes[0].type = TraceRow.ROW_TYPE_FUNC; asyncBinderStract = asyncBinderRes[0]; } @@ -891,6 +892,7 @@ export class TabPaneCurrentSelection extends BaseElement { if (data.frame_type === 'render_service') { queryGpuDur(data.id!).then((it) => { if (it.length > 0) { + //@ts-ignore list.push({ name: 'Gpu Duration', value: getTimeString(it[0].gpu_dur) }); } }); @@ -913,6 +915,7 @@ export class TabPaneCurrentSelection extends BaseElement { if (it.length > 0) { list.push({ name: 'Gpu Duration', + //@ts-ignore value: getTimeString(it[0].gpu_dur), }); } @@ -1234,6 +1237,7 @@ export class TabPaneCurrentSelection extends BaseElement { useEnd ? recordNs + data.startTs! + data.dur! : recordNs + data.startTs! ).then((result) => { if (result.length > 0) { + //@ts-ignore let pt: { pid: number; tid: number; @@ -1306,6 +1310,7 @@ export class TabPaneCurrentSelection extends BaseElement { let recordNs: number = (window as any).recordStartNS; queryThreadByItid(data.itid!, recordNs + data.startTs!).then((result) => { if (result.length > 0) { + //@ts-ignore let pt: { pid: number; tid: number; @@ -1676,8 +1681,9 @@ export class TabPaneCurrentSelection extends BaseElement { priority: 0, isSelected: false, }; + //@ts-ignore let find = res.find((re) => re.cpu === it.cpu && re.itid === it.itid && re.ts === it.ts); - if (find) { + if (find) {//@ts-ignore wake.priority = find.priority; } maxDuration = Math.max(maxDuration, it.dur!); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts index 0e4c6eb7f..abcb6d5ac 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPaneMemoryAbility.ts @@ -107,6 +107,7 @@ export class TabPaneMemoryAbility extends BaseElement { queryDataByDB(val: SelectionParam | any): void { queryStartTime().then((res): void => { + //@ts-ignore let startTime = res[0].start_ts; getTabMemoryAbilityData(val.leftNs + startTime, val.rightNs + startTime).then((items): void => { log(`getTabMemoryAbilityData result size : ${ items.length}`); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts index 6bfdf9608..d2c92ab33 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinComparisonAbility.ts @@ -101,11 +101,12 @@ export class TabPanePurgPinComparisonAbility extends BaseElement { // 点击的 await querySysPurgeableSelectionTab(baseTime, true).then(async (results) => { for (let i = 0; i < results.length; i++) { + //@ts-ignore baseArr.push(new CompareStruct(results[i].name, results[i].value)); } // 被比较的 await querySysPurgeableSelectionTab(targetTime, true).then((results) => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore targetArr.push(new CompareStruct(results[i].name, results[i].value)); } let compareData = compare(baseArr, targetArr); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts index d880510d6..69194f8ba 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgPinSelection.ts @@ -44,6 +44,7 @@ export class TabPanePurgPinSelection extends BaseElement { value: (startNs + (window as any).recordStartNS) / 1000000000, }); for (let i = 0; i < purgePinSelectResults.length; i++) { + //@ts-ignore purgePinSelectResults[i].value = Utils.getBinaryByteWithUnit(purgePinSelectResults[i].value); this.purgeableSelectionSource.push(purgePinSelectResults[i]); this.purgeableSelectionTable!.recycleDataSource = this.purgeableSelectionSource; @@ -57,7 +58,7 @@ export class TabPanePurgPinSelection extends BaseElement { name: 'TimeStamp(Absolute)', value: (startNs + (window as any).recordStartNS) / 1000000000, }); - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore results[i].value = Utils.getBinaryByteWithUnit(results[i].value); this.purgeableSelectionSource.push(results[i]); this.purgeableSelectionTable!.recycleDataSource = this.purgeableSelectionSource; diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts index 85423ad6b..59ca7dbf0 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalComparisonAbility.ts @@ -102,11 +102,12 @@ export class TabPanePurgTotalComparisonAbility extends BaseElement { // 点击的 await querySysPurgeableSelectionTab(baseTime).then(async (results): Promise => { for (let i = 0; i < results.length; i++) { + //@ts-ignore baseArr.push(new CompareStruct(results[i].name, results[i].value)); } // 被比较的 await querySysPurgeableSelectionTab(targetTime).then((results): void => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) { //@ts-ignore targetArr.push(new CompareStruct(results[i].name, results[i].value)); } let compareData = compare(baseArr, targetArr); diff --git a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts index cb85d9ba5..996f5de48 100644 --- a/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts +++ b/ide/src/trace/component/trace/sheet/ability/TabPanePurgTotalSelection.ts @@ -45,6 +45,7 @@ export class TabPanePurgTotalSelection extends BaseElement { value: (startNs + (window as any).recordStartNS) / 1000000000, }); for (let i = 0; i < purgeTotalSelectResults.length; i++) { + //@ts-ignore purgeTotalSelectResults[i].value = Utils.getBinaryByteWithUnit(purgeTotalSelectResults[i].value); this.purgeableSelectionSource.push(purgeTotalSelectResults[i]); } @@ -60,7 +61,7 @@ export class TabPanePurgTotalSelection extends BaseElement { name: 'TimeStamp(Absolute)', value: (startNs + (window as any).recordStartNS) / 1000000000, }); - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore results[i].value = Utils.getBinaryByteWithUnit(results[i].value); this.purgeableSelectionSource.push(results[i]); } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts index 4415d98e1..b3835cb3f 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCounterSample.ts @@ -147,6 +147,7 @@ export class TabPaneCounterSample extends BaseElement { let sampleMap = new Map(); counterSampleParam.cpuStateFilterIds.forEach((a: number): void => { this.getInitTime( + //@ts-ignore result.filter((f) => f.filterId === a), sampleMap, counterSampleParam diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts index fad8b626b..85d4f6bb7 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneCpuByProcess.ts @@ -50,18 +50,19 @@ export class TabPaneCpuByProcess extends BaseElement { let sumWall = 0.0; let sumOcc = 0; for (let e of result) { - let process = Utils.PROCESS_MAP.get(e.pid); - e.process = !process || process.length === 0 ? '[NULL]' : process; - sumWall += e.wallDuration; - sumOcc += e.occurrences; - e.wallDuration = parseFloat((e.wallDuration / 1000000.0).toFixed(5)); + //@ts-ignore + let process = Utils.PROCESS_MAP.get(e.pid);//@ts-ignore + e.process = !process || process.length === 0 ? '[NULL]' : process;//@ts-ignore + sumWall += e.wallDuration;//@ts-ignore + sumOcc += e.occurrences;//@ts-ignore + e.wallDuration = parseFloat((e.wallDuration / 1000000.0).toFixed(5));//@ts-ignore e.avgDuration = parseFloat((parseFloat(e.avgDuration) / 1000000.0).toFixed(5)).toString(); } let count = new SelectionData(); count.process = ' '; count.wallDuration = parseFloat((sumWall / 1000000.0).toFixed(5)); count.occurrences = sumOcc; - result.splice(0, 0, count); + result.splice(0, 0, count);//@ts-ignore this.cpuByProcessSource = result; this.cpuByProcessTbl!.recycleDataSource = result; } else { diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts index 8efc4f40f..89a91f4b3 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneFrequencySample.ts @@ -161,6 +161,7 @@ export class TabPaneFrequencySample extends BaseElement { this.freqResult = result; frqSampleParam.cpuFreqFilterIds.forEach((a: number): void => { this.getInitTime( + //@ts-ignore result.filter((f) => f.filterId === a), sampleMap, frqSampleParam diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts b/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts index c9a87eab5..404c77a91 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPanePTS.ts @@ -48,6 +48,7 @@ export class TabPanePTS extends BaseElement { sliceSPTSender(ptsLeftNs, ptsRightNs, cpus, 'spt-getPTS').then((res): void => { this.ptsTbl!.loading = false; this.ptsTbl!.recycleDataSource = res; + //@ts-ignore this.theadClick(res); }); } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts index d634c510d..a0f0a7f06 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneSPT.ts @@ -57,6 +57,7 @@ export class TabPaneSPT extends BaseElement { sliceSPTSender(leftNs, rightNs, cpus, 'spt-getSPT').then((res): void => { this.sptTbl!.loading = false; this.sptTbl!.recycleDataSource = res; + //@ts-ignore this.theadClick(res); }); } diff --git a/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts b/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts index dbeb8e232..caed36a34 100644 --- a/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts +++ b/ide/src/trace/component/trace/sheet/cpu/TabPaneSchedPriority.ts @@ -90,10 +90,10 @@ export class TabPaneSchedPriority extends BaseElement { // thread_state表中runnable数据的Map const runnableMap = new Map(); sliceSPTSender(sptParam.leftNs, sptParam.rightNs, [], 'spt-getCpuPriorityByTime').then((res): void => { - for (const item of res) { - if (['R', 'R+'].includes(item.state)) { + for (const item of res) {//@ts-ignore + if (['R', 'R+'].includes(item.state)) {//@ts-ignore runnableMap.set(`${item.id}_${item.startTime + item.dur}`, item); - } + }//@ts-ignore if (item.cpu === null || !sptParam.cpus.includes(item.cpu)) { continue; } diff --git a/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts b/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts index c56f785c8..760e0f54d 100644 --- a/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts +++ b/ide/src/trace/component/trace/sheet/freq/TabPaneCpuFreqLimits.ts @@ -41,10 +41,13 @@ export class TabPaneCpuFreqLimits extends BaseElement { let list: any[] = []; getCpuLimitFreqBoxSelect(cpuFreqLimitSelection.cpuFreqLimit, cpuFreqLimitSelection.rightNs).then((res) => { for (let it of res) { + //@ts-ignore if (!it.dur || it.startNs + it.dur > cpuFreqLimitSelection.rightNs) { + //@ts-ignore it.dur = (cpuFreqLimitSelection.rightNs || 0) - (it.startNs || 0); } } + //@ts-ignore this.formatData(res, cpuFreqLimitSelection.leftNs, cpuFreqLimitSelection.rightNs); }); } diff --git a/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts b/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts index d3eb7a02e..0737f1ef7 100644 --- a/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts +++ b/ide/src/trace/component/trace/sheet/irq/TabPaneIrqCounter.ts @@ -43,12 +43,19 @@ export class TabPaneIrqCounter extends BaseElement { resArr.forEach((res) => { res.forEach((item) => { let selectData = new SelectionData(); + //@ts-ignore selectData.name = item.irqName; + //@ts-ignore selectData.count = item.count; + //@ts-ignore selectData.wallDuration = item.wallDuration; + //@ts-ignore selectData.wallDurationFormat = (item.wallDuration / 1000).toFixed(2); + //@ts-ignore selectData.maxDuration = item.wallDuration; + //@ts-ignore selectData.maxDurationFormat = (item.maxDuration / 1000).toFixed(2); + //@ts-ignore selectData.avgDuration = (item.avgDuration / 1000).toFixed(2); dataSource.push(selectData); }); diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts b/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts index 1163d8a08..0fe86a1a2 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneCounter.ts @@ -39,8 +39,10 @@ export class TabPaneCounter extends BaseElement { this.counterTbl!.loading = true; getTabCounters(counterParam.processTrackIds, counterParam.virtualTrackIds, counterParam.rightNs).then((result) => { this.counterTbl!.loading = false; + //@ts-ignore if (result !== null && result.length > 0) { let dataSource: Array = []; + //@ts-ignore let collect = this.groupByTrackIdToMap(result); let sumCount = 0; for (let key of collect.keys()) { diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts b/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts index cd3e2c466..5bc5ee19c 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneSlices.ts @@ -32,24 +32,24 @@ export class TabPaneSlices extends BaseElement { private slicesSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(slicesParam: SelectionParam | any) { + set data(slicesParam: SelectionParam | unknown) { if (this.currentSelectionParam === slicesParam) { return; - } + }//@ts-ignore this.currentSelectionParam = slicesParam; - this.slicesRange!.textContent = `Selected range: ${parseFloat( + this.slicesRange!.textContent = `Selected range: ${parseFloat(//@ts-ignore ((slicesParam.rightNs - slicesParam.leftNs) / 1000000.0).toFixed(5) )} ms`; let asyncNames: Array = []; - let asyncPid: Array = []; - slicesParam.funAsync.forEach((it: any) => { - asyncNames.push(it.name); + let asyncPid: Array = [];//@ts-ignore + slicesParam.funAsync.forEach((it: unknown) => {//@ts-ignore + asyncNames.push(it.name);//@ts-ignore asyncPid.push(it.pid); }); this.slicesTbl!.loading = true; let filterNameEL: HTMLInputElement | undefined | null = - this.shadowRoot?.querySelector('#filterName'); - getTabSlicesAsyncFunc(asyncNames, asyncPid, slicesParam.leftNs, slicesParam.rightNs).then((res) => { + this.shadowRoot?.querySelector('#filterName');//@ts-ignore + getTabSlicesAsyncFunc(asyncNames, asyncPid, slicesParam.leftNs, slicesParam.rightNs).then((res) => {//@ts-ignore getTabSlices(slicesParam.funTids, slicesParam.processIds, slicesParam.leftNs, slicesParam.rightNs).then( (res2) => { this.slicesTbl!.loading = false; @@ -58,10 +58,15 @@ export class TabPaneSlices extends BaseElement { let sumWall = 0.0; let sumOcc = 0; for (let processSliceItem of processSlicesResult) { + //@ts-ignore processSliceItem.name = processSliceItem.name === null ? '' : processSliceItem.name; + //@ts-ignore sumWall += processSliceItem.wallDuration; + //@ts-ignore sumOcc += processSliceItem.occurrences; + //@ts-ignore processSliceItem.wallDuration = parseFloat((processSliceItem.wallDuration / 1000000.0).toFixed(5)); + //@ts-ignore processSliceItem.avgDuration = parseFloat((processSliceItem.avgDuration / 1000000.0).toFixed(5)); } let count = new SelectionData(); @@ -72,6 +77,7 @@ export class TabPaneSlices extends BaseElement { if (filterNameEL && filterNameEL.value.trim() !== '') { this.findName(filterNameEL.value); } else { + //@ts-ignore this.slicesSource = processSlicesResult; this.slicesTbl!.recycleDataSource = processSlicesResult; } @@ -129,8 +135,8 @@ export class TabPaneSlices extends BaseElement { return; } // @ts-ignore - search.list = mixedResults.filter((item) => item.funName === data.name); - const sliceRowList: Array> = []; + search.list = mixedResults.filter((item) => item.funName === data.name);//@ts-ignore + const sliceRowList: Array> = []; // 框选的slice泳道 for (let row of spSystemTrace.rangeSelect.rangeTraceRow!) { if (row.rowType === 'func') { @@ -152,9 +158,9 @@ export class TabPaneSlices extends BaseElement { } private slicesTblFreshSearchSelect( - search: LitSearch, - sliceRowList: Array>, - data: any, + search: LitSearch,//@ts-ignore + sliceRowList: Array>, + data: unknown, spSystemTrace: SpSystemTrace ): void { let input = search.shadowRoot?.querySelector('input') as HTMLInputElement; @@ -185,7 +191,7 @@ export class TabPaneSlices extends BaseElement { if (rangeSelectList.length === 0) { return; - } + }//@ts-ignore input.value = data.name; search.list = rangeSelectList; search.total = search.list.length; @@ -235,7 +241,7 @@ export class TabPaneSlices extends BaseElement { `; } - sortByColumn(slicesDetail: any): void { + sortByColumn(slicesDetail: unknown): void { // @ts-ignore function compare(property, slicesSort, type) { return function (slicesLeftData: SelectionData, slicesRightData: SelectionData) { @@ -264,10 +270,10 @@ export class TabPaneSlices extends BaseElement { } }; } - - if (slicesDetail.key === 'name') { +//@ts-ignore + if (slicesDetail.key === 'name') {//@ts-ignore this.slicesSource.sort(compare(slicesDetail.key, slicesDetail.sort, 'string')); - } else { + } else {//@ts-ignore this.slicesSource.sort(compare(slicesDetail.key, slicesDetail.sort, 'number')); } this.slicesTbl!.recycleDataSource = this.slicesSource; diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneStartup.ts b/ide/src/trace/component/trace/sheet/process/TabPaneStartup.ts index 2f7237125..2a7b59a35 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneStartup.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneStartup.ts @@ -38,18 +38,18 @@ export class TabPaneStartup extends BaseElement { private startupSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(startupParam: SelectionParam | any) { + set data(startupParam: SelectionParam | unknown) { if (this.currentSelectionParam === startupParam) { return; - } + }// @ts-ignore this.currentSelectionParam = startupParam; //@ts-ignore - this.startupTbl?.shadowRoot?.querySelector('.table')?.style?.height = `${this.parentElement!.clientHeight - 45}px`; + this.startupTbl?.shadowRoot?.querySelector('.table')?.style?.height = `${this.parentElement!.clientHeight - 45}px`;// @ts-ignore this.range!.textContent = `Selected range: ${((startupParam.rightNs - startupParam.leftNs) / 1000000.0).toFixed( 5 )} ms`; - this.startupTbl!.loading = true; - getTabStartups(startupParam.processIds, startupParam.leftNs, startupParam.rightNs).then( + this.startupTbl!.loading = true;// @ts-ignore + getTabStartups(startupParam.processIds, startupParam.leftNs, startupParam.rightNs).then(//@ts-ignore (result: AppStartupStruct[]) => { this.processTabStartups(result); } @@ -116,7 +116,7 @@ export class TabPaneStartup extends BaseElement { initElements(): void { this.startupTbl = this.shadowRoot?.querySelector('#tb-startup'); this.range = this.shadowRoot?.querySelector('#startup-time-range'); - this.startupTbl!.addEventListener('column-click', (evt: any) => { + this.startupTbl!.addEventListener('column-click', (evt: unknown) => {// @ts-ignore this.sortByColumn(evt.detail); }); } @@ -161,10 +161,10 @@ export class TabPaneStartup extends BaseElement { `; } - sortByColumn(startupDetail: any): void { - let compare = (startupA: StartupTreeItem, startupB: StartupTreeItem): number => { + sortByColumn(startupDetail: unknown): void { + let compare = (startupA: StartupTreeItem, startupB: StartupTreeItem): number => {// @ts-ignore if (startupDetail.sort === 0) { - return startupA.step - startupB.step; + return startupA.step - startupB.step;// @ts-ignore } else if (startupDetail.sort === 1) { return startupA.dur - startupB.dur; } else { diff --git a/ide/src/trace/component/trace/sheet/process/TabPaneStaticInit.ts b/ide/src/trace/component/trace/sheet/process/TabPaneStaticInit.ts index d60edb947..0f64d6036 100644 --- a/ide/src/trace/component/trace/sheet/process/TabPaneStaticInit.ts +++ b/ide/src/trace/component/trace/sheet/process/TabPaneStaticInit.ts @@ -37,9 +37,9 @@ export class TabPaneStaticInit extends BaseElement { private staticinitSource: Array = []; private currentSelectionParam: SelectionParam | undefined; - set data(staticinitParam: SelectionParam | any) { - this.initStaticTblStyle(staticinitParam); - getTabStaticInit(staticinitParam.processIds, staticinitParam.leftNs, staticinitParam.rightNs).then( + set data(staticinitParam: SelectionParam | unknown) { + this.initStaticTblStyle(staticinitParam);// @ts-ignore + getTabStaticInit(staticinitParam.processIds, staticinitParam.leftNs, staticinitParam.rightNs).then(//@ts-ignore (result: SoStruct[]) => { this.staticinitTbl!.loading = false; if (result !== null && result.length > 0) { @@ -86,15 +86,15 @@ export class TabPaneStaticInit extends BaseElement { ); } - private initStaticTblStyle(staticParam: SelectionParam | any): void { + private initStaticTblStyle(staticParam: SelectionParam | unknown): void { if (this.currentSelectionParam === staticParam) { return; - } + }// @ts-ignore this.currentSelectionParam = staticParam; //@ts-ignore this.staticinitTbl?.shadowRoot?.querySelector('.table')?.style?.height = `${ this.parentElement!.clientHeight - 45 - }px`; + }px`;// @ts-ignore this.range!.textContent = `Selected range: ${((staticParam.rightNs - staticParam.leftNs) / 1000000.0).toFixed( 5 )} ms`; @@ -104,7 +104,7 @@ export class TabPaneStaticInit extends BaseElement { initElements(): void { this.staticinitTbl = this.shadowRoot?.querySelector('#tb-staticinit'); this.range = this.shadowRoot?.querySelector('#staticinit-time-range'); - this.staticinitTbl!.addEventListener('column-click', (evt: any) => { + this.staticinitTbl!.addEventListener('column-click', (evt: unknown) => {// @ts-ignore this.sortByColumn(evt.detail); }); } @@ -146,8 +146,8 @@ export class TabPaneStaticInit extends BaseElement { `; } - sortByColumn(soDetail: any): void { - let compare = (soA: SoTreeItem, soB: SoTreeItem): number => + sortByColumn(soDetail: unknown): void { + let compare = (soA: SoTreeItem, soB: SoTreeItem): number =>// @ts-ignore soDetail.sort === 1 ? soA.dur - soB.dur : soB.dur - soA.dur; this.staticinitSource.forEach((it) => it.children?.sort(compare)); this.staticinitSource.sort(compare); diff --git a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts index dd2c00056..7a79bf03e 100644 --- a/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts +++ b/ide/src/trace/component/trace/sheet/schedswitch/TabPaneSchedSwitch.ts @@ -286,12 +286,12 @@ export class TabPaneSchedSwitch extends BaseElement { } if (btnHtml === SINGLE_BUTTON_TEXT) { this.isSingleBtnColor(true); - this.isLoopBtnColor(false); + this.isLoopBtnColor(false);//@ts-ignore funcData = await querySingleCutData(threadFunName, threadId, leftStartNs, rightEndNs); } if (btnHtml === LOOP_BUTTON_TEXT) { this.isSingleBtnColor(false); - this.isLoopBtnColor(true); + this.isLoopBtnColor(true);//@ts-ignore funcData = await queryLoopCutData(threadFunName, threadId, leftStartNs, rightEndNs); } //获取到线程数据和方法数据,处理周期 @@ -317,7 +317,7 @@ export class TabPaneSchedSwitch extends BaseElement { let threadSourceData: Array = []; let leftStartNs: number = threadParam!.leftNs + threadParam!.recordStartNs; let rightEndNs: number = threadParam!.rightNs + threadParam!.recordStartNs; - let processIds: Array = [...new Set(threadParam!.processIds)]; + let processIds: Array = [...new Set(threadParam!.processIds)];//@ts-ignore let res: Array = await querySchedThreadStates( processIds, threadParam!.threadIds, diff --git a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts index e266a4d6b..619a37b15 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkCounter.ts @@ -102,6 +102,7 @@ export class TabPaneSdkCounter extends BaseElement { queryDataByDB(sdkVal: SelectionParam | any): void { queryStartTime().then((res) => { + //@ts-ignore let startTime = res[0].start_ts; this.parseJson(SpSystemTrace.SDK_CONFIG_MAP); let counters: Array = []; @@ -115,6 +116,7 @@ export class TabPaneSdkCounter extends BaseElement { let sqlObj = this.sqlMap.get(componentId); let sql = sqlObj.TabCounterLeftData; getTabSdkCounterLeftData(sql, sdkVal.leftNs + startTime, counters, componentId).then((res) => { + //@ts-ignore let leftTime = res[res.length - 1].max_value - startTime; let sql = sqlObj.TabCounterData; getTabSdkCounterData(sql, startTime, leftTime, sdkVal.rightNs, counters, componentId).then((counterItem) => { diff --git a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts index bd0f75e02..7468b787a 100644 --- a/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts +++ b/ide/src/trace/component/trace/sheet/sdk/TabPaneSdkSlice.ts @@ -30,13 +30,13 @@ export class TabPaneSdkSlice extends BaseElement { private tblSdkSlice: LitTable | null | undefined; private sdkSliceRange: HTMLLabelElement | null | undefined; private keyList: Array | undefined; - private statDataArray: any = []; - private columnMap: any = {}; + private statDataArray: unknown = []; + private columnMap: unknown = {}; private sqlMap: Map = new Map(); - set data(valSdkSlice: SelectionParam | any) { + set data(valSdkSlice: SelectionParam | unknown) { let millisecond = 1000_000; - this.sdkSliceRange!.textContent = + this.sdkSliceRange!.textContent =//@ts-ignore 'Selected range: ' + ((valSdkSlice.rightNs - valSdkSlice.leftNs) / millisecond).toFixed(5) + ' ms'; this.queryDataByDB(valSdkSlice); } @@ -55,13 +55,13 @@ export class TabPaneSdkSlice extends BaseElement { resizeObserver(this.parentElement!, this.tblSdkSlice!); } - queryDataByDB(sdkSliceVal: SelectionParam | any): void { + queryDataByDB(sdkSliceVal: SelectionParam | unknown): void { queryTotalTime().then((res) => { let startTime = res[0].recordStartNS; let totalTime = res[0].total; let componentId: number = -1; - let slices: Array = []; - for (let index = 0; index < sdkSliceVal.sdkSliceIds.length; index++) { + let slices: Array = [];//@ts-ignore + for (let index = 0; index < sdkSliceVal.sdkSliceIds.length; index++) {//@ts-ignore let values = sdkSliceVal.sdkSliceIds[index].split('-'); let value = values[0]; componentId = Number(values[1]); @@ -71,7 +71,7 @@ export class TabPaneSdkSlice extends BaseElement { let sql = this.sqlMap.get(componentId); if (sql === undefined) { return; - } + }//@ts-ignore getTabSdkSliceData(sql, startTime, sdkSliceVal.leftNs, sdkSliceVal.rightNs, slices, componentId).then( (sliceItem) => { this.keyList = []; @@ -84,7 +84,7 @@ export class TabPaneSdkSlice extends BaseElement { } this.initDataElement(); - setTimeout(() => { + setTimeout(() => {//@ts-ignore this.tblSdkSlice!.recycleDataSource = this.statDataArray; new ResizeObserver(() => { if (this.parentElement?.clientHeight !== 0) { @@ -98,7 +98,7 @@ export class TabPaneSdkSlice extends BaseElement { }); } - initSdkSliceData(sliceItem: SdkSliceSummary[], totalTime: number, sdkSliceVal: SelectionParam | any): void { + initSdkSliceData(sliceItem: SdkSliceSummary[], totalTime: number, sdkSliceVal: SelectionParam | unknown): void { for (let sliceItemIndex = 0; sliceItemIndex < sliceItem.length; sliceItemIndex++) { const dataResult = sliceItem[sliceItemIndex]; let keys = Object.keys(dataResult); @@ -110,18 +110,17 @@ export class TabPaneSdkSlice extends BaseElement { if (this.keyList!.indexOf(sliceKey) <= -1) { this.keyList!.push(sliceKey); } - let sliceValue = values[sliceKeyIndex]; + let sliceValue = values[sliceKeyIndex];//@ts-ignore if (this.columnMap[sliceKey] === 'TimeStamp') { - sliceValue = Utils.getTimeString(Number(sliceValue)); + sliceValue = Utils.getTimeString(Number(sliceValue));//@ts-ignore } else if (this.columnMap[sliceKey] === 'ClockTime') { - sliceValue = Utils.getTimeStampHMS(Number(sliceValue)); + sliceValue = Utils.getTimeStampHMS(Number(sliceValue));//@ts-ignore } else if (this.columnMap[sliceKey] === 'RangTime') { - sliceValue = Utils.getDurString(Number(sliceValue)); + sliceValue = Utils.getDurString(Number(sliceValue));//@ts-ignore } else if (this.columnMap[sliceKey] === 'PercentType') { - sliceValue = sliceValue + '%'; + sliceValue = sliceValue + '%';//@ts-ignore } else if (this.columnMap[sliceKey] === 'CurrencyType') { - // @ts-ignore - sliceValue = sliceValue.toString().replace(/\B(?=(\d{3})+$)/g, ','); + sliceValue = sliceValue.toString().replace(/\B(?=(\d{3})+$)/g, ',');//@ts-ignore } else if (this.columnMap[sliceKey] === 'FIXED') { sliceValue = sliceValue.toFixed(2); } @@ -144,12 +143,12 @@ export class TabPaneSdkSlice extends BaseElement { ) { sliceParseData.end_ts = totalTime; } - if ( + if (//@ts-ignore this.isDateIntersection(sdkSliceVal.leftNs, sdkSliceVal.rightNs, sliceParseData.start_ts, sliceParseData.end_ts) - ) { + ) {//@ts-ignore this.statDataArray.push(sliceParseData); } - } + }//@ts-ignore this.tblSdkSlice!.recycleDataSource = this.statDataArray; } @@ -173,8 +172,8 @@ export class TabPaneSdkSlice extends BaseElement { parseJson(map: Map): string { for (let [key, value] of map) { - let sliceConfigObj: any = value; - if (sliceConfigObj !== undefined) { + let sliceConfigObj: unknown = value; + if (sliceConfigObj !== undefined) {//@ts-ignore let { jsonConfig } = sliceConfigObj; let { tableConfig } = JSON.parse(jsonConfig); if (tableConfig) { @@ -183,7 +182,7 @@ export class TabPaneSdkSlice extends BaseElement { let type = TabUtil.getTableType(showType); if (type === 'slice') { let sliceSelectSql = 'select '; - for (let { column, displayName, showType: columnShowType } of showType.columns) { + for (let { column, displayName, showType: columnShowType } of showType.columns) {//@ts-ignore this.columnMap[column] = displayName; if (columnShowType.includes(3)) { switch (column) { @@ -256,7 +255,7 @@ export class TabPaneSdkSlice extends BaseElement { `; } - sortByColumn(sliceDetail: any): void { + sortByColumn(sliceDetail: unknown): void { // @ts-ignore function compare(property, sliceSort, type) { return function (aSdkSlice: SelectionData, bSdkSlice: SelectionData) { @@ -283,16 +282,16 @@ export class TabPaneSdkSlice extends BaseElement { } }; } - - if (sliceDetail.key.indexOf('name') !== -1) { +//@ts-ignore + if (sliceDetail.key.indexOf('name') !== -1) {//@ts-ignore this.statDataArray.sort(compare(sliceDetail.key, sliceDetail.sort, 'string')); - } else { + } else {//@ts-ignore this.statDataArray.sort(compare(sliceDetail.key, sliceDetail.sort, 'number')); - } + }//@ts-ignore this.tblSdkSlice!.recycleDataSource = this.statDataArray; } - private getInnerTableName(showType: any): string { + private getInnerTableName(showType: unknown): string {//@ts-ignore let inner = showType.inner; if (inner !== null) { return inner.tableName; @@ -300,7 +299,7 @@ export class TabPaneSdkSlice extends BaseElement { return ''; } - filterSliceItem(sliceItem: Array, totalTime: number, sdkSliceVal: any): void { + filterSliceItem(sliceItem: Array, totalTime: number, sdkSliceVal: unknown): void { this.tblSdkSlice!.innerHTML = ''; this.statDataArray = []; if (sliceItem.length > 0) { @@ -332,23 +331,23 @@ export class TabPaneSdkSlice extends BaseElement { sliceParseData.end_ts = totalTime; } if ( - this.isDateIntersection( - sdkSliceVal.leftNs, + this.isDateIntersection(//@ts-ignore + sdkSliceVal.leftNs,//@ts-ignore sdkSliceVal.rightNs, sliceParseData.start_ts, sliceParseData.end_ts ) - ) { + ) {//@ts-ignore this.statDataArray.push(sliceParseData); } - }); + });//@ts-ignore this.tblSdkSlice!.recycleDataSource = this.statDataArray; } else { this.tblSdkSlice!.recycleDataSource = []; } } - getFormattedSliceValue(sliceKey: string, sliceValue: any): any { + getFormattedSliceValue(sliceKey: string, sliceValue: unknown): unknown {//@ts-ignore switch (this.columnMap[sliceKey]) { case 'TimeStamp': return Utils.getTimeString(Number(sliceValue)); @@ -358,9 +357,9 @@ export class TabPaneSdkSlice extends BaseElement { return Utils.getDurString(Number(sliceValue)); case 'PercentType': return `${sliceValue}%`; - case 'CurrencyType': + case 'CurrencyType'://@ts-ignore return sliceValue.toString().replace(/\B(?=(\d{3})+$)/g, ','); - case 'FIXED': + case 'FIXED'://@ts-ignore return sliceValue.toFixed(2); default: if (typeof sliceValue === 'string') { diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts index 27704e5e4..bee675d2a 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgPinComparisonVM.ts @@ -94,12 +94,12 @@ export class TabPanePurgPinComparisonVM extends BaseElement { const targetArr: CompareStruct[] = []; // 点击的 await queryProcessPurgeableSelectionTab(baseTime, MemoryConfig.getInstance().iPid).then(async (results) => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore baseArr.push(new CompareStruct(results[i].name, results[i].value)); } // 被比较的 await queryProcessPurgeableSelectionTab(targetTime, MemoryConfig.getInstance().iPid).then((results) => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore targetArr.push(new CompareStruct(results[i].name, results[i].value)); } let compareData = compare(targetArr, baseArr); diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts index 4bcad116a..a16dde075 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPanePurgTotalComparisonVM.ts @@ -99,12 +99,12 @@ export class TabPanePurgTotalComparisonVM extends BaseElement { const targetArr: CompareStruct[] = []; // 点击的 await queryProcessPurgeableSelectionTab(baseTime, MemoryConfig.getInstance().iPid).then(async (results) => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore baseArr.push(new CompareStruct(results[i].name, results[i].value)); } // 被比较的 await queryProcessPurgeableSelectionTab(targetTime, MemoryConfig.getInstance().iPid).then((results) => { - for (let i = 0; i < results.length; i++) { + for (let i = 0; i < results.length; i++) {//@ts-ignore targetArr.push(new CompareStruct(results[i].name, results[i].value)); } let compareData = compare(targetArr, baseArr); diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts index 64a8af42a..046d061c3 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShm.ts @@ -60,13 +60,13 @@ export class TabPaneVmTrackerShm extends BaseElement { (MemoryConfig.getInstance().interval * 1000_000) / 5 ).then((result) => { if (result.length > 0) { - for (let filter of result) { - filter.time = ns2s(filter.startNS); - filter.sumSizeStr = Utils.getBinaryByteWithUnit(filter.sum); - filter.avgSizeStr = Utils.getBinaryByteWithUnit(filter.avg); - filter.minSizeStr = Utils.getBinaryByteWithUnit(filter.min); + for (let filter of result) {//@ts-ignore + filter.time = ns2s(filter.startNS);//@ts-ignore + filter.sumSizeStr = Utils.getBinaryByteWithUnit(filter.sum);//@ts-ignore + filter.avgSizeStr = Utils.getBinaryByteWithUnit(filter.avg);//@ts-ignore + filter.minSizeStr = Utils.getBinaryByteWithUnit(filter.min);//@ts-ignore filter.maxSizeStr = Utils.getBinaryByteWithUnit(filter.max); - } + }//@ts-ignore this.shmData = result.sort((a, b) => b.avg - a.avg); this.TableEl!.recycleDataSource = this.shmData; } diff --git a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts index a39dd696d..064a45c76 100644 --- a/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts +++ b/ide/src/trace/component/trace/sheet/vmtracker/TabPaneVmTrackerShmSelection.ts @@ -47,9 +47,9 @@ export class TabPaneVmTrackerShmSelection extends BaseElement { queryDataByDB(data: SnapshotStruct): void { queryVmTrackerShmSelectionData(data.startNs, this.memoryConfig.iPid).then((result) => { if (result.length > 0) { - for (let filter of result) { - filter.name = SpSystemTrace.DATA_DICT.get(filter.name)?.split('/'); - filter.ts = ns2s(filter.startNS); + for (let filter of result) {//@ts-ignore + filter.name = SpSystemTrace.DATA_DICT.get(filter.name)?.split('/');//@ts-ignore + filter.ts = ns2s(filter.startNS);//@ts-ignore filter.sizeStr = Utils.getBinaryByteWithUnit(filter.size); this.TableEl!.getItemTextColor = (filter): any => { if (filter.flag === 1) { @@ -60,7 +60,7 @@ export class TabPaneVmTrackerShmSelection extends BaseElement { return '#000000'; } }; - } + }//@ts-ignore this.shmData = result.sort((a, b) => b.size - a.size); this.TableEl!.recycleDataSource = this.shmData; } diff --git a/ide/src/trace/database/DBUtils.ts b/ide/src/trace/database/DBUtils.ts index b1ca66147..ffdbd2702 100644 --- a/ide/src/trace/database/DBUtils.ts +++ b/ide/src/trace/database/DBUtils.ts @@ -113,7 +113,8 @@ export function cacheTraceFileBuffer(db: IDBDatabase, oldFileId: string, fileId: function randomUUID(): string { // @ts-ignore - return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) => + return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: unknown) => + //@ts-ignore (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16) ); } diff --git a/ide/src/trace/database/IndexedDBHelp.ts b/ide/src/trace/database/IndexedDBHelp.ts index 898087dc8..6139188e2 100644 --- a/ide/src/trace/database/IndexedDBHelp.ts +++ b/ide/src/trace/database/IndexedDBHelp.ts @@ -81,12 +81,14 @@ export class IndexedDBHelp { public get(storeName: string, query: IDBValidKey | IDBKeyRange, queryIndex?: string): Promise { return new Promise((resolve, reject) => { - this.getObjectStore(storeName).then((objectStore: IDBObjectStore) => { - let request: IDBRequest; + this.getObjectStore(storeName).then((objectStore: IDBObjectStore) => {// @ts-ignore + let request: IDBRequest; if (queryIndex) { const index = objectStore.index(queryIndex); + //@ts-ignore request = index.getAll(query); } else { + //@ts-ignore request = objectStore.getAll(query); } request.onsuccess = function (event): void { @@ -99,8 +101,8 @@ export class IndexedDBHelp { }); }); } - - public add(storeName: string, value: any, key?: IDBValidKey): Promise { +// @ts-ignore + public add(storeName: string, value: unknown, key?: IDBValidKey): Promise { return new Promise((resolve, reject) => { this.getObjectStore(storeName).then((objectStore: IDBObjectStore) => { const request = objectStore.add(value, key); @@ -129,8 +131,8 @@ export class IndexedDBHelp { }); }); } - - public put(storeName: string, value: any, key?: IDBValidKey): Promise { +// @ts-ignore + public put(storeName: string, value: unknown, key?: IDBValidKey): Promise { return new Promise((resolve, reject) => { this.getObjectStore(storeName).then((objectStore: IDBObjectStore) => { const request = objectStore.put(value, key); diff --git a/ide/src/trace/database/LongTraceDBUtils.ts b/ide/src/trace/database/LongTraceDBUtils.ts index 0975c9c4a..f8d0a305a 100644 --- a/ide/src/trace/database/LongTraceDBUtils.ts +++ b/ide/src/trace/database/LongTraceDBUtils.ts @@ -43,7 +43,8 @@ export class LongTraceDBUtils { ]); } - getByRange(range: IDBKeyRange): Promise { + getByRange(range: IDBKeyRange):// @ts-ignore + Promise { return this.indexedDBHelp.get(this.tableName, range, 'QueryFileByPage'); } @@ -55,7 +56,8 @@ export class LongTraceDBUtils { index: number, offset: number, sliceLen: number - ): Promise { + ):// @ts-ignore + Promise { return this.indexedDBHelp.add(this.tableName, { buf: data, id: `${fileType}_${timStamp}_${pageNumber}_${index}`, diff --git a/ide/src/trace/database/Procedure.ts b/ide/src/trace/database/Procedure.ts index 8dbe552c9..d8b5469fa 100644 --- a/ide/src/trace/database/Procedure.ts +++ b/ide/src/trace/database/Procedure.ts @@ -18,8 +18,8 @@ import { query } from './SqlLite'; class ProcedureThread { busy: boolean = false; isCancelled: boolean = false; - id: number = -1; - taskMap: any = {}; + id: number = -1;//@ts-ignore + taskMap: unknown = {}; name: string | undefined; worker?: Worker; constructor(worker: Worker) { @@ -31,10 +31,10 @@ class ProcedureThread { (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16) ); } - - queryFunc(type: string, args: any, transfer: any, handler: Function): void { +//@ts-ignore + queryFunc(type: string, args: unknown, transfer: unknown, handler: Function): void { this.busy = true; - let id = this.uuid(); + let id = this.uuid();// @ts-ignore this.taskMap[id] = handler; let pam = { id: id, @@ -49,10 +49,11 @@ class ProcedureThread { } else { this.worker!.postMessage(pam); } - } else { + } else {// @ts-ignore this.worker!.postMessage(pam, [transfer]); } - } catch (e: any) {} + } catch (//@ts-ignore + e: unknown) {} } else { this.worker!.postMessage(pam); } @@ -68,7 +69,8 @@ class ProcedurePool { static cpuCount = Math.floor((window.navigator.hardwareConcurrency || 4) / 2); maxThreadNumber: number = 1; works: Array = []; - timelineChange: ((a: any) => void) | undefined | null = null; + timelineChange: ((//@ts-ignore + a: unknown) => void) | undefined | null = null; cpusLen = ProcedurePool.build('cpu', 0); freqLen = ProcedurePool.build('freq', 0); processLen = ProcedurePool.build('process', 0); @@ -113,13 +115,13 @@ class ProcedurePool { this.timelineChange?.(event.data.results); newThread.busy = false; return; - } + }// @ts-ignore if (Reflect.has(newThread.taskMap, event.data.id)) { - if (event.data) { + if (event.data) {// @ts-ignore let fun = newThread.taskMap[event.data.id]; if (fun) { fun(event.data.results, event.data.hover); - } + }// @ts-ignore Reflect.deleteProperty(newThread.taskMap, event.data.id); } } @@ -159,7 +161,8 @@ class ProcedurePool { thread.worker!.onmessage = (event: MessageEvent): void => { thread.busy = false; if (event.data.isQuery) { - query(event.data.type, event.data.sql, event.data.args, 'exec-buf').then((res: any) => { + query(event.data.type, event.data.sql, event.data.args, 'exec-buf').then((// @ts-ignore + res: unknown) => { thread.worker!.postMessage({ type: event.data.type, params: { @@ -171,8 +174,9 @@ class ProcedurePool { return; } if (event.data.isSending) { - if (Reflect.has(thread.taskMap, event.data.id)) { - if (event.data) { + if (Reflect.has(// @ts-ignore + thread.taskMap, event.data.id)) { + if (event.data) {// @ts-ignore let fun = thread.taskMap[event.data.id]; if (fun) { fun(event.data.results, event.data.hover); @@ -180,13 +184,13 @@ class ProcedurePool { return; } } - } + }// @ts-ignore if (Reflect.has(thread.taskMap, event.data.id)) { - if (event.data) { + if (event.data) {// @ts-ignore let fun = thread.taskMap[event.data.id]; if (fun) { fun(event.data.results, event.data.hover); - } + }// @ts-ignore Reflect.deleteProperty(thread.taskMap, event.data.id); } } @@ -208,8 +212,8 @@ class ProcedurePool { thread.queryFunc('clear', {}, undefined, () => {}); } }; - - submitWithName(name: string, type: string, args: any, transfer: any, handler: Function): ProcedureThread | undefined { +// @ts-ignore + submitWithName(name: string, type: string, args: unknown, transfer: unknown, handler: Function): ProcedureThread | undefined { let noBusyThreads = this.works.filter((it) => it.name === name); let thread: ProcedureThread | undefined; if (noBusyThreads.length > 0) { @@ -219,15 +223,15 @@ class ProcedurePool { } return thread; } - - submitWithNamePromise(name: string, type: string, args: any, transfer: any): Promise { +// @ts-ignore + submitWithNamePromise(name: string, type: string, args: unknown, transfer: unknown): Promise { return new Promise((resolve, reject) => { let noBusyThreads = this.works.filter((it) => it.name === name); let thread: ProcedureThread | undefined; if (noBusyThreads.length > 0) { //取第一个空闲的线程进行任务 - thread = noBusyThreads[0]; - thread!.queryFunc(type, args, transfer, (res: any, hover: any) => { + thread = noBusyThreads[0];// @ts-ignore + thread!.queryFunc(type, args, transfer, (res: unknown, hover: unknown) => { resolve({ res: res, hover: hover, diff --git a/ide/src/trace/database/SqlLite.ts b/ide/src/trace/database/SqlLite.ts index fd745c304..bdfebd69f 100644 --- a/ide/src/trace/database/SqlLite.ts +++ b/ide/src/trace/database/SqlLite.ts @@ -13,20 +13,22 @@ * limitations under the License. */ class DataWorkerThread { - taskMap: any = {}; + //@ts-ignore + taskMap: unknow = {}; worker?: Worker; constructor(worker: Worker) { this.worker = worker; } uuid(): string { // @ts-ignore - return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) => + return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: unknow) => (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16) ); } //发送方法名 参数 回调 - queryFunc(action: string, args: any, handler: Function): void { + //@ts-ignore + queryFunc(action: string, args: unknow, handler: Function): void { let id = this.uuid(); this.taskMap[id] = handler; let msg = { @@ -42,8 +44,10 @@ class DbThread { busy: boolean = false; isCancelled: boolean = false; id: number = -1; - taskMap: any = {}; - cacheArray: Array = []; + //@ts-ignore + taskMap: unknow = {}; + //@ts-ignore + cacheArray: Array = []; worker?: Worker; constructor(worker: Worker) { @@ -52,12 +56,13 @@ class DbThread { uuid(): string { // @ts-ignore - return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) => + return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: unknow) => (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16) ); } - queryFunc(name: string, sql: string, args: any, handler: Function, action: string | null): void { + //@ts-ignore + queryFunc(name: string, sql: string, args: unknow, handler: Function, action: string | null): void { this.busy = true; let id = this.uuid(); this.taskMap[id] = handler; @@ -71,7 +76,8 @@ class DbThread { this.worker?.postMessage(msg); } - queryProto(name: number, args: any, handler: Function): void { + //@ts-ignore + queryProto(name: number, args: unknow, handler: Function): void { this.busy = true; let id = this.uuid(); this.taskMap[id] = handler; @@ -91,7 +97,8 @@ class DbThread { ): void { this.busy = true; let id = this.uuid(); - this.taskMap[id] = (res: any): void => { + //@ts-ignore + this.taskMap[id] = (res: unknow): void => { DbPool.sharedBuffer = res.buffer; if (res.cutStatus) { handler(res.cutStatus, res.msg, res.cutBuffer); @@ -125,12 +132,15 @@ class DbThread { status: boolean; msg: string; buffer: ArrayBuffer; - sdkConfigMap: any; + //@ts-ignore + sdkConfigMap: unknow; fileKey: string; }> => { - return new Promise((resolve, reject) => { + //@ts-ignore + return new Promise((resolve, reject) => { let id = this.uuid(); - this.taskMap[id] = (res: any): any => { + //@ts-ignore + this.taskMap[id] = (res: unknow): unknow => { if (res.init) { resolve({ status: res.init, @@ -171,7 +181,7 @@ export class DbPool { works: Array = []; progress: Function | undefined | null; num = Math.floor(Math.random() * 10 + 1) + 20; - cutDownTimer: any | undefined; + cutDownTimer: unknown | undefined; dataWorker: DataWorkerThread | undefined | null; currentWasmThread: DbThread | undefined = undefined; @@ -232,6 +242,7 @@ export class DbPool { DbPool.sharedBuffer = null; } else if (Reflect.has(event.data, 'init')) { if (this.cutDownTimer !== undefined) { + //@ts-ignore clearInterval(this.cutDownTimer); } let fun = thread!.taskMap[event.data.id]; @@ -285,7 +296,8 @@ export class DbPool { | { status: boolean; msg: string; - sdkConfigMap: any; + //@ts-ignore + sdkConfigMap: unknow; } > => { this.progress = progress; @@ -364,6 +376,7 @@ export class DbPool { } close = async (): Promise => { + //@ts-ignore clearInterval(this.cutDownTimer); for (let thread of this.works) { thread.worker?.terminate(); @@ -371,7 +384,8 @@ export class DbPool { this.works.length = 0; }; - submit(name: string, sql: string, args: any, handler: Function, action: string | null): void { + //@ts-ignore + submit(name: string, sql: string, args: unknow, handler: Function, action: string | null): void { let noBusyThreads = this.works.filter((it) => !it.busy); let thread: DbThread; if (noBusyThreads.length > 0) { @@ -385,7 +399,8 @@ export class DbPool { } } - submitProto(name: number, args: any, handler: Function): void { + //@ts-ignore + submitProto(name: number, args: unknow, handler: Function): void { let noBusyThreads = this.works.filter((it) => !it.busy); let thread: DbThread; if (noBusyThreads.length > 0) { @@ -402,7 +417,8 @@ export class DbPool { } //new method replace submit() method - submitTask(action: string, args: any, handler: Function): void { + //@ts-ignore + submitTask(action: string, args: unknow, handler: Function): void { this.dataWorker?.queryFunc(action, args, handler); } @@ -424,11 +440,13 @@ export class DbPool { progressTimer(num: number, progress: Function): void { let currentNum = num; + //@ts-ignore clearInterval(this.cutDownTimer); this.cutDownTimer = setInterval(() => { currentNum += Math.floor(Math.random() * 3); if (currentNum >= 50) { progress('database opened', 40); + //@ts-ignore clearInterval(this.cutDownTimer); } else { progress('database opened', currentNum); @@ -439,13 +457,15 @@ export class DbPool { export const threadPool = new DbPool(); -export function query(name: string, sql: string, args: any = null, action: string | null = null): Promise> { + //@ts-ignore +export function query(name: string, sql: string, args: unknow = null, action: string | null = null): Promise> { return new Promise>((resolve, reject) => { threadPool.submit( name, sql, args, - (res: any) => { + //@ts-ignore + (res: unknow) => { if (res[0] && res[0] === 'error') { window.publish(window.SmartEvent.UI.Error, res[1]); reject(res); diff --git a/ide/src/trace/database/SqlLiteWorker.ts b/ide/src/trace/database/SqlLiteWorker.ts index 4b78c6479..f109059d3 100644 --- a/ide/src/trace/database/SqlLiteWorker.ts +++ b/ide/src/trace/database/SqlLiteWorker.ts @@ -18,7 +18,7 @@ import { temp_init_sql_list } from './TempSql'; import { execProtoForWorker } from './data-trafic/utils/ExecProtoForWorker'; import { TraficEnum } from './data-trafic/utils/QueryEnum'; -let conn: any = null; +let conn: unknown = null; let encoder = new TextEncoder(); function initIndexedDB(): Promise { return new Promise((resolve, reject) => { @@ -82,18 +82,23 @@ let mergedUnitArray = (bufferSliceUint8: Array): Uint8Array => { self.onerror = function (error): void {}; -self.onmessage = async (e: any): Promise => { +self.onmessage = async (e: unknown): Promise => { + //@ts-ignore if (e.data.action === 'open') { + //@ts-ignore let array = new Uint8Array(e.data.buffer); // @ts-ignore - initSqlJs({ locateFile: (filename) => `${filename}` }).then((SQL: any) => { + initSqlJs({ locateFile: (filename) => `${filename}` }).then((SQL: unknown) => { + // @ts-ignore conn = new SQL.Database(array); // @ts-ignore self.postMessage({ id: e.data.id, ready: true, index: 0 }); temp_init_sql_list.forEach((item, index) => { + // @ts-ignore let r = conn.exec(item); // @ts-ignore self.postMessage({ + //@ts-ignore id: e.data.id, ready: true, index: index + 1, @@ -102,42 +107,58 @@ self.onmessage = async (e: any): Promise => { // @ts-ignore self.postMessage({ id: e.data.id, init: true }); }); - } else if (e.data.action === 'close') { - } else if (e.data.action === 'exec' || e.data.action === 'exec-buf' || e.data.action === 'exec-metric') { + } else if ( + //@ts-ignore + e.data.action === 'close') { + } else if ( + //@ts-ignore + e.data.action === 'exec' || e.data.action === 'exec-buf' || e.data.action === 'exec-metric') { try { + //@ts-ignore let action = e.data.action; //: "exec" + //@ts-ignore let sql = e.data.sql; + //@ts-ignore let params = e.data.params; + // @ts-ignore const stmt = conn.prepare(sql); stmt.bind(params); let res = []; while (stmt.step()) { - // + //@ts-ignore res.push(stmt.getAsObject()); } stmt.free(); // @ts-ignore self.postMessage({ id: e.data.id, results: res }); - } catch (err: any) { + } catch (err: unknown) { // @ts-ignore self.postMessage({ + //@ts-ignore id: e.data.id, results: [], + //@ts-ignore error: err.message, }); } - } else if (e.data.action === 'exec-proto') { + } else if ( + //@ts-ignore + e.data.action === 'exec-proto') { + //@ts-ignore e.data.params.trafic = TraficEnum.Memory; + //@ts-ignore execProtoForWorker(e.data, (sql: string) => { try { + // @ts-ignore const stmt = conn.prepare(sql); let res = []; while (stmt.step()) { + //@ts-ignore res.push(stmt.getAsObject()); } stmt.free(); return res; - } catch (err: any) { + } catch (err: unknown) { console.log(err); return []; } diff --git a/ide/src/trace/database/StateBusyTimeWorker.ts b/ide/src/trace/database/StateBusyTimeWorker.ts index c12af4c8e..39cb261d6 100644 --- a/ide/src/trace/database/StateBusyTimeWorker.ts +++ b/ide/src/trace/database/StateBusyTimeWorker.ts @@ -14,9 +14,9 @@ */ function getBusyTime( - initFreqResult: Array, - initStateResult: Array, - sampleMap: Map, + initFreqResult: Array, + initStateResult: Array, + sampleMap: Map, leftStartNs: number, rightEndNs: number ): void { @@ -27,6 +27,7 @@ function getBusyTime( return; } //处理被框选的freq的第一个数据 + //@ts-ignore let includeData = initFreqResult.findIndex((a) => a.ts >= leftStartNs); if (includeData !== 0) { initFreqResult = initFreqResult.slice( @@ -34,8 +35,10 @@ function getBusyTime( initFreqResult.length ); } + //@ts-ignore let startNS = includeData === 0 ? initFreqResult[0].ts : leftStartNs; //处理对应的state泳道被框选的第一个数据 + //@ts-ignore let includeStateData = initStateResult.findIndex((a) => a.ts >= startNS); if (includeStateData !== 0) { initStateResult = initStateResult.slice( @@ -43,21 +46,28 @@ function getBusyTime( initStateResult.length ); } + //@ts-ignore if (initStateResult[0].ts < startNS && includeStateData !== 0 && includeStateData !== -1) { + //@ts-ignore initStateResult[0].ts = startNS; } //处理被框选的freq最后一个数据 + //@ts-ignore if (initFreqResult[initFreqResult.length - 1].ts !== rightEndNs) { initFreqResult.push({ ts: rightEndNs, + //@ts-ignore value: initFreqResult[initFreqResult.length - 1].value, + //@ts-ignore filterId: initFreqResult[initFreqResult.length - 1].filterId, }); } //处理被框选的freq最后一个数据 + //@ts-ignore if (initStateResult[initStateResult.length - 1].ts !== rightEndNs) { initStateResult.push({ ts: rightEndNs, + //@ts-ignore value: initStateResult[initStateResult.length - 1].value, }); } @@ -65,17 +75,20 @@ function getBusyTime( } function handleBusyTimeLogic( - initFreqResult: Array, - initStateResult: Array, - sampleMap: Map, + initFreqResult: Array, + initStateResult: Array, + sampleMap: Map, startNS: number ): void { let freqIndex = 1; let stateIndex = 1; let beginNs = startNS; //value和Id的起始值是第0项 + //@ts-ignore let freqId = initFreqResult[0].filterId; + //@ts-ignore let freqVal = initFreqResult[0].value; + //@ts-ignore let stateVal = initStateResult[0].value; //从index = 1开始循环 while (freqIndex < initFreqResult.length && stateIndex < initStateResult.length) { @@ -85,19 +98,32 @@ function handleBusyTimeLogic( let newStateVal = stateVal; let busyTime = 0; //比较ts值,每次比较取ts相对小的那一项 + //@ts-ignore if (initFreqResult[freqIndex].ts < initStateResult[stateIndex].ts) { + //@ts-ignore newfreqVal = initFreqResult[freqIndex].value; + //@ts-ignore newBeginNs = initFreqResult[freqIndex].ts; + //@ts-ignore newfreqId = initFreqResult[freqIndex].filterId; freqIndex++; - } else if (initFreqResult[freqIndex].ts > initStateResult[stateIndex].ts) { + } else if ( + //@ts-ignore + initFreqResult[freqIndex].ts > initStateResult[stateIndex].ts + ) { + //@ts-ignore newStateVal = initStateResult[stateIndex].value; + //@ts-ignore newBeginNs = initStateResult[stateIndex].ts; stateIndex++; } else { + //@ts-ignore newStateVal = initStateResult[stateIndex].value; + //@ts-ignore newfreqVal = initFreqResult[freqIndex].value; + //@ts-ignore newfreqId = initFreqResult[freqIndex].filterId; + //@ts-ignore newBeginNs = initStateResult[stateIndex].ts; freqIndex++; stateIndex++; @@ -107,6 +133,7 @@ function handleBusyTimeLogic( busyTime = newBeginNs - beginNs; if (sampleMap.has(freqId + '-' + freqVal)) { let obj = sampleMap.get(freqId + '-' + freqVal); + //@ts-ignore obj.busyTime += busyTime; } } @@ -122,14 +149,18 @@ self.onmessage = (e: MessageEvent): void => { let rightEndNs = e.data.timeParam.rightNs + e.data.timeParam.recordStartNs; e.data.cpuFiliterOrder.forEach((a: number) => { getBusyTime( - e.data.result.filter((f: any) => f.cpu === a), - e.data.res.filter((f: any) => f.cpu === a), + //@ts-ignore + e.data.result.filter((f: unknown) => f.cpu === a), + + //@ts-ignore + e.data.res.filter((f: unknown) => f.cpu === a), e.data.sampleMap, leftStartNs, rightEndNs ); }); - e.data.sampleMap.forEach((a: any) => { + e.data.sampleMap.forEach((a: unknown) => { + //@ts-ignore a.busyTime = parseFloat((a.busyTime / 1000000.0).toFixed(6)); }); diff --git a/ide/src/trace/database/TraceWorker.ts b/ide/src/trace/database/TraceWorker.ts index c99c07c9b..26fe63f7d 100644 --- a/ide/src/trace/database/TraceWorker.ts +++ b/ide/src/trace/database/TraceWorker.ts @@ -20,13 +20,13 @@ import { temp_init_sql_list } from './TempSql'; // @ts-ignore import { BatchSphData } from '../proto/SphBaseData'; -let wasmModule: any = null; +let wasmModule: unknown = null; let enc = new TextEncoder(); let dec = new TextDecoder(); let arr: Uint8Array | undefined; const REQ_BUF_SIZE = 4 * 1024 * 1024; let reqBufferAddr: number = -1; -let bufferSlice: Array = []; +let bufferSlice: Array = []; let json: string; let headUnitArray: Uint8Array | undefined; @@ -48,9 +48,10 @@ let ffrtFileCacheKey = '-1'; let indexDB: IDBDatabase; const maxSize = 48 * 1024 * 1024; -let protoDataMap: Map = new Map(); +let protoDataMap: Map = new Map(); function clear(): void { if (wasmModule !== null) { + //@ts-ignore wasmModule._TraceStreamerReset(); wasmModule = null; } @@ -82,11 +83,11 @@ function initWASM(): Promise { //@ts-ignore let wasm = trace_streamer_builtin_wasm; wasmModule = wasm({ - locateFile: (s: any) => { + locateFile: (s: unknown):unknown => { return s; }, - print: (line: any) => {}, - printErr: (line: any) => {}, + print: (line: unknown) => {}, + printErr: (line: unknown) => {}, onRuntimeInitialized: () => { resolve('ok'); }, @@ -97,15 +98,15 @@ function initWASM(): Promise { }); } -function initThirdWASM(wasmFunctionName: string): any { - function callModelFun(functionName: string): any { +function initThirdWASM(wasmFunctionName: string): unknown { + function callModelFun(functionName: string): unknown { let func = eval(functionName); return new func({ - locateFile: (s: any): any => { + locateFile: (s: unknown): any => { return s; }, - print: (line: any): void => {}, - printErr: (line: any): void => {}, + print: (line: unknown): void => {}, + printErr: (line: unknown): void => {}, onRuntimeInitialized: (): void => {}, onAbort: (): void => {}, }); @@ -117,12 +118,15 @@ function initThirdWASM(wasmFunctionName: string): any { let merged = (): Uint8Array => { let length = 0; bufferSlice.forEach((item) => { + //@ts-ignore length += item.length; }); let mergedArray = new Uint8Array(length); let offset = 0; bufferSlice.forEach((item) => { + //@ts-ignore mergedArray.set(item, offset); + //@ts-ignore offset += item.length; }); return mergedArray; @@ -133,10 +137,10 @@ let translateJsonString = (str: string): string => { .replace(/[\t|\r|\n]/g, ''); }; -let convertJSON = (): any[] => { +let convertJSON = (): unknown[] => { try { let str = dec.decode(arr); - let jsonArray: Array = []; + let jsonArray: Array = []; str = str.substring(str.indexOf('\n') + 1); if (!str) { } else { @@ -157,8 +161,9 @@ let convertJSON = (): any[] => { let columns = parse.columns; let values = parse.values; for (let i = 0; i < values.length; i++) { - let obj: any = {}; + let obj: unknown = {}; for (let j = 0; j < columns.length; j++) { + //@ts-ignore obj[columns[j]] = values[i][j]; } jsonArray.push(obj); @@ -171,7 +176,8 @@ let convertJSON = (): any[] => { action: currentAction, init: false, status: false, - msg: (e as any).message, + //@ts-ignore + msg: (e as unknown).message, }); return []; } @@ -249,6 +255,7 @@ async function onmessageByOpenAction(e: MessageEvent): Promise { } else { r2 = parseNormalTraceByOpenAction(wrSize, r2, uint8Array); } + //@ts-ignore wasmModule._TraceStreamerParseDataOver(); for (let value of thirdWasmMap.values()) { value.model._TraceStreamer_In_ParseDataOver(); @@ -258,6 +265,7 @@ async function onmessageByOpenAction(e: MessageEvent): Promise { function initModuleCallBackAndFun(): void { let callback = (heapPtr: number, size: number, isEnd: number): void => { + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); bufferSlice.push(out); if (isEnd === 1) { @@ -265,10 +273,13 @@ function initModuleCallBackAndFun(): void { bufferSlice.length = 0; } }; + //@ts-ignore let fn = wasmModule.addFunction(callback, 'viii'); + //@ts-ignore reqBufferAddr = wasmModule._Initialize(fn, REQ_BUF_SIZE); let ffrtConvertCallback = (heapPtr: number, size: number, isEnd: number): void => { if (isEnd !== 1) { + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); bufferSlice.push(out); } else { @@ -279,13 +290,19 @@ function initModuleCallBackAndFun(): void { } }; let tlvResultCallback = (heapPtr: number, size: number, type: number, isEnd: number): void => { + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); protoDataMap.set(type, BatchSphData.decode(out).values); }; + //@ts-ignore let fn1 = wasmModule.addFunction(callback, 'viii'); + //@ts-ignore let fn2 = wasmModule.addFunction(ffrtConvertCallback, 'viii'); + //@ts-ignore let tlvResultFun = wasmModule.addFunction(tlvResultCallback, 'viiii'); + //@ts-ignore wasmModule._TraceStreamer_Set_Log_Level(5); + //@ts-ignore reqBufferAddr = wasmModule._Initialize(REQ_BUF_SIZE, fn1, tlvResultFun, fn2); } @@ -293,31 +310,39 @@ function parseThirdWasmByOpenAction(e: MessageEvent): void { let parseConfig = e.data.parseConfig; if (parseConfig !== '') { let parseConfigArray = enc.encode(parseConfig); + //@ts-ignore let parseConfigAddr = wasmModule._InitializeParseConfig(1024); + //@ts-ignore wasmModule.HEAPU8.set(parseConfigArray, parseConfigAddr); + //@ts-ignore wasmModule._TraceStreamerParserConfigEx(parseConfigArray.length); } let wasmConfigStr = e.data.wasmConfig; if (wasmConfigStr !== '' && wasmConfigStr.indexOf('WasmFiles') !== -1) { let wasmConfig = JSON.parse(wasmConfigStr); let wasmConfigs = wasmConfig.WasmFiles; - let itemArray = wasmConfigs.map((item: any) => { + let itemArray = wasmConfigs.map((item: unknown) => { + //@ts-ignore return item.componentId + ';' + item.pluginName; }); let thirdWasmStr: string = itemArray.join(';'); let configUintArray = enc.encode(thirdWasmStr + ';'); + //@ts-ignore wasmModule.HEAPU8.set(configUintArray, reqBufferAddr); + //@ts-ignore wasmModule._TraceStreamer_Init_ThirdParty_Config(configUintArray.length); let first = true; let sendDataCallback = (heapPtr: number, size: number, componentID: number): void => { if (componentID === 100) { if (first) { first = false; + //@ts-ignore headUnitArray = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); } return; } - let configs = wasmConfigs.filter((wasmConfig: any) => { + let configs = wasmConfigs.filter((wasmConfig: unknown) => { + //@ts-ignore return wasmConfig.componentId === componentID; }); if (configs.length > 0) { @@ -328,13 +353,16 @@ function parseThirdWasmByOpenAction(e: MessageEvent): void { setThirdWasmMap(config, heapPtr, size, componentID); } else { let mm = model.model; + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); mm.HEAPU8.set(out, model.bufferAddr); mm._ParserData(out.length, componentID); } } }; + //@ts-ignore let fn1 = wasmModule.addFunction(sendDataCallback, 'viii'); + //@ts-ignore let reqBufferAddr1 = wasmModule._TraceStreamer_Set_ThirdParty_DataDealer(fn1, REQ_BUF_SIZE); } } @@ -386,8 +414,10 @@ function parseRawTraceByOpenAction(e: MessageEvent, wrSize: number, r2: number, while (wrSize < final.length) { const sliceLen = Math.min(final.length - wrSize, REQ_BUF_SIZE); const dataSlice = final.subarray(wrSize, wrSize + sliceLen); + //@ts-ignore wasmModule.HEAPU8.set(dataSlice, reqBufferAddr); wrSize += sliceLen; + //@ts-ignore r2 = wasmModule._TraceStreamerParseDataEx(sliceLen, wrSize === final.length ? 1 : 0); if (r2 === -1) { break; @@ -400,8 +430,10 @@ function parseNormalTraceByOpenAction(wrSize: number, r2: number, uint8Array: Ui while (wrSize < uint8Array.length) { const sliceLen = Math.min(uint8Array.length - wrSize, REQ_BUF_SIZE); const dataSlice = uint8Array.subarray(wrSize, wrSize + sliceLen); + //@ts-ignore wasmModule.HEAPU8.set(dataSlice, reqBufferAddr); wrSize += sliceLen; + //@ts-ignore r2 = wasmModule._TraceStreamerParseDataEx(sliceLen, wrSize === uint8Array.length ? 1 : 0); if (r2 === -1) { break; @@ -410,22 +442,31 @@ function parseNormalTraceByOpenAction(wrSize: number, r2: number, uint8Array: Ui return r2; } -function setThirdWasmMap(config: any, heapPtr: number, size: number, componentID: number): void { +function setThirdWasmMap(config: unknown, heapPtr: number, size: number, componentID: number): void { + //@ts-ignore let thirdMode = initThirdWASM(config.wasmName); + //@ts-ignore let configPluginName = config.pluginName; let pluginNameUintArray = enc.encode(configPluginName); + //@ts-ignore let pluginNameBuffer = thirdMode._InitPluginName(pluginNameUintArray.length); + //@ts-ignore thirdMode.HEAPU8.set(pluginNameUintArray, pluginNameBuffer); + //@ts-ignore thirdMode._TraceStreamerGetPluginNameEx(configPluginName.length); let thirdQueryDataCallBack = (heapPtr: number, size: number, isEnd: number, isConfig: number): void => { if (isConfig === 1) { + //@ts-ignore let out: Uint8Array = thirdMode.HEAPU8.slice(heapPtr, heapPtr + size); thirdJsonResult.set(componentID, { jsonConfig: dec.decode(out), + //@ts-ignore disPlayName: config.disPlayName, + //@ts-ignore pluginName: config.pluginName, }); } else { + //@ts-ignore let out: Uint8Array = thirdMode.HEAPU8.slice(heapPtr, heapPtr + size); bufferSlice.push(out); if (isEnd === 1) { @@ -434,14 +475,22 @@ function setThirdWasmMap(config: any, heapPtr: number, size: number, componentID } } }; + //@ts-ignore let fn = thirdMode.addFunction(thirdQueryDataCallBack, 'viiii'); + //@ts-ignore let thirdreqBufferAddr = thirdMode._Init(fn, REQ_BUF_SIZE); let mm = initTraceRange(thirdMode); + //@ts-ignore thirdMode._TraceStreamer_In_JsonConfig(); + //@ts-ignore thirdMode.HEAPU8.set(headUnitArray, thirdreqBufferAddr); + //@ts-ignore thirdMode._ParserData(headUnitArray!.length, 100); + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); + //@ts-ignore thirdMode.HEAPU8.set(out, thirdreqBufferAddr); + //@ts-ignore thirdMode._ParserData(out.length, componentID); thirdWasmMap.set(componentID, { model: thirdMode, @@ -480,13 +529,18 @@ function postMessageByOpenAction(r2: number, e: MessageEvent): void { ); } -function initTraceRange(thirdMode: any): any { +function initTraceRange(thirdMode: unknown): unknown { let updateTraceTimeCallBack = (heapPtr: number, size: number): void => { + //@ts-ignore let out: Uint8Array = thirdMode.HEAPU8.slice(heapPtr, heapPtr + size); + //@ts-ignore wasmModule.HEAPU8.set(out, reqBufferAddr); + //@ts-ignore wasmModule._UpdateTraceTime(out.length); }; + //@ts-ignore let traceRangeFn = thirdMode.addFunction(updateTraceTimeCallBack, 'vii'); + //@ts-ignore let mm = thirdMode._InitTraceRange(traceRangeFn, 1024); return mm; } @@ -507,7 +561,9 @@ function onmessageByExecProtoAction(e: MessageEvent): void { execProtoForWorker(e.data, (sql: string) => { let sqlUintArray = enc.encode(sql); if (e.data.params.trafic !== TraficEnum.ProtoBuffer) { + //@ts-ignore wasmModule.HEAPU8.set(sqlUintArray, reqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerSqlQueryEx(sqlUintArray.length); let jsonArray = convertJSON(); return jsonArray; @@ -515,10 +571,13 @@ function onmessageByExecProtoAction(e: MessageEvent): void { let allArray = new Uint8Array(typeLength + sqlUintArray.length); allArray[0] = e.data.name; allArray.set(sqlUintArray, typeLength); + //@ts-ignore wasmModule.HEAPU8.set(allArray, reqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerSqlQueryToProtoCallback(allArray.length); let finalArrayBuffer = []; if (protoDataMap.has(e.data.name)) { + //@ts-ignore finalArrayBuffer = protoDataMap.get(e.data.name); protoDataMap.delete(e.data.name); } @@ -572,21 +631,25 @@ function onmessageByInitPortAction(e: MessageEvent): void { } function onmessageByDownloadDBAction(e: MessageEvent): void { - let bufferSliceUint: Array = []; + let bufferSliceUint: Array = []; let mergedUint = (): Uint8Array => { let length = 0; bufferSliceUint.forEach((item) => { + //@ts-ignore length += item.length; }); let mergedArray = new Uint8Array(length); let offset = 0; bufferSliceUint.forEach((item) => { + //@ts-ignore mergedArray.set(item, offset); + //@ts-ignore offset += item.length; }); return mergedArray; }; let getDownloadDb = (heapPtr: number, size: number, isEnd: number): void => { + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); bufferSliceUint.push(out); if (isEnd === 1) { @@ -598,7 +661,9 @@ function onmessageByDownloadDBAction(e: MessageEvent): void { }); } }; + //@ts-ignore let fn1 = wasmModule.addFunction(getDownloadDb, 'viii'); + //@ts-ignore wasmModule._WasmExportDatabase(fn1); } @@ -611,6 +676,7 @@ function onmessageByUploadSoAction(e: MessageEvent): void { soFileList = fileList; uploadFileIndex = 0; if (!uploadSoCallbackFn) { + //@ts-ignore uploadSoCallbackFn = wasmModule.addFunction(uploadSoCallBack, 'viii'); } uploadSoFile(soFileList[uploadFileIndex]).then(); @@ -654,6 +720,7 @@ function cutLongTraceCallBackHandle( > ): void { let key = `${traceFileType}_${currentPageNum}`; + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); if (DataTypeEnum.data === dataType) { if (traceFileType === 'arkts') { @@ -685,8 +752,11 @@ function initSplitLongTraceModuleAndFun( headArray: Uint8Array, cutFileCallBack: (heapPtr: number, size: number, dataType: number, isEnd: number) => void ): number { + //@ts-ignore splitReqBufferAddr = wasmModule._InitializeSplitFile(wasmModule.addFunction(cutFileCallBack, 'viiii'), REQ_BUF_SIZE); + //@ts-ignore wasmModule.HEAPU8.set(headArray, splitReqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerGetLongTraceTimeSnapEx(headArray.length); return splitReqBufferAddr; } @@ -732,7 +802,7 @@ async function handleDataTypeBySplitLongTrace( async function saveAllDataByLongTrace( range: IDBKeyRange, - nowCutInfoList: Array, + nowCutInfoList: Array, searchDataInfo: { fileType: string; index: number; @@ -756,8 +826,10 @@ async function saveAllDataByLongTrace( let mergeData = indexedDataToBufferData(queryAllData); for (let cutOffsetObjIndex = 0; cutOffsetObjIndex < nowCutInfoList.length; cutOffsetObjIndex++) { let cutUseOffsetObj = nowCutInfoList[cutOffsetObjIndex]; + //@ts-ignore let endOffset = cutUseOffsetObj.offset + cutUseOffsetObj.size; let sliceData = mergeData.slice( + //@ts-ignore cutUseOffsetObj.offset - searchDataInfo[0].startOffsetSize, endOffset - searchDataInfo[0].startOffsetSize ); @@ -819,7 +891,7 @@ async function handleJsonTypeBySplitLongTrace( ): Promise<[number, number, number, Uint8Array]> { let needCutMessage = receiveData.data as Array<{ offset: number; size: number }>; let startOffset = needCutMessage[0].offset; - let nowCutInfoList: Array = []; + let nowCutInfoList: Array = []; let isBeforeCutFinish = false; for (let needCutIndex = 0; needCutIndex < needCutMessage.length; needCutIndex++) { let cutInfo = needCutMessage[needCutIndex]; @@ -830,6 +902,7 @@ async function handleJsonTypeBySplitLongTrace( } if (cutInfo.offset + cutInfo.size - startOffset >= maxSize * 10 || needCutIndex === needCutMessage.length - 1) { nowCutInfoList.push(cutInfo); + //@ts-ignore let nowStartCutOffset = nowCutInfoList[0].offset; let nowEndCutOffset = cutInfo.offset + cutInfo.size; let searchDataInfo = allIndexDataList.filter( @@ -1033,9 +1106,11 @@ self.onmessage = async (e: MessageEvent): Promise => { } }; -function indexedDataToBufferData(sourceData: any): Uint8Array { +function indexedDataToBufferData(sourceData: unknown): Uint8Array { let uintArrayLength = 0; - let uintDataList = sourceData.map((item: any) => { + //@ts-ignore + let uintDataList = sourceData.map((item: unknown) => { + //@ts-ignore let currentBufData = new Uint8Array(item.buf); uintArrayLength += currentBufData.length; return currentBufData; @@ -1095,13 +1170,17 @@ async function splitFileAndSaveArkTs( const splitFileAndSave = async ( timStamp: number, - fileInfo: any, + fileInfo: unknown, pageNum: number, - splitReqBufferAddr?: any + splitReqBufferAddr?: unknown ): Promise => { + //@ts-ignore let fileType = fileInfo.fileType; + //@ts-ignore let fileSize = fileInfo.size; + //@ts-ignore let startIndex = fileInfo.startIndex; + //@ts-ignore let endIndex = fileInfo.endIndex; let queryStartIndex = startIndex; let queryEndIndex = startIndex; @@ -1118,7 +1197,9 @@ const splitFileAndSave = async ( let range = getRange(timStamp, fileType, queryStartIndex, queryEndIndex); let res = await getIndexedDBQueryData(indexDB, range); queryStartIndex = queryEndIndex + 1; + //@ts-ignore for (let i = 0; i < res.length; i++) { + //@ts-ignore let arrayBuffer = res[i]; let uint8Array = new Uint8Array(arrayBuffer.buf); let cutFileSize = 0; @@ -1156,7 +1237,7 @@ const splitFileAndSave = async ( } }; -async function getIndexedDBQueryData(db: IDBDatabase, range: IDBKeyRange): Promise { +async function getIndexedDBQueryData(db: IDBDatabase, range: IDBKeyRange): Promise { const transaction = db.transaction(STORE_NAME, 'readonly'); const store = transaction.objectStore(STORE_NAME); const index = store.index('QueryCompleteFile'); @@ -1170,16 +1251,19 @@ function execLongTraceSplitFileByModule( resultFileSize: number, cutFileSize: number, uint8Array: Uint8Array, - splitReqBufferAddr?: any + splitReqBufferAddr?: unknown ): [number, number] { const sliceLen = Math.min(uint8Array.length - cutFileSize, REQ_BUF_SIZE); const dataSlice = uint8Array.subarray(cutFileSize, cutFileSize + sliceLen); + //@ts-ignore wasmModule.HEAPU8.set(dataSlice, splitReqBufferAddr); cutFileSize += sliceLen; resultFileSize += sliceLen; if (resultFileSize >= fileSize) { + //@ts-ignore wasmModule._TraceStreamerLongTraceSplitFileEx(sliceLen, 1, pageNum); } else { + //@ts-ignore wasmModule._TraceStreamerLongTraceSplitFileEx(sliceLen, 0, pageNum); } return [cutFileSize, resultFileSize]; @@ -1192,7 +1276,7 @@ function setArg( saveStartOffset: number, saveIndex: number, timStamp: number -): any { +): unknown { return { buf: remnantArray, id: `${fileType}_new_${timStamp}_${pageNum}_${saveIndex}`, @@ -1220,14 +1304,16 @@ enum DataTypeEnum { let uploadSoActionId: string = ''; let uploadFileIndex: number = 0; -let uploadSoCallbackFn: any; +let uploadSoCallbackFn: unknown; let soFileList: Array = []; const failedArray: Array = []; const uploadSoFile = async (file: File | null): Promise => { if (file) { let fileNameBuffer: Uint8Array | null = enc.encode(file.webkitRelativePath); let fileNameLength = fileNameBuffer.length; + //@ts-ignore let addr = wasmModule._InitFileName(uploadSoCallbackFn, fileNameBuffer.length); + //@ts-ignore wasmModule.HEAPU8.set(fileNameBuffer, addr); let writeSize = 0; let upRes = -1; @@ -1237,8 +1323,10 @@ const uploadSoFile = async (file: File | null): Promise => { let buffer: ArrayBuffer | null = await blob.arrayBuffer(); let data: Uint8Array | null = new Uint8Array(buffer); let size = file.size; + //@ts-ignore wasmModule.HEAPU8.set(data, reqBufferAddr); writeSize += sliceLen; + //@ts-ignore upRes = wasmModule._TraceStreamerDownloadELFEx(size, fileNameLength, sliceLen, 1); data = null; buffer = null; @@ -1251,6 +1339,7 @@ const uploadSoFile = async (file: File | null): Promise => { }; const uploadSoCallBack = (heapPtr: number, size: number, isFinish: number): void => { + //@ts-ignore let out: Uint8Array | null = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); if (out) { let res = dec.decode(out); @@ -1344,24 +1433,30 @@ function cutFileByRange(e: MessageEvent): void { let cutLeftTs = e.data.leftTs; let cutRightTs = e.data.rightTs; let uint8Array = new Uint8Array(e.data.buffer); - let resultBuffer: Array = []; + let resultBuffer: Array = []; let cutFileCallBack = cutFileCallBackFunc(resultBuffer, uint8Array, e); + //@ts-ignore splitReqBufferAddr = wasmModule._InitializeSplitFile(wasmModule.addFunction(cutFileCallBack, 'viiii'), REQ_BUF_SIZE); let cutTimeRange = `${cutLeftTs};${cutRightTs};`; let cutTimeRangeBuffer = enc.encode(cutTimeRange); + //@ts-ignore wasmModule.HEAPU8.set(cutTimeRangeBuffer, splitReqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerSplitFileEx(cutTimeRangeBuffer.length); let cutFileSize = 0; let receiveFileResult = -1; while (cutFileSize < uint8Array.length) { const sliceLen = Math.min(uint8Array.length - cutFileSize, REQ_BUF_SIZE); const dataSlice = uint8Array.subarray(cutFileSize, cutFileSize + sliceLen); + //@ts-ignore wasmModule.HEAPU8.set(dataSlice, splitReqBufferAddr); cutFileSize += sliceLen; try { if (cutFileSize >= uint8Array.length) { + //@ts-ignore receiveFileResult = wasmModule._TraceStreamerReciveFileEx(sliceLen, 1); } else { + //@ts-ignore receiveFileResult = wasmModule._TraceStreamerReciveFileEx(sliceLen, 0); } } catch (error) { @@ -1379,8 +1474,9 @@ function cutFileByRange(e: MessageEvent): void { } } } -function cutFileCallBackFunc(resultBuffer: Array, uint8Array: Uint8Array, e: MessageEvent): Function { +function cutFileCallBackFunc(resultBuffer: Array, uint8Array: Uint8Array, e: MessageEvent): Function { return (heapPtr: number, size: number, fileType: number, isEnd: number) => { + //@ts-ignore let out: Uint8Array = wasmModule.HEAPU8.slice(heapPtr, heapPtr + size); if (FileTypeEnum.data === fileType) { resultBuffer.push(out); @@ -1389,11 +1485,15 @@ function cutFileCallBackFunc(resultBuffer: Array, uint8Array: Uint8Array, e resultBuffer.push(cutBuffer); } if (isEnd) { + //@ts-ignore const cutResultFileLength = resultBuffer.reduce((total, obj) => total + obj.length, 0); + //@ts-ignore let cutBuffer = new Uint8Array(cutResultFileLength); let offset = 0; resultBuffer.forEach((item) => { + //@ts-ignore cutBuffer.set(item, offset); + //@ts-ignore offset += item.length; }); resultBuffer.length = 0; @@ -1413,34 +1513,44 @@ function cutFileCallBackFunc(resultBuffer: Array, uint8Array: Uint8Array, e }; } -function createView(sql: string): any { +function createView(sql: string): unknown { let array = enc.encode(sql); + //@ts-ignore wasmModule.HEAPU8.set(array, reqBufferAddr); + //@ts-ignore let res = wasmModule._TraceStreamerSqlOperateEx(array.length); return res; } -function query(name: string, sql: string, params: any): void { +function query(name: string, sql: string, params: unknown): void { if (params) { - Reflect.ownKeys(params).forEach((key: any) => { + Reflect.ownKeys(params).forEach((key: unknown) => { + //@ts-ignore if (typeof params[key] === 'string') { + //@ts-ignore sql = sql.replace(new RegExp(`\\${key}`, 'g'), `'${params[key]}'`); } else { + //@ts-ignore sql = sql.replace(new RegExp(`\\${key}`, 'g'), params[key]); } }); } let sqlUintArray = enc.encode(sql); + //@ts-ignore wasmModule.HEAPU8.set(sqlUintArray, reqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerSqlQueryEx(sqlUintArray.length); } -function querySdk(name: string, sql: string, sdkParams: any, action: string): void { +function querySdk(name: string, sql: string, sdkParams: unknown, action: string): void { if (sdkParams) { - Reflect.ownKeys(sdkParams).forEach((key: any) => { + Reflect.ownKeys(sdkParams).forEach((key: unknown) => { + //@ts-ignore if (typeof sdkParams[key] === 'string') { + //@ts-ignore sql = sql.replace(new RegExp(`\\${key}`, 'g'), `'${sdkParams[key]}'`); } else { + //@ts-ignore sql = sql.replace(new RegExp(`\\${key}`, 'g'), sdkParams[key]); } }); @@ -1458,7 +1568,9 @@ function querySdk(name: string, sql: string, sdkParams: any, action: string): vo function queryMetric(name: string): void { let metricArray = enc.encode(name); + //@ts-ignore wasmModule.HEAPU8.set(metricArray, reqBufferAddr); + //@ts-ignore wasmModule._TraceStreamerSqlMetricsQuery(metricArray.length); } @@ -1478,7 +1590,7 @@ function openDB(): Promise { function queryDataFromIndexeddb(getRequest: IDBRequest): Promise { return new Promise((resolve, reject) => { - let results: any[] = []; + let results: unknown[] = []; getRequest.onerror = (event): void => { // @ts-ignore reject(event.target.error); @@ -1497,7 +1609,7 @@ function queryDataFromIndexeddb(getRequest: IDBRequest { +function addDataToIndexeddb(db: IDBDatabase, value: unknown, key?: IDBValidKey): Promise { return new Promise((resolve, reject) => { const transaction = db.transaction(STORE_NAME, 'readwrite'); const objectStore = transaction.objectStore(STORE_NAME); diff --git a/ide/src/trace/database/data-trafic/CpuDataReceiver.ts b/ide/src/trace/database/data-trafic/CpuDataReceiver.ts index f4efdf5e3..e7478ec05 100644 --- a/ide/src/trace/database/data-trafic/CpuDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/CpuDataReceiver.ts @@ -86,6 +86,7 @@ export function searchDataHandler(data: any): void { let tidArr = data.params.tidArr as number[]; for (let value of Array.from(cpuList.values())) { res.push( + //@ts-ignore ...value.filter((cpuData) => pidArr.includes(cpuData.pid || cpuData.processId) || tidArr.includes(cpuData.tid)) ); } diff --git a/ide/src/trace/database/data-trafic/NativeMemoryDataSender.ts b/ide/src/trace/database/data-trafic/NativeMemoryDataSender.ts index fd03bf031..4f90ca91f 100644 --- a/ide/src/trace/database/data-trafic/NativeMemoryDataSender.ts +++ b/ide/src/trace/database/data-trafic/NativeMemoryDataSender.ts @@ -14,15 +14,15 @@ import { QueryEnum, TraficEnum } from './utils/QueryEnum'; import { threadPool } from '../SqlLite'; import { TraceRow } from '../../component/trace/base/TraceRow'; -export function nativeMemoryChartDataSender( - row: TraceRow, +export function nativeMemoryChartDataSender(//@ts-ignore + row: TraceRow, setting: { eventType: number; ipid: number; model: string; drawType: number; } -): Promise { +): Promise { return new Promise((resolve, reject) => { threadPool.submitProto( QueryEnum.NativeMemoryChartData, @@ -37,14 +37,14 @@ export function nativeMemoryChartDataSender( ipid: setting.ipid, trafic: TraficEnum.SharedArrayBuffer, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve(arrayBufferHandler(res, len)); } ); }); } -export function nativeMemoryChartDataCacheSender(processes: Array, model: string): Promise { +export function nativeMemoryChartDataCacheSender(processes: Array, model: string): Promise { return new Promise((resolve, reject) => { threadPool.submitProto( model === 'native_hook' ? QueryEnum.NativeMemoryChartCacheNormal : QueryEnum.NativeMemoryChartCacheStatistic, @@ -57,30 +57,30 @@ export function nativeMemoryChartDataCacheSender(processes: Array, model trafic: TraficEnum.SharedArrayBuffer, isCache: true, }, - (res: any, len: number): void => { + (res: unknown, len: number): void => { resolve('ok'); } ); }); } -function arrayBufferHandler(res: any, len: number): unknown[] { - let outArr: any[] = []; - let startTime = new Float64Array(res.startTime); - let dur = new Float64Array(res.dur); - let density = new Int32Array(res.density); +function arrayBufferHandler(res: unknown, len: number): unknown[] { + let outArr: unknown[] = [];//@ts-ignore + let startTime = new Float64Array(res.startTime);//@ts-ignore + let dur = new Float64Array(res.dur);//@ts-ignore + let density = new Int32Array(res.density);//@ts-ignore let heapSize = new Int32Array(res.heapSize); for (let i = 0; i < len; i++) { outArr.push({ startTime: startTime[i], dur: dur[i], heapsize: heapSize[i], - density: density[i], - maxHeapSize: res.maxSize, - maxDensity: res.maxDensity, - minHeapSize: res.minSize, + density: density[i],//@ts-ignore + maxHeapSize: res.maxSize,//@ts-ignore + maxDensity: res.maxDensity,//@ts-ignore + minHeapSize: res.minSize,//@ts-ignore minDensity: res.minDensity, - } as any); + } as unknown); } return outArr; } diff --git a/ide/src/trace/database/data-trafic/SliceReceiver.ts b/ide/src/trace/database/data-trafic/SliceReceiver.ts index dadc33285..de35400fa 100644 --- a/ide/src/trace/database/data-trafic/SliceReceiver.ts +++ b/ide/src/trace/database/data-trafic/SliceReceiver.ts @@ -13,7 +13,7 @@ import { cpuList, processList, sliceList, threadStateList } from './utils/AllMemoryCache'; -export const sliceSqlMem = (args: any): string => { +export const sliceSqlMem = (args: unknown): string => { return ` SELECT B.pid, B.cpu, @@ -21,44 +21,47 @@ export const sliceSqlMem = (args: any): string => { B.itid as id, B.dur AS dur, B.state, - B.ts - ${args.recordStartNS} AS startTime, + B.ts - ${//@ts-ignore + args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) as argSetId from thread_state AS B - where B.itid is not null and B.ts + ifnull(B.dur, 0) < ${args.recordEndNS}`; + where B.itid is not null and B.ts + ifnull(B.dur, 0) < ${//@ts-ignore + args.recordEndNS}`; }; -export function sliceReceiver(data: any, proc: Function): void { +export function sliceReceiver(data: unknown, proc: Function): void { let count = { cpu: new Map(), }; sliceList.clear(); cpuList.clear(); processList.clear(); - threadStateList.clear(); - let list: any[] = proc(sliceSqlMem(data.params)); + threadStateList.clear();//@ts-ignore + let list: unknown[] = proc(sliceSqlMem(data.params)); sliceList.set(0, list); for (let i = 0; i < list.length; i++) { - let slice = list[i]; - if (slice.cpu !== null && slice.cpu !== undefined) { - if (cpuList.has(slice.cpu)) { + let slice = list[i];//@ts-ignore + if (slice.cpu !== null && slice.cpu !== undefined) {//@ts-ignore + if (cpuList.has(slice.cpu)) {//@ts-ignore let arr = cpuList.get(slice.cpu) || []; let last = arr[arr.length - 1]; - if (last && (last.dur === -1 || last.dur === null || last.dur === undefined)) { + //@ts-ignore + if (last && (last.dur === -1 || last.dur === null || last.dur === undefined)) {//@ts-ignore last.dur = slice.startTime - last.startTime; - } + }//@ts-ignore cpuList.get(slice.cpu)!.push(slice); - } else { + } else {//@ts-ignore cpuList.set(slice.cpu, [slice]); } - } - if (slice.pid >= 0 && slice.cpu !== null && slice.cpu !== undefined) { - if (processList.has(slice.pid)) { + }//@ts-ignore + if (slice.pid >= 0 && slice.cpu !== null && slice.cpu !== undefined) {//@ts-ignore + if (processList.has(slice.pid)) {//@ts-ignore processList.get(slice.pid)!.push(slice); - } else { + } else {//@ts-ignore processList.set(slice.pid, [slice]); } - } - if (slice.pid >= 0 && slice.tid >= 0) { + }//@ts-ignore + if (slice.pid >= 0 && slice.tid >= 0) {//@ts-ignore let key = `${slice.pid}-${slice.tid}`; if (threadStateList.has(key)) { threadStateList.get(key)!.push(slice); @@ -69,9 +72,9 @@ export function sliceReceiver(data: any, proc: Function): void { } for (let key of cpuList.keys()) { let arr = cpuList.get(key) || []; - let last = arr[arr.length - 1]; - if (last && (last.dur === -1 || last.dur === null || last.dur === undefined)) { - let totalNs = data.params.recordEndNS - data.params.recordStartNS; + let last = arr[arr.length - 1];//@ts-ignore + if (last && (last.dur === -1 || last.dur === null || last.dur === undefined)) {//@ts-ignore + let totalNs = data.params.recordEndNS - data.params.recordStartNS;//@ts-ignore last.dur = totalNs - last.startTime; } count.cpu.set(key, arr.length); @@ -79,8 +82,8 @@ export function sliceReceiver(data: any, proc: Function): void { postMsg(data, count); } -export function sliceSPTReceiver(data: any) { - if (data && data.params.func) { +export function sliceSPTReceiver(data: unknown) {//@ts-ignore + if (data && data.params.func) {//@ts-ignore switch (data.params.func) { case 'spt-getPTS': getPTS(data); @@ -95,12 +98,12 @@ export function sliceSPTReceiver(data: any) { } } -function postMsg(data: any, res: any): void { +function postMsg(data: unknown, res: unknown): void { (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, - results: res, + results: res,//@ts-ignore len: res.length, transfer: false, }, @@ -108,86 +111,86 @@ function postMsg(data: any, res: any): void { ); } -function getSPT(data: any): void { +function getSPT(data: unknown): void { let threadSlice = sliceList.get(0) || []; let sptFilter = threadSlice.filter( - (it) => - Math.max(data.params.leftNs, it.startTime!) < Math.min(data.params.rightNs, it.startTime! + it.dur!) && + (it) =>//@ts-ignore + Math.max(data.params.leftNs, it.startTime!) < Math.min(data.params.rightNs, it.startTime! + it.dur!) &&//@ts-ignore (it.cpu === null || it.cpu === undefined || data.params.cpus.includes(it.cpu)) ); - let group: any = {}; + let group: unknown = {}; sptFilter.forEach((slice) => { - let item = { + let item = {//@ts-ignore title: `T-${slice.tid}`, - count: 1, - state: slice.state, - pid: slice.pid, - tid: slice.tid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + state: slice.state,//@ts-ignore + pid: slice.pid,//@ts-ignore + tid: slice.tid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, - }; + };//@ts-ignore if (group[`${slice.state}`]) { setSPTData(group, slice, item); - } else { - group[`${slice.state}`] = { + } else {//@ts-ignore + group[`${slice.state}`] = {//@ts-ignore title: `S-${slice.state}`, - count: 1, - state: slice.state, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + state: slice.state,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [ - { + {//@ts-ignore title: `P-${slice.pid}`, - count: 1, - state: slice.state, - pid: slice.pid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + state: slice.state,//@ts-ignore + pid: slice.pid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [item], }, ], }; } - }); + });//@ts-ignore postMsg(data, Object.values(group)); } -function getPTS(data: any): void { +function getPTS(data: unknown): void { let threadSlice = sliceList.get(0) || []; let ptsFilter = threadSlice.filter( - (it) => - Math.max(data.params.leftNs, it.startTime!) < Math.min(data.params.rightNs, it.startTime! + it.dur!) && + (it) =>//@ts-ignore + Math.max(data.params.leftNs, it.startTime!) < Math.min(data.params.rightNs, it.startTime! + it.dur!) &&//@ts-ignore (it.cpu === null || it.cpu === undefined || data.params.cpus.includes(it.cpu)) ); - let group: any = {}; - ptsFilter.forEach((slice) => { + let group: unknown = {}; + ptsFilter.forEach((slice) => {//@ts-ignore let title = `S-${slice.state}`; - let item = setStateData(slice, title); - if (group[`${slice.pid}`]) { + let item = setStateData(slice, title);//@ts-ignore + if (group[`${slice.pid}`]) {//@ts-ignore let process = group[`${slice.pid}`]; - process.count += 1; - process.wallDuration += slice.dur; - process.minDuration = Math.min(process.minDuration, slice.dur!); + process.count += 1;//@ts-ignore + process.wallDuration += slice.dur;//@ts-ignore + process.minDuration = Math.min(process.minDuration, slice.dur!);//@ts-ignore process.maxDuration = Math.max(process.maxDuration, slice.dur!); - process.avgDuration = (process.wallDuration / process.count).toFixed(2); - let thread = process.children.find((child: any) => child.title === `T-${slice.tid}`); + process.avgDuration = (process.wallDuration / process.count).toFixed(2);//@ts-ignore + let thread = process.children.find((child: unknown) => child.title === `T-${slice.tid}`); if (thread) { - thread.count += 1; - thread.wallDuration += slice.dur; - thread.minDuration = Math.min(thread.minDuration, slice.dur!); + thread.count += 1;//@ts-ignore + thread.wallDuration += slice.dur;//@ts-ignore + thread.minDuration = Math.min(thread.minDuration, slice.dur!);//@ts-ignore thread.maxDuration = Math.max(thread.maxDuration, slice.dur!); - thread.avgDuration = (thread.wallDuration / thread.count).toFixed(2); - let state = thread.children.find((child: any) => child.title === `S-${slice.state}`); + thread.avgDuration = (thread.wallDuration / thread.count).toFixed(2);//@ts-ignore + let state = thread.children.find((child: unknown) => child.title === `S-${slice.state}`); if (state) { - state.count += 1; - state.wallDuration += slice.dur; - state.minDuration = Math.min(state.minDuration, slice.dur!); + state.count += 1;//@ts-ignore + state.wallDuration += slice.dur;//@ts-ignore + state.minDuration = Math.min(state.minDuration, slice.dur!);//@ts-ignore state.maxDuration = Math.max(state.maxDuration, slice.dur!); state.avgDuration = (state.wallDuration / state.count).toFixed(2); } else { @@ -197,67 +200,67 @@ function getPTS(data: any): void { let processChild = setThreadData(slice, item); process.children.push(processChild); } - } else { + } else {//@ts-ignore group[`${slice.pid}`] = setProcessData(slice, item); } - }); + });//@ts-ignore postMsg(data, Object.values(group)); } -function sptGetCpuPriorityByTime(data: any): void { +function sptGetCpuPriorityByTime(data: unknown): void { let threadSlice = sliceList.get(0) || []; - const result = threadSlice.filter((item: any) => { + const result = threadSlice.filter((item: unknown) => {//@ts-ignore return !(item.startTime + item.dur < data.params.leftNs || item.startTime! > data.params.rightNs); }); postMsg(data, result); } -function setStateData(slice: any, title: string): any { +function setStateData(slice: unknown, title: string): unknown { return { title: title, - count: 1, - state: slice.state, - tid: slice.tid, - pid: slice.pid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + state: slice.state,//@ts-ignore + tid: slice.tid,//@ts-ignore + pid: slice.pid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, }; } -function setThreadData(slice: any, item: any): any { - return { +function setThreadData(slice: unknown, item: unknown): unknown { + return {//@ts-ignore title: `T-${slice.tid}`, - count: 1, - tid: slice.tid, - pid: slice.pid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + tid: slice.tid,//@ts-ignore + pid: slice.pid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [item], }; } -function setProcessData(slice: any, item: any): any { - return { +function setProcessData(slice: unknown, item: unknown): unknown { + return {//@ts-ignore title: `P-${slice.pid}`, - count: 1, - pid: slice.pid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + pid: slice.pid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [ - { + {//@ts-ignore title: `T-${slice.tid}`, - count: 1, - pid: slice.pid, - tid: slice.tid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + pid: slice.pid,//@ts-ignore + tid: slice.tid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [item], }, @@ -265,39 +268,39 @@ function setProcessData(slice: any, item: any): any { }; } -function setSPTData(group: any, slice: any, item: any): void { +function setSPTData(group: unknown, slice: unknown, item: unknown): void {//@ts-ignore let state = group[`${slice.state}`]; - state.count += 1; - state.wallDuration += slice.dur; - state.minDuration = Math.min(state.minDuration, slice.dur!); + state.count += 1;//@ts-ignore + state.wallDuration += slice.dur;//@ts-ignore + state.minDuration = Math.min(state.minDuration, slice.dur!);//@ts-ignore state.maxDuration = Math.max(state.maxDuration, slice.dur!); - state.avgDuration = (state.wallDuration / state.count).toFixed(2); - let process = state.children.find((child: any) => child.title === `P-${slice.pid}`); + state.avgDuration = (state.wallDuration / state.count).toFixed(2);//@ts-ignore + let process = state.children.find((child: unknown) => child.title === `P-${slice.pid}`); if (process) { - process.count += 1; - process.wallDuration += slice.dur; - process.minDuration = Math.min(process.minDuration, slice.dur!); + process.count += 1;//@ts-ignore + process.wallDuration += slice.dur;//@ts-ignore + process.minDuration = Math.min(process.minDuration, slice.dur!);//@ts-ignore process.maxDuration = Math.max(process.maxDuration, slice.dur!); - process.avgDuration = (process.wallDuration / process.count).toFixed(2); - let thread = process.children.find((child: any) => child.title === `T-${slice.tid}`); + process.avgDuration = (process.wallDuration / process.count).toFixed(2);//@ts-ignore + let thread = process.children.find((child: unknown) => child.title === `T-${slice.tid}`); if (thread) { - thread.count += 1; - thread.wallDuration += slice.dur; - thread.minDuration = Math.min(thread.minDuration, slice.dur!); + thread.count += 1;//@ts-ignore + thread.wallDuration += slice.dur;//@ts-ignore + thread.minDuration = Math.min(thread.minDuration, slice.dur!);//@ts-ignore thread.maxDuration = Math.max(thread.maxDuration, slice.dur!); thread.avgDuration = (thread.wallDuration / thread.count).toFixed(2); } else { process.children.push(item); } } else { - state.children.push({ + state.children.push({//@ts-ignore title: `P-${slice.pid}`, - count: 1, - state: slice.state, - pid: slice.pid, - minDuration: slice.dur || 0, - maxDuration: slice.dur || 0, - wallDuration: slice.dur || 0, + count: 1,//@ts-ignore + state: slice.state,//@ts-ignore + pid: slice.pid,//@ts-ignore + minDuration: slice.dur || 0,//@ts-ignore + maxDuration: slice.dur || 0,//@ts-ignore + wallDuration: slice.dur || 0,//@ts-ignore avgDuration: `${slice.dur}`, children: [item], }); diff --git a/ide/src/trace/database/data-trafic/SliceSender.ts b/ide/src/trace/database/data-trafic/SliceSender.ts index 270573a82..3fefc5c5d 100644 --- a/ide/src/trace/database/data-trafic/SliceSender.ts +++ b/ide/src/trace/database/data-trafic/SliceSender.ts @@ -15,7 +15,7 @@ import { QueryEnum, TraficEnum } from './utils/QueryEnum'; import { threadPool } from '../SqlLite'; import { TraceRow } from '../../component/trace/base/TraceRow'; -export function sliceSender(): Promise { +export function sliceSender(): Promise { let trafic: number = TraficEnum.Memory; return new Promise((resolve): void => { threadPool.submitProto( @@ -27,14 +27,14 @@ export function sliceSender(): Promise { recordStartNS: window.recordStartNS, recordEndNS: window.recordEndNS, }, - (res: any): void => { + (res: unknown): void => { resolve(res); } ); }); } -export function sliceSPTSender(leftNs: number, rightNs: number, cpus: Array, func: string): Promise { +export function sliceSPTSender(leftNs: number, rightNs: number, cpus: Array, func: string): Promise { return new Promise((resolve): void => { threadPool.submitProto( QueryEnum.SliceSPTData, @@ -45,7 +45,8 @@ export function sliceSPTSender(leftNs: number, rightNs: number, cpus: Array { + (res: unknown, len: number, transfer: boolean): void => { + //@ts-ignore resolve(res); } ); diff --git a/ide/src/trace/database/data-trafic/VirtualMemoryDataReceiver.ts b/ide/src/trace/database/data-trafic/VirtualMemoryDataReceiver.ts index 358053521..9e752e49a 100644 --- a/ide/src/trace/database/data-trafic/VirtualMemoryDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/VirtualMemoryDataReceiver.ts @@ -13,64 +13,73 @@ import { TraficEnum } from './utils/QueryEnum'; -export const chartVirtualMemoryDataSql = (args: any): string => { +export const chartVirtualMemoryDataSql = + (args: unknown): string => { return ` - select ts - ${args.recordStartNS} as startTime, + select ts - ${// @ts-ignore + args.recordStartNS} as startTime, filter_id as filterId, value from sys_mem_measure - where filter_id = ${args.filterId}`; + where filter_id = ${// @ts-ignore + args.filterId}`; }; -export const chartVirtualMemoryDataProtoSql = (args: any): string => { +export const chartVirtualMemoryDataProtoSql = +(args: unknown): string => { return ` - select ts - ${args.recordStartNS} as startTime, + select ts - ${// @ts-ignore + args.recordStartNS} as startTime, filter_id as filterId, value, - ((ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + ((ts - ${// @ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px from sys_mem_measure - where filter_id = ${args.filterId} - and startTime + (ifnull(dur,0)) >= ${Math.floor(args.startNS)} - and startTime <= ${Math.floor(args.endNS)} + where filter_id = ${// @ts-ignore + args.filterId} + and startTime + (ifnull(dur,0)) >= ${Math.floor(// @ts-ignore + args.startNS)} + and startTime <= ${Math.floor(// @ts-ignore + args.endNS)} group by px;`; }; -let vmList: Array = []; -let vmListMap = new Map>(); +let vmList: Array = [];// @ts-ignore +let vmListMap = new Map>(); export function resetVM(): void { vmList = []; vmListMap.clear(); } -export function virtualMemoryDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { - if (!vmListMap.has(data.params.filterId)) { - vmList = proc(chartVirtualMemoryDataSql(data.params)); +export function virtualMemoryDataReceiver(data: unknown, proc: Function): void {// @ts-ignore + if (data.params.trafic === TraficEnum.Memory) {// @ts-ignore + if (!vmListMap.has(data.params.filterId)) {// @ts-ignore + vmList = proc(chartVirtualMemoryDataSql(data.params));// @ts-ignore vmListMap.set(data.params.filterId, vmList); - } - let list = vmListMap.get(data.params.filterId) || []; + }// @ts-ignore + let list = vmListMap.get(data.params.filterId) || [];// @ts-ignore arrayBufferHandler(data, list, data.params.trafic !== TraficEnum.SharedArrayBuffer); - } else { + } else {// @ts-ignore let sql = chartVirtualMemoryDataProtoSql(data.params); - let res = proc(sql); + let res = proc(sql);// @ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); - let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {// @ts-ignore + let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime);// @ts-ignore + let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value);// @ts-ignore let filterID = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.filterID); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.virtualMemData); - startTime[i] = it.startTime; - filterID[i] = it.filterId; + res.forEach((it, i) => {// @ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.virtualMemData);// @ts-ignore + startTime[i] = it.startTime;// @ts-ignore + filterID[i] = it.filterId;// @ts-ignore value[i] = it.value; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {// @ts-ignore + id: data.id,// @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/VirtualMemoryDataSender.ts b/ide/src/trace/database/data-trafic/VirtualMemoryDataSender.ts index dcc0a8f3b..0a1b59c33 100644 --- a/ide/src/trace/database/data-trafic/VirtualMemoryDataSender.ts +++ b/ide/src/trace/database/data-trafic/VirtualMemoryDataSender.ts @@ -43,16 +43,16 @@ export function virtualMemoryDataSender( filterId: filterId, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean) => { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): VirtualMemoryStruct[] { - let filterID = new Uint8Array(buffers.filterID); - let value = new Int32Array(buffers.value); +function arrayBufferHandler(buffers: unknown, len: number): VirtualMemoryStruct[] {// @ts-ignore + let filterID = new Uint8Array(buffers.filterID);// @ts-ignore + let value = new Int32Array(buffers.value);// @ts-ignore let startTime = new Float64Array(buffers.startTime); let outArr: VirtualMemoryStruct[] = []; for (let i = 0; i < len; i++) { diff --git a/ide/src/trace/database/data-trafic/VmTrackerDataReceiver.ts b/ide/src/trace/database/data-trafic/VmTrackerDataReceiver.ts index 2aaa9b9bb..26e9cc9d7 100644 --- a/ide/src/trace/database/data-trafic/VmTrackerDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/VmTrackerDataReceiver.ts @@ -15,167 +15,218 @@ import { TraficEnum } from './utils/QueryEnum'; -export const chartSMapsDataSqlMem = (args: any): string => { - return `SELECT (A.timestamp - ${args.recordStartNS}) as startNs, - sum(${args.name}) * 1024 as value +export const chartSMapsDataSqlMem =// @ts-ignore + (args: unknown): string => { + return `SELECT (A.timestamp - ${// @ts-ignore + args.recordStartNS}) as startNs, + sum(${// @ts-ignore + args.name}) * 1024 as value FROM smaps A - WHERE A.timestamp < ${args.recordEndNS} + WHERE A.timestamp < ${// @ts-ignore + args.recordEndNS} GROUP by A.timestamp`; }; -export const chartDmaDataSqlMem = (args: any): string => { - return `SELECT (A.ts - ${args.recordStartNS}) as startNs, +export const chartDmaDataSqlMem = // @ts-ignore +(args: unknown): string => { + return `SELECT (A.ts - ${// @ts-ignore + args.recordStartNS}) as startNs, sum(A.size) as value FROM memory_dma A WHERE A.flag = 0 - AND ${args.ipid} = A.ipid - AND A.ts < ${args.recordEndNS} + AND ${// @ts-ignore + args.ipid} = A.ipid + AND A.ts < ${// @ts-ignore + args.recordEndNS} GROUP by A.ts`; }; -export const chartGpuMemoryDataSqlMem = (args: any): string => { - return ` SELECT (A.ts - ${args.recordStartNS}) as startNs, +export const chartGpuMemoryDataSqlMem =// @ts-ignore + (args: unknown): string => { + return ` SELECT (A.ts - ${// @ts-ignore + args.recordStartNS}) as startNs, sum(A.used_gpu_size) as value FROM memory_process_gpu A - WHERE ${args.ipid} = A.ipid - AND A.ts < ${args.recordEndNS} + WHERE ${// @ts-ignore + args.ipid} = A.ipid + AND A.ts < ${// @ts-ignore + args.recordEndNS} GROUP by A.ts`; }; -export const chartGpuResourceDataSqlMem = (args: any): string => { +export const chartGpuResourceDataSqlMem =// @ts-ignore + (args: unknown): string => { return `SELECT subquery1.startNs, (IFNULL(subquery1.totalSize, 0) - IFNULL(subquery2.size, 0)) AS value FROM - (SELECT (ts - ${args.recordStartNS}) AS startNs,SUM(total_size) AS totalSize + (SELECT (ts - ${// @ts-ignore + args.recordStartNS}) AS startNs,SUM(total_size) AS totalSize FROM memory_profile - WHERE ts between ${args.recordStartNS} and ${args.recordEndNS} + WHERE ts between ${// @ts-ignore + args.recordStartNS} and ${args.recordEndNS} GROUP BY ts) AS subquery1 LEFT JOIN - (SELECT (ts - ${args.recordStartNS}) AS startNs, SUM(size) AS size + (SELECT (ts - ${// @ts-ignore + args.recordStartNS}) AS startNs, SUM(size) AS size FROM memory_window_gpu - WHERE ts between ${args.recordStartNS} and ${args.recordEndNS} - AND category_name_id = ${args.scratchId} + WHERE ts between ${// @ts-ignore + args.recordStartNS} and ${args.recordEndNS} + AND category_name_id = ${// @ts-ignore + args.scratchId} GROUP BY ts) AS subquery2 ON subquery1.startNs = subquery2.startNs`; }; -export const chartGpuDataSqlMem = (args: any): string => { - return `select (ts - ${args.recordStartNS}) startNs, +export const chartGpuDataSqlMem =// @ts-ignore + (args: unknown): string => { + return `select (ts - ${// @ts-ignore + args.recordStartNS}) startNs, sum(value) * 1024 value from process_measure where filter_id = ( select id from process_measure_filter - where name = ${args.name} and ipid = ${args.ipid} + where name = ${// @ts-ignore + args.name} and ipid = ${args.ipid} ) - and ts between ${args.recordStartNS} AND ${args.recordEndNS} + and ts between ${// @ts-ignore + args.recordStartNS} AND ${args.recordEndNS} group by ts;`; }; -export const chartGpuTotalDataSqlMem = (args: any): string => { +export const chartGpuTotalDataSqlMem = +(args: unknown): string => {// @ts-ignore let moduleCondition = args.moduleId === null ? '' : `and module_name_id = ${args.moduleId}`; - return `select (ts - ${args.recordStartNS}) startNs, + return `select (ts - ${// @ts-ignore + args.recordStartNS}) startNs, sum(size) value from memory_window_gpu where window_name_id = 0 ${moduleCondition} - and ts < ${args.recordEndNS} + and ts < ${// @ts-ignore + args.recordEndNS} group by ts;`; }; -export const chartGpuWindowDataSqlMem = (args: any): string => { +export const chartGpuWindowDataSqlMem = // @ts-ignore +(args: unknown): string => {// @ts-ignore let moduleCondition = args.moduleId === null ? '' : `and module_name_id = ${args.moduleId}`; - return `select (ts - ${args.recordStartNS}) startNs, + return `select (ts - ${// @ts-ignore + args.recordStartNS}) startNs, sum(size) value from memory_window_gpu - where window_name_id = ${args.windowId} ${moduleCondition} - and ts < ${args.recordEndNS} + where window_name_id = ${// @ts-ignore + args.windowId} ${moduleCondition} + and ts < ${// @ts-ignore + args.recordEndNS} group by ts`; }; -export const chartShmDataSqlMem = (args: any): string => { - return `SELECT (A.ts - ${args.recordStartNS}) as startNs, +export const chartShmDataSqlMem = +(args: unknown): string => { + return `SELECT (A.ts - ${// @ts-ignore + args.recordStartNS}) as startNs, sum(A.size) as value FROM memory_ashmem A - where A.ipid = ${args.ipid} - AND A.ts < ${args.recordEndNS} + where A.ipid = ${// @ts-ignore + args.ipid} + AND A.ts < ${// @ts-ignore + args.recordEndNS} AND flag = 0 GROUP by A.ts`; }; -export const chartPurgeableDataSqlMem = (args: any): string => { - const pinSql = args.isPin ? ' AND a.ref_count > 0' : ''; +export const chartPurgeableDataSqlMem = +(args: unknown): string => {// @ts-ignore + const pinSql = args.isPin ? ' AND a.ref_count > 0' : '';// @ts-ignore const names = args.isPin ? " ('mem.purg_pin')" : "('mem.purg_sum')"; return `SELECT startNs, sum( value ) AS value - FROM (SELECT m.ts - ${args.recordStartNS} AS startNs, + FROM (SELECT m.ts - ${// @ts-ignore + args.recordStartNS} AS startNs, sum(m.value) AS value FROM process_measure m LEFT JOIN process_measure_filter f ON f.id = m.filter_id - WHERE m.ts < ${args.recordEndNS} + WHERE m.ts < ${// @ts-ignore + args.recordEndNS} AND f.name = ${names} - AND f.ipid = ${args.ipid} + AND f.ipid = ${// @ts-ignore + args.ipid} GROUP BY m.ts UNION ALL - SELECT a.ts - ${args.recordStartNS} AS startNs, + SELECT a.ts - ${// @ts-ignore + args.recordStartNS} AS startNs, sum( a.pss ) AS value FROM memory_ashmem a - WHERE a.ts < ${args.recordEndNS} + WHERE a.ts < ${// @ts-ignore + args.recordEndNS} AND a.flag = 0 - AND a.ipid = ${args.ipid} + AND a.ipid = ${// @ts-ignore + args.ipid} ${pinSql} GROUP BY a.ts) GROUP BY startNs`; }; -export const abilityPurgeablelDataSqlMem = (args: any): string => { - const pinCondition = args.isPin ? ' AND a.ref_count > 0' : ''; +export const abilityPurgeablelDataSqlMem = +(args: unknown): string => {// @ts-ignore + const pinCondition = args.isPin ? ' AND a.ref_count > 0' : '';// @ts-ignore const names = args.isPin ? " ('sys.mem.pined.purg')" : "('sys.mem.active.purg','sys.mem.inactive.purg')"; return `SELECT startNs, sum( value ) AS value - FROM (SELECT m.ts - ${args.recordStartNS} AS startNs, + FROM (SELECT m.ts - ${// @ts-ignore + args.recordStartNS} AS startNs, sum( m.value ) AS value FROM sys_mem_measure m LEFT JOIN sys_event_filter f ON f.id = m.filter_id - WHERE m.ts < ${args.recordEndNS} + WHERE m.ts < ${// @ts-ignore + args.recordEndNS} AND f.name IN ${names} GROUP BY m.ts UNION ALL - SELECT a.ts - ${args.recordStartNS} AS startNs, + SELECT a.ts - ${// @ts-ignore + args.recordStartNS} AS startNs, sum( a.size ) AS value FROM memory_ashmem a - WHERE a.ts < ${args.recordEndNS} + WHERE a.ts < ${// @ts-ignore + args.recordEndNS} AND a.flag = 0 ${pinCondition} GROUP BY a.ts ) GROUP BY startNs`; }; -export const abilityDmaDataSqlMem = (args: any): string => { - return `SELECT (A.ts - ${args.recordStartNS}) as startNs, +export const abilityDmaDataSqlMem = +(args: unknown): string => { + return `SELECT (A.ts - ${// @ts-ignore + args.recordStartNS}) as startNs, sum(A.size) as value, E.data as expTaskComm, A.flag as flag FROM memory_dma A left join data_dict as E on E.id=A.exp_task_comm_id WHERE A.flag = 0 - AND A.ts < ${args.recordEndNS} + AND A.ts < ${// @ts-ignore + args.recordEndNS} GROUP by A.ts;`; }; -export const abilityGpuMemoryDataSqlMem = (args: any): string => { +export const abilityGpuMemoryDataSqlMem = +(args: unknown): string => { return `SELECT - (A.ts - ${args.recordStartNS}) as startNs, + (A.ts - ${// @ts-ignore + args.recordStartNS}) as startNs, sum(A.used_gpu_size) as value FROM memory_process_gpu A - WHERE A.ts < ${args.recordEndNS} + WHERE A.ts < ${// @ts-ignore + args.recordEndNS} GROUP by A.ts;`; }; - -let sMapsList: Array = []; -let dmaList: Array = []; -let gpuMemoryList: Array = []; -let gpuList: Array = []; -let gpuResourceList: Array = []; -let gpuTotalList: Array = []; -let gpuWindowList: Array = []; -let shmList: Array = []; -let purgeableList: Array = []; -let sMapsMap = new Map>(); -let purgeableMap = new Map>(); -let gpuMap = new Map>(); -let abilityPurgeableMap: Map> = new Map(); -let abilityPurgeableList: Array = []; -let abilityDmaList: Array = []; -let abilityGpuMemoryList: Array = []; +// @ts-ignore +let sMapsList: Array = [];// @ts-ignore +let dmaList: Array = [];// @ts-ignore +let gpuMemoryList: Array = [];// @ts-ignore +let gpuList: Array = [];// @ts-ignore +let gpuResourceList: Array = [];// @ts-ignore +let gpuTotalList: Array = [];// @ts-ignore +let gpuWindowList: Array = [];// @ts-ignore +let shmList: Array = [];// @ts-ignore +let purgeableList: Array = [];// @ts-ignore +let sMapsMap = new Map>();// @ts-ignore +let purgeableMap = new Map>();// @ts-ignore +let gpuMap = new Map>();// @ts-ignore +let abilityPurgeableMap: Map> = new Map();// @ts-ignore +let abilityPurgeableList: Array = [];// @ts-ignore +let abilityDmaList: Array = [];// @ts-ignore +let abilityGpuMemoryList: Array = []; export function resetVmTracker(): void { sMapsList = []; @@ -199,121 +250,126 @@ export function resetAbility(): void { abilityPurgeableMap.clear(); } -export function sMapsDataReceiver(data: any, proc: Function): void { - if (!sMapsMap.has(data.params.name)) { - sMapsList = proc(chartSMapsDataSqlMem(data.params)); +export function sMapsDataReceiver(data: unknown, proc: Function): void {// @ts-ignore + if (!sMapsMap.has(data.params.name)) {// @ts-ignore + sMapsList = proc(chartSMapsDataSqlMem(data.params));// @ts-ignore sMapsMap.set(data.params.name, sMapsList); - } + }// @ts-ignore let list = sMapsMap.get(data.params.name) || []; arrayBufferHandler(data, list, true); } -export function dmaDataReceiver(data: any, proc: Function): void { - if (dmaList.length === 0) { +export function dmaDataReceiver(data: unknown, proc: Function): void { + if (dmaList.length === 0) {// @ts-ignore dmaList = proc(chartDmaDataSqlMem(data.params)); } arrayBufferHandler(data, dmaList, true); } -export function gpuMemoryDataReceiver(data: any, proc: Function): void { - if (gpuMemoryList.length === 0) { +export function gpuMemoryDataReceiver(data: unknown, proc: Function): void { + if (gpuMemoryList.length === 0) {// @ts-ignore gpuMemoryList = proc(chartGpuMemoryDataSqlMem(data.params)); } arrayBufferHandler(data, gpuMemoryList, true); } -export function gpuDataReceiver(data: any, proc: Function): void { - if (!gpuMap.has(data.params.name)) { - gpuList = proc(chartGpuDataSqlMem(data.params)); +export function gpuDataReceiver(data: unknown, proc: Function): void {// @ts-ignore + if (!gpuMap.has(data.params.name)) {// @ts-ignore + gpuList = proc(chartGpuDataSqlMem(data.params));// @ts-ignore gpuMap.set(data.params.name, gpuList); - } + }// @ts-ignore let list = gpuMap.get(data.params.name) || []; arrayBufferHandler(data, list, true); } -export function gpuResourceDataReceiver(data: any, proc: Function): void { - if (gpuResourceList.length === 0) { +export function gpuResourceDataReceiver(data: unknown, proc: Function): void { + if (gpuResourceList.length === 0) {// @ts-ignore gpuResourceList = proc(chartGpuResourceDataSqlMem(data.params)); } arrayBufferHandler(data, gpuResourceList, true); } -export function gpuTotalDataReceiver(data: any, proc: Function): void { - if (gpuTotalList.length === 0 || data.params.moduleId) { +export function gpuTotalDataReceiver(data: unknown, proc: Function): void {// @ts-ignore + if (gpuTotalList.length === 0 || data.params.moduleId) {// @ts-ignore gpuTotalList = proc(chartGpuTotalDataSqlMem(data.params)); } arrayBufferHandler(data, gpuTotalList, true); } -export function gpuWindowDataReceiver(data: any, proc: Function): void { - if (gpuWindowList.length === 0 || data.params.moduleId) { +export function gpuWindowDataReceiver(data: unknown, proc: Function): void {// @ts-ignore + if (gpuWindowList.length === 0 || data.params.moduleId) {// @ts-ignore gpuWindowList = proc(chartGpuWindowDataSqlMem(data.params)); } arrayBufferHandler(data, gpuWindowList, true); } -export function shmDataReceiver(data: any, proc: Function): void { - if (shmList.length === 0) { +export function shmDataReceiver(data: unknown, proc: Function): void { + if (shmList.length === 0) {// @ts-ignore shmList = proc(chartShmDataSqlMem(data.params)); } arrayBufferHandler(data, shmList, true); } -export function purgeableDataReceiver(data: any, proc: Function): void { +export function purgeableDataReceiver(data: unknown, proc: Function): void { let key: string = ''; - if (data.params.isPin) { + if (// @ts-ignore + data.params.isPin) { key = 'pin'; } else { key = 'total'; } - if (!purgeableMap.has(data.params.isPin)) { - purgeableList = proc(chartPurgeableDataSqlMem(data.params)); + if (!purgeableMap.has(// @ts-ignore + data.params.isPin)) { + purgeableList = proc(chartPurgeableDataSqlMem(// @ts-ignore + data.params)); purgeableMap.set(key, purgeableList); } let list = purgeableMap.get(key) || []; arrayBufferHandler(data, list, true); } -export function abilityPurgeableDataReceiver(data: any, proc: Function): void { +export function abilityPurgeableDataReceiver(data: unknown, proc: Function): void { let key = ''; - if (data.params.isPin) { + if (// @ts-ignore + data.params.isPin) { key = 'pin'; } else { key = 'total'; } if (!abilityPurgeableMap.has(key)) { - abilityPurgeableList = proc(abilityPurgeablelDataSqlMem(data.params)); + abilityPurgeableList = proc(abilityPurgeablelDataSqlMem(// @ts-ignore + data.params)); abilityPurgeableMap.set(key, abilityPurgeableList); } let abilityList = abilityPurgeableMap.get(key) || []; arrayBufferHandler(data, abilityList, true); } -export function abilityDmaDataReceiver(data: any, proc: Function): void { - if (abilityDmaList.length === 0) { +export function abilityDmaDataReceiver(data: unknown, proc: Function): void { + if (abilityDmaList.length === 0) {// @ts-ignore abilityDmaList = proc(abilityDmaDataSqlMem(data.params)); } arrayBufferHandler(data, abilityDmaList, true); } -export function abilityGpuMemoryDataReceiver(data: any, proc: Function): void { - if (abilityGpuMemoryList.length === 0) { +export function abilityGpuMemoryDataReceiver(data: unknown, proc: Function): void { + if (abilityGpuMemoryList.length === 0) {// @ts-ignore abilityGpuMemoryList = proc(abilityGpuMemoryDataSqlMem(data.params)); } arrayBufferHandler(data, abilityGpuMemoryList, true); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {// @ts-ignore + let startNs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startNs);// @ts-ignore let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.trackerData); - startNs[i] = it.startNs; + res.forEach((it, i) => {// @ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.trackerData);// @ts-ignore + startNs[i] = it.startNs;// @ts-ignore value[i] = it.value; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {// @ts-ignore + id: data.id,// @ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/VmTrackerDataSender.ts b/ide/src/trace/database/data-trafic/VmTrackerDataSender.ts index aa8bca610..7e89ddb00 100644 --- a/ide/src/trace/database/data-trafic/VmTrackerDataSender.ts +++ b/ide/src/trace/database/data-trafic/VmTrackerDataSender.ts @@ -39,8 +39,8 @@ export function sMapsDataSender(rowName: string, row: TraceRow): trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, name: rowName, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -68,8 +68,8 @@ export function dmaDataSender(ipid: number, row: TraceRow): Prom trafic: trafic, ipid: ipid, sharedArrayBuffers: row.sharedArrayBuffers, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -97,8 +97,8 @@ export function gpuMemoryDataSender(ipid: number, row: TraceRow) trafic: trafic, ipid: ipid, sharedArrayBuffers: row.sharedArrayBuffers, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -125,8 +125,8 @@ export function gpuResourceDataSender(scratchId: number, row: TraceRow { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -155,8 +155,8 @@ export function gpuGpuDataSender(ipid: number, name: string, row: TraceRow { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -184,8 +184,8 @@ export function gpuTotalDataSender(moduleId: number | null, row: TraceRow { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -218,8 +218,8 @@ export function gpuWindowDataSender( sharedArrayBuffers: row.sharedArrayBuffers, windowId: windowId, moduleId: moduleId, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -247,8 +247,8 @@ export function shmDataSender(ipid: number, row: TraceRow): Prom trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, ipid: ipid, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -281,8 +281,8 @@ export function purgeableDataSender( width: purgeWidth, trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, - }, - (res: any, len: number, transfer: boolean): void => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(res, len)); } ); @@ -315,8 +315,8 @@ export function abilityPurgeableDataSender( sharedArrayBuffers: row.sharedArrayBuffers, dur: dur, isPin: isPin, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -347,8 +347,8 @@ export function abilityDmaDataSender(row: TraceRow, dur: number) sharedArrayBuffers: row.sharedArrayBuffers, dma: 'dma', dur: dur, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); @@ -376,17 +376,17 @@ export function abilityGpuMemoryDataSender(row: TraceRow, dur: n trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, dur: dur, - }, - (res: any, len: number, transfer: boolean) => { + },// @ts-ignore + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(res, len)); } ); }); } - -function arrayBufferHandler(buffers: any, len: number): SnapshotStruct[] { - let outArr: SnapshotStruct[] = []; - let startNs = new Float64Array(buffers.startNs); +// @ts-ignore +function arrayBufferHandler(buffers: unknown, len: number): SnapshotStruct[] { + let outArr: SnapshotStruct[] = [];// @ts-ignore + let startNs = new Float64Array(buffers.startNs);// @ts-ignore let value = new Uint32Array(buffers.value); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/FuncDataReceiver.ts b/ide/src/trace/database/data-trafic/process/FuncDataReceiver.ts index 91d7e5567..935d43c95 100644 --- a/ide/src/trace/database/data-trafic/process/FuncDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/FuncDataReceiver.ts @@ -16,7 +16,7 @@ import { filterDataByGroupLayer } from '../utils/DataFilter'; import { TraficEnum } from '../utils/QueryEnum'; -export const chartFuncDataSql = (args: any): string => { +export const chartFuncDataSql = (args: unknown): string => { return ` select startTs, @@ -25,13 +25,16 @@ export const chartFuncDataSql = (args: any): string => { depth, id, max(dur2) as dur2, - (startTs) / (${Math.floor((args.endNS - args.startNS) / args.width)}) + (depth * ${ + (startTs) / (${//@ts-ignore + Math.floor((args.endNS - args.startNS) / args.width)}) + (depth * ${//@ts-ignore args.width }) AS px from ( - select c.ts - ${args.recordStartNS} as startTs, + select c.ts - ${//@ts-ignore + args.recordStartNS} as startTs, c.dur as dur, - case when (c.dur=-1 or c.dur is null ) then ${args.recordEndNS} else c.dur end as dur2, + case when (c.dur=-1 or c.dur is null ) then ${//@ts-ignore + args.recordEndNS} else c.dur end as dur2, c.argsetid, c.depth, c.id as id @@ -39,16 +42,20 @@ export const chartFuncDataSql = (args: any): string => { from callstack C where startTs not null and c.cookie is null - and c.callid in (select id from thread where tid=${args.tid} - and ipid=${args.ipid}) - and startTs + dur2 >= ${Math.floor(args.startNS)} - and startTs <= ${Math.floor(args.endNS)} + and c.callid in (select id from thread where tid=${//@ts-ignore + args.tid} + and ipid=${//@ts-ignore + args.ipid}) + and startTs + dur2 >= ${Math.floor(//@ts-ignore + args.startNS)} + and startTs <= ${Math.floor(//@ts-ignore + args.endNS)} ) group by px; `; }; -export const chartFuncDataSqlMem = (args: any): string => { +export const chartFuncDataSqlMem = (args: unknown): string => {//@ts-ignore return `select c.ts - ${args.recordStartNS} as startTs, c.dur as dur, ifnull(c.argsetid, -1) as argsetid, @@ -58,17 +65,19 @@ export const chartFuncDataSqlMem = (args: any): string => { from callstack C where startTs not null and c.cookie is null - and c.callid in (select id from thread where tid=${args.tid} - and ipid=${args.ipid})`; + and c.callid in (select id from thread where tid=${//@ts-ignore + args.tid} + and ipid=${//@ts-ignore + args.ipid})`; }; -export function funcDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { +export function funcDataReceiver(data: unknown, proc: Function): void {//@ts-ignore + if (data.params.trafic === TraficEnum.Memory) {//@ts-ignore let key = `${data.params.tid}${data.params.ipid}`; - if (!threadCallStackList.has(key)) { + if (!threadCallStackList.has(key)) {//@ts-ignore let list = proc(chartFuncDataSqlMem(data.params)); for (let i = 0; i < list.length; i++) { if (list[i].dur === -1 || list[i].dur === null || list[i].dur === undefined) { - list[i].nofinish = 1; + list[i].nofinish = 1;//@ts-ignore let totalNs = data.params.recordEndNS - data.params.recordStartNS; list[i].dur = totalNs - list[i].startTs; } else { @@ -82,38 +91,38 @@ export function funcDataReceiver(data: any, proc: Function): void { array, 'depth', 'startTs', - 'dur', - data.params.startNS, - data.params.endNS, + 'dur',//@ts-ignore + data.params.startNS,//@ts-ignore + data.params.endNS,//@ts-ignore data.params.width ); arrayBufferHandler(data, res, true, array.length === 0); - } else { + } else {//@ts-ignore let sql = chartFuncDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer, false); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean, isEmpty: boolean): void { - let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); - let argsetid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.argsetid); - let depth = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); - let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean, isEmpty: boolean): void {//@ts-ignore + let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore + let argsetid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.argsetid);//@ts-ignore + let depth = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.depth);//@ts-ignore + let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id);//@ts-ignore let nofinish = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.nofinish); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processFuncData); - startTs[i] = it.startTs; - dur[i] = it.dur; - argsetid[i] = it.argsetid; - depth[i] = it.depth; - id[i] = it.id; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processFuncData);//@ts-ignore + startTs[i] = it.startTs;//@ts-ignore + dur[i] = it.dur;//@ts-ignore + argsetid[i] = it.argsetid;//@ts-ignore + depth[i] = it.depth;//@ts-ignore + id[i] = it.id;//@ts-ignore nofinish[i] = it.nofinish; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/FuncDataSender.ts b/ide/src/trace/database/data-trafic/process/FuncDataSender.ts index 0868ebfa1..b11b7594f 100644 --- a/ide/src/trace/database/data-trafic/process/FuncDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/FuncDataSender.ts @@ -43,7 +43,7 @@ export function funcDataSender(tid: number, ipid: number, row: TraceRow { + (res: unknown, len: number, transfer: boolean, isEmpty: boolean) => { if (isEmpty) { resolve(true); } else { @@ -54,13 +54,13 @@ export function funcDataSender(tid: number, ipid: number, row: TraceRow { +export const chartProcessActualDataSql = (args: unknown): string => { return ` SELECT - (a.ts - ${args.recordStartNS}) AS ts, + (a.ts - ${//@ts-ignore + args.recordStartNS}) AS ts, a.dur, - ${args.pid} as pid, + ${//@ts-ignore + args.pid} as pid, a.id, a.vsync AS name, a.type, @@ -29,74 +31,82 @@ export const chartProcessActualDataSql = (args: any): string => { FROM frame_slice AS a WHERE a.type = 0 AND a.flag <> 2 - AND a.ipid in (select p.ipid from process AS p where p.pid = ${args.pid}) + AND a.ipid in (select p.ipid from process AS p where p.pid = ${//@ts-ignore + args.pid}) ORDER BY a.ipid;`; }; -export const chartProcessActualProtoDataSql = (args: any): string => { +export const chartProcessActualProtoDataSql = (args: unknown): string => { return ` SELECT - (a.ts - ${args.recordStartNS}) AS ts, + (a.ts - ${//@ts-ignore + args.recordStartNS}) AS ts, a.dur, - ${args.pid} as pid, + ${//@ts-ignore + args.pid} as pid, a.id, a.vsync AS name, a.type, a.flag AS jankTag, a.dst AS dstSlice, a.depth, - (a.ts - ${args.recordStartNS}) / (${Math.floor( - (args.endNS - args.startNS) / args.width + (a.ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor(//@ts-ignore + (args.endNS - args.startNS) / args.width//@ts-ignore )}) + (a.depth * ${args.width}) AS px FROM frame_slice AS a WHERE a.type = 0 AND a.flag <> 2 - AND a.ipid in (select p.ipid from process AS p where p.pid = ${args.pid}) - AND (a.ts - ${args.recordStartNS}) + dur >= ${Math.floor(args.startNS)} + AND a.ipid in (select p.ipid from process AS p where p.pid = ${//@ts-ignore + args.pid}) + AND (a.ts - ${//@ts-ignore + args.recordStartNS}) + dur >= ${Math.floor(//@ts-ignore + args.startNS)} - AND (a.ts - ${args.recordStartNS}) <= ${Math.floor(args.endNS)} + AND (a.ts - ${//@ts-ignore + args.recordStartNS}) <= ${Math.floor(args.endNS)} group by px ORDER BY a.ipid;`; }; -export function processActualDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { - if (!processFrameList.has(`${data.params.pid}_actual`)) { - let sql = chartProcessActualDataSql(data.params); +export function processActualDataReceiver(data: unknown, proc: Function): void {//@ts-ignore + if (data.params.trafic === TraficEnum.Memory) {//@ts-ignore + if (!processFrameList.has(`${data.params.pid}_actual`)) {//@ts-ignore + let sql = chartProcessActualDataSql(data.params);//@ts-ignore processFrameList.set(`${data.params.pid}_actual`, proc(sql)); - } + }//@ts-ignore arrayBufferHandler(data, processFrameList.get(`${data.params.pid}_actual`)!, true); - } else { + } else {//@ts-ignore let sql = chartProcessActualProtoDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { let processActual = new ProcessActual(data, transfer, res.length); for (let index = 0; index < res.length; index++) { - let itemData = res[index]; - data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.processJanksActualData); + let itemData = res[index];//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.processJanksActualData);//@ts-ignore if (!itemData.dur || itemData.dur < 0) { continue; - } - processActual.dur[index] = itemData.dur; - processActual.ts[index] = itemData.ts; - processActual.pid[index] = itemData.pid; - processActual.id[index] = itemData.id; - processActual.name[index] = itemData.name; - processActual.type[index] = itemData.type; - processActual.jank_tag[index] = itemData.jankTag; - processActual.dst_slice[index] = itemData.dstSlice; + }//@ts-ignore + processActual.dur[index] = itemData.dur;//@ts-ignore + processActual.ts[index] = itemData.ts;//@ts-ignore + processActual.pid[index] = itemData.pid;//@ts-ignore + processActual.id[index] = itemData.id;//@ts-ignore + processActual.name[index] = itemData.name;//@ts-ignore + processActual.type[index] = itemData.type;//@ts-ignore + processActual.jank_tag[index] = itemData.jankTag;//@ts-ignore + processActual.dst_slice[index] = itemData.dstSlice;//@ts-ignore processActual.depth[index] = itemData.depth; } postProcessActualMessage(data, transfer, processActual, res.length); } -function postProcessActualMessage(data: any, transfer: boolean, processActual: ProcessActual, len: number): void { +function postProcessActualMessage(data: unknown, transfer: boolean, processActual: ProcessActual, len: number): void { (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { @@ -139,15 +149,15 @@ class ProcessActual { jank_tag: Int32Array; dst_slice: Int32Array; depth: Uint16Array; - constructor(data: any, transfer: boolean, len: number) { - this.ts = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.ts); - this.dur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.dur); - this.pid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.pid); - this.id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.id); - this.name = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.name); - this.type = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.type); - this.jank_tag = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.jank_tag); - this.dst_slice = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.dst_slice); + constructor(data: unknown, transfer: boolean, len: number) {//@ts-ignore + this.ts = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.ts);//@ts-ignore + this.dur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.dur);//@ts-ignore + this.pid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.pid);//@ts-ignore + this.id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.id);//@ts-ignore + this.name = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.name);//@ts-ignore + this.type = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.type);//@ts-ignore + this.jank_tag = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.jank_tag);//@ts-ignore + this.dst_slice = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.dst_slice);//@ts-ignore this.depth = new Uint16Array(transfer ? len : data.params.sharedArrayBuffers.depth); } } diff --git a/ide/src/trace/database/data-trafic/process/ProcessActualDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessActualDataSender.ts index c0894edbf..71a52ce97 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessActualDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessActualDataSender.ts @@ -46,23 +46,23 @@ export function processActualDataSender(pid: number, row: TraceRow): sharedArrayBuffers: row.sharedArrayBuffers, t: Date.now(), }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): JankStruct[] { - let name = new Int32Array(buffers.name); - let id = new Int32Array(buffers.id); - let pid = new Int32Array(buffers.pid); - let type = new Int32Array(buffers.type); - let ts = new Float64Array(buffers.ts); +function arrayBufferHandler(buffers: unknown, len: number): JankStruct[] {//@ts-ignore + let name = new Int32Array(buffers.name);//@ts-ignore + let id = new Int32Array(buffers.id);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore + let type = new Int32Array(buffers.type);//@ts-ignore + let ts = new Float64Array(buffers.ts);//@ts-ignore let dur = new Float64Array(buffers.dur); - let outArr: JankStruct[] = []; - let jank_tag = new Int32Array(buffers.jank_tag); - let dst_slice = new Int32Array(buffers.dst_slice); + let outArr: JankStruct[] = [];//@ts-ignore + let jank_tag = new Int32Array(buffers.jank_tag);//@ts-ignore + let dst_slice = new Int32Array(buffers.dst_slice);//@ts-ignore let depth = new Uint16Array(buffers.depth); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessDataReceiver.ts index e39048a54..57c5ba14b 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessDataReceiver.ts @@ -15,69 +15,75 @@ import { TraficEnum } from '../utils/QueryEnum'; import { filterDataByGroupLayer, filterDataByLayer } from '../utils/DataFilter'; import { processList } from '../utils/AllMemoryCache'; -const sqlNormal = (args: any): string => { +const sqlNormal = (args: unknown): string => { return `select ta.cpu, max(dur) as dur, - ts - ${ + ts - ${//@ts-ignore args.recordStartNS } as startTime, - ((ts - ${args.recordStartNS}) / (${Math.floor( - (args.endNS - args.startNS) / args.width + ((ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor(//@ts-ignore + (args.endNS - args.startNS) / args.width//@ts-ignore )})) + (ta.cpu * ${args.width}) AS px from thread_state ta where ta.cpu is not null - and pid = ${args.pid} - and startTime + dur >= ${Math.floor(args.startNS)} - and startTime <= ${Math.floor(args.endNS)} + and pid = ${//@ts-ignore + args.pid} + and startTime + dur >= ${Math.floor(//@ts-ignore + args.startNS)} + and startTime <= ${Math.floor(//@ts-ignore + args.endNS)} group by px;`; }; -const sqlMem = (args: any): string => { +const sqlMem = (args: unknown): string => { return `select ta.cpu, dur as dur, - ts - ${args.recordStartNS} as startTime + ts - ${//@ts-ignore + args.recordStartNS} as startTime from thread_state ta where ta.cpu is not null - and pid = ${args.pid};`; + and pid = ${//@ts-ignore + args.pid};`; }; -export function processDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { - if (!processList.has(data.params.pid)) { +export function processDataReceiver(data: unknown, proc: Function): void {//@ts-ignore + if (data.params.trafic === TraficEnum.Memory) {//@ts-ignore + if (!processList.has(data.params.pid)) {//@ts-ignore processList.set(data.params.pid, proc(sqlMem(data.params))); } - let res = filterDataByLayer( + let res = filterDataByLayer(//@ts-ignore processList.get(data.params.pid) || [], 'cpu', 'startTime', - 'dur', - data.params.startNS, - data.params.endNS, + 'dur',//@ts-ignore + data.params.startNS,//@ts-ignore + data.params.endNS,//@ts-ignore data.params.width ); arrayBufferHandler(data, res, true); return; - } else { - let transfer = data.params.trafic !== TraficEnum.SharedArrayBuffer; + } else {//@ts-ignore + let transfer = data.params.trafic !== TraficEnum.SharedArrayBuffer;//@ts-ignore let sql = sqlNormal(data.params); - let res: any[] = proc(sql); + let res: unknown[] = proc(sql); arrayBufferHandler(data, res, transfer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {//@ts-ignore + let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore let cpu = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.cpu); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processData); - startTime[i] = it.startTime; - dur[i] = it.dur; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processData);//@ts-ignore + startTime[i] = it.startTime;//@ts-ignore + dur[i] = it.dur;//@ts-ignore cpu[i] = it.cpu; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ProcessDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessDataSender.ts index 2271fac17..005031378 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessDataSender.ts @@ -41,17 +41,17 @@ export function processDataSender(pid: number, row: TraceRow): Pr trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): ProcessStruct[] { - let outArr: ProcessStruct[] = []; - let cpu = new Uint8Array(buffers.cpu); - let startTime = new Float64Array(buffers.startTime); +function arrayBufferHandler(buffers: unknown, len: number): ProcessStruct[] { + let outArr: ProcessStruct[] = [];//@ts-ignore + let cpu = new Uint8Array(buffers.cpu);//@ts-ignore + let startTime = new Float64Array(buffers.startTime);//@ts-ignore let dur = new Float64Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataReceiver.ts index 4edca8524..22a2d4f9d 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataReceiver.ts @@ -13,10 +13,11 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartProcessDeliverInputEventDataSql = (args: any): string => { +export const chartProcessDeliverInputEventDataSql = (args: unknown): string => { return ` select - c.ts-${args.recordStartNS} as startTs, + c.ts-${//@ts-ignore + args.recordStartNS} as startTs, c.dur, c.argsetid, tid, @@ -27,7 +28,8 @@ export const chartProcessDeliverInputEventDataSql = (args: any): string => { c.id, c.cookie, c.depth, - ((c.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px, + ((c.ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px, c.name as funName, A.name as threadName from thread A @@ -35,48 +37,51 @@ export const chartProcessDeliverInputEventDataSql = (args: any): string => { left join process P on P.id = A.ipid where startTs not null and cookie not null and c.name ='deliverInputEvent' - and tid = ${args.tid} - and startTs + dur >= ${Math.floor(args.startNS)} - and startTs <= ${Math.floor(args.endNS)} + and tid = ${//@ts-ignore + args.tid} + and startTs + dur >= ${Math.floor(//@ts-ignore + args.startNS)} + and startTs <= ${Math.floor(//@ts-ignore + args.endNS)} group by px; `; }; -export function processDeliverInputEventDataReceiver(data: any, proc: Function): void { +export function processDeliverInputEventDataReceiver(data: unknown, proc: Function): void {//@ts-ignore let sql = chartProcessDeliverInputEventDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void { let processDeliverInputEvent = new ProcessDeliverInputEvent(data, transfer, res.length); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processInputEventData); - processDeliverInputEvent.tid[i] = it.tid; - processDeliverInputEvent.dur[i] = it.dur; - processDeliverInputEvent.is_main_thread[i] = it.isMainThread; - processDeliverInputEvent.track_id[i] = it.trackId; - processDeliverInputEvent.startTs[i] = it.startTs; - processDeliverInputEvent.pid[i] = it.pid; - processDeliverInputEvent.parent_id[i] = it.parentId; - processDeliverInputEvent.id[i] = it.id; - processDeliverInputEvent.cookie[i] = it.cookie; - processDeliverInputEvent.depth[i] = it.depth; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processInputEventData);//@ts-ignore + processDeliverInputEvent.tid[i] = it.tid;//@ts-ignore + processDeliverInputEvent.dur[i] = it.dur;//@ts-ignore + processDeliverInputEvent.is_main_thread[i] = it.isMainThread;//@ts-ignore + processDeliverInputEvent.track_id[i] = it.trackId;//@ts-ignore + processDeliverInputEvent.startTs[i] = it.startTs;//@ts-ignore + processDeliverInputEvent.pid[i] = it.pid;//@ts-ignore + processDeliverInputEvent.parent_id[i] = it.parentId;//@ts-ignore + processDeliverInputEvent.id[i] = it.id;//@ts-ignore + processDeliverInputEvent.cookie[i] = it.cookie;//@ts-ignore + processDeliverInputEvent.depth[i] = it.depth;//@ts-ignore processDeliverInputEvent.argsetid[i] = it.argsetid; }); postMessage(data, transfer, processDeliverInputEvent, res.length); } function postMessage( - data: any, + data: unknown, transfer: boolean, processDeliverInputEvent: ProcessDeliverInputEvent, len: number ): void { (self as unknown as Worker).postMessage( { - transfer: transfer, - id: data.id, + transfer: transfer,//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { @@ -124,17 +129,17 @@ class ProcessDeliverInputEvent { cookie: Int32Array; depth: Int32Array; argsetid: Int32Array; - constructor(data: any, transfer: boolean, len: number) { - this.tid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.tid); - this.pid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.pid); - this.is_main_thread = new Int8Array(transfer ? len : data.params.sharedArrayBuffers.is_main_thread); - this.track_id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.track_id); - this.startTs = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.startTs); - this.dur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.dur); - this.parent_id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.parent_id); - this.id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.id); - this.cookie = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.cookie); - this.depth = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.depth); + constructor(data: unknown, transfer: boolean, len: number) {//@ts-ignore + this.tid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.tid);//@ts-ignore + this.pid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.pid);//@ts-ignore + this.is_main_thread = new Int8Array(transfer ? len : data.params.sharedArrayBuffers.is_main_thread);//@ts-ignore + this.track_id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.track_id);//@ts-ignore + this.startTs = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.startTs);//@ts-ignore + this.dur = new Float64Array(transfer ? len : data.params.sharedArrayBuffers.dur);//@ts-ignore + this.parent_id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.parent_id);//@ts-ignore + this.id = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.id);//@ts-ignore + this.cookie = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.cookie);//@ts-ignore + this.depth = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.depth);//@ts-ignore this.argsetid = new Int32Array(transfer ? len : data.params.sharedArrayBuffers.argsetid); } } diff --git a/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataSender.ts index d255bc3c1..8672f5bf4 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessDeliverInputEventDataSender.ts @@ -48,25 +48,25 @@ export function processDeliverInputEventDataSender(tid: number, row: TraceRow { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): FuncStruct[] { - let outArr: FuncStruct[] = []; - let tid = new Int32Array(buffers.tid); - let pid = new Int32Array(buffers.pid); - let is_main_thread = new Int8Array(buffers.is_main_thread); - let track_id = new Int32Array(buffers.track_id); - let startTs = new Float64Array(buffers.startTs); - let dur = new Float64Array(buffers.dur); - let parent_id = new Int32Array(buffers.tid); - let id = new Int32Array(buffers.id); - let cookie = new Int32Array(buffers.cookie); - let depth = new Int32Array(buffers.depth); +function arrayBufferHandler(buffers: unknown, len: number): FuncStruct[] { + let outArr: FuncStruct[] = [];//@ts-ignore + let tid = new Int32Array(buffers.tid);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore + let is_main_thread = new Int8Array(buffers.is_main_thread);//@ts-ignore + let track_id = new Int32Array(buffers.track_id);//@ts-ignore + let startTs = new Float64Array(buffers.startTs);//@ts-ignore + let dur = new Float64Array(buffers.dur);//@ts-ignore + let parent_id = new Int32Array(buffers.tid);//@ts-ignore + let id = new Int32Array(buffers.id);//@ts-ignore + let cookie = new Int32Array(buffers.cookie);//@ts-ignore + let depth = new Int32Array(buffers.depth);//@ts-ignore let argsetid = new Int32Array(buffers.argsetid); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessExpectedDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessExpectedDataReceiver.ts index 1cd5154bf..e34895c28 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessExpectedDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessExpectedDataReceiver.ts @@ -15,12 +15,14 @@ import { TraficEnum } from '../utils/QueryEnum'; import { processFrameList } from '../utils/AllMemoryCache'; import { filterDataByGroup } from '../utils/DataFilter'; -export const chartProcessExpectedDataSql = (args: any): string => { +export const chartProcessExpectedDataSql = (args: unknown): string => { return ` SELECT - (a.ts - ${args.recordStartNS}) AS ts, + (a.ts - ${//@ts-ignore + args.recordStartNS}) AS ts, a.dur, - ${args.pid} as pid, + ${//@ts-ignore + args.pid} as pid, a.id, a.vsync as name, a.type, @@ -28,69 +30,76 @@ export const chartProcessExpectedDataSql = (args: any): string => { FROM frame_slice AS a WHERE a.type = 1 and (a.flag <> 2 or a.flag is null) - and a.ipid in (select p.ipid from process AS p where p.pid = ${args.pid}) + and a.ipid in (select p.ipid from process AS p where p.pid = ${//@ts-ignore + args.pid}) ORDER BY a.ipid`; }; -export const chartProcessExpectedProtoDataSql = (args: any): string => { +export const chartProcessExpectedProtoDataSql = (args: unknown): string => { return ` SELECT - (a.ts - ${args.recordStartNS}) AS ts, + (a.ts - ${//@ts-ignore + args.recordStartNS}) AS ts, a.dur, - ${args.pid} as pid, + ${//@ts-ignore + args.pid} as pid, a.id, a.vsync as name, a.type, a.depth, - (a.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)}) + (a.depth * ${ + (a.ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)}) + (a.depth * ${//@ts-ignore args.width }) AS px FROM frame_slice AS a WHERE a.type = 1 and (a.flag <> 2 or a.flag is null) - and a.ipid in (select p.ipid from process AS p where p.pid = ${args.pid}) - and (a.ts - ${args.recordStartNS} + a.dur) >= ${Math.floor(args.startNS)} - and (a.ts - ${args.recordStartNS}) <= ${Math.floor(args.endNS)} + and a.ipid in (select p.ipid from process AS p where p.pid = ${//@ts-ignore + args.pid}) + and (a.ts - ${//@ts-ignore + args.recordStartNS} + a.dur) >= ${Math.floor(args.startNS)} + and (a.ts - ${//@ts-ignore + args.recordStartNS}) <= ${Math.floor(args.endNS)} group by px ORDER BY a.ipid;`; }; -export function processExpectedDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { - if (!processFrameList.has(`${data.params.pid}_expected`)) { - let sql = chartProcessExpectedDataSql(data.params); +export function processExpectedDataReceiver(data: unknown, proc: Function): void {//@ts-ignore + if (data.params.trafic === TraficEnum.Memory) {//@ts-ignore + if (!processFrameList.has(`${data.params.pid}_expected`)) {//@ts-ignore + let sql = chartProcessExpectedDataSql(data.params);//@ts-ignore processFrameList.set(`${data.params.pid}_expected`, proc(sql)); - } + }//@ts-ignore arrayBufferHandler(data, processFrameList.get(`${data.params.pid}_expected`)!, true); - } else { + } else {//@ts-ignore let sql = chartProcessExpectedProtoDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let ts = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.ts); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); - let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); - let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); - let name = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.name); - let type = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.type); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {//@ts-ignore + let ts = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.ts);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore + let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid);//@ts-ignore + let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id);//@ts-ignore + let name = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.name);//@ts-ignore + let type = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.type);//@ts-ignore let depth = new Uint16Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); for (let index = 0; index < res.length; index++) { - let itemData = res[index]; - data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.processJanksFramesData); - dur[index] = itemData.dur; - ts[index] = itemData.ts; - pid[index] = itemData.pid; - id[index] = itemData.id; - name[index] = itemData.name; - type[index] = itemData.type; + let itemData = res[index];//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (itemData = itemData.processJanksFramesData);//@ts-ignore + dur[index] = itemData.dur;//@ts-ignore + ts[index] = itemData.ts;//@ts-ignore + pid[index] = itemData.pid;//@ts-ignore + id[index] = itemData.id;//@ts-ignore + name[index] = itemData.name;//@ts-ignore + type[index] = itemData.type;//@ts-ignore depth[index] = itemData.depth; } (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ProcessExpectedDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessExpectedDataSender.ts index 99ac10951..6a7b9c239 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessExpectedDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessExpectedDataSender.ts @@ -44,21 +44,21 @@ export function processExpectedDataSender(pid: number, row: TraceRow sharedArrayBuffers: row.sharedArrayBuffers, trafic: trafic, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): JankStruct[] { - let outArr: JankStruct[] = []; - let name = new Int32Array(buffers.name); - let pid = new Int32Array(buffers.pid); - let type = new Int32Array(buffers.type); - let id = new Int32Array(buffers.id); - let ts = new Float64Array(buffers.ts); - let dur = new Float64Array(buffers.dur); +function arrayBufferHandler(buffers: unknown, len: number): JankStruct[] { + let outArr: JankStruct[] = [];//@ts-ignore + let name = new Int32Array(buffers.name);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore + let type = new Int32Array(buffers.type);//@ts-ignore + let id = new Int32Array(buffers.id);//@ts-ignore + let ts = new Float64Array(buffers.ts);//@ts-ignore + let dur = new Float64Array(buffers.dur);//@ts-ignore let depth = new Uint16Array(buffers.depth); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessMemDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessMemDataReceiver.ts index e301e3e2e..3702483ef 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessMemDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessMemDataReceiver.ts @@ -14,45 +14,47 @@ import { TraficEnum } from '../utils/QueryEnum'; import { memList } from '../utils/AllMemoryCache'; -export const chartProcessMemDataSql = (args: any): string => { +export const chartProcessMemDataSql = (args: unknown): string => { return ` select filter_id as trackId, value, - c.ts - ${args.recordStartNS} as startTime, + c.ts - ${//@ts-ignore + args.recordStartNS} as startTime, ts from process_measure c, trace_range tb - where filter_id = ${args.trackId};`; + where filter_id = ${//@ts-ignore + args.trackId};`; }; -export function processMemDataReceiver(data: any, proc: Function): void { - let res: any[], list: any[]; - if (!memList.has(data.params.trackId)) { - list = proc(chartProcessMemDataSql(data.params)); +export function processMemDataReceiver(data: unknown, proc: Function): void { + let res: unknown[], list: unknown[];//@ts-ignore + if (!memList.has(data.params.trackId)) {//@ts-ignore + list = proc(chartProcessMemDataSql(data.params));//@ts-ignore memList.set(data.params.trackId, list); - } else { + } else {//@ts-ignore list = memList.get(data.params.trackId) || []; } - res = list; + res = list;//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); - let ts = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.ts); - let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {//@ts-ignore + let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime);//@ts-ignore + let ts = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.ts);//@ts-ignore + let value = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.value);//@ts-ignore let track_id = new Uint8Array(transfer ? res.length : data.params.sharedArrayBuffers.track_id); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processMemData); - ts[i] = it.ts; - startTime[i] = it.startTime; - track_id[i] = it.trackId; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processMemData);//@ts-ignore + ts[i] = it.ts;//@ts-ignore + startTime[i] = it.startTime;//@ts-ignore + track_id[i] = it.trackId;//@ts-ignore value[i] = it.value; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ProcessMemDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessMemDataSender.ts index 01747b240..eb244f206 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessMemDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessMemDataSender.ts @@ -41,18 +41,18 @@ export function processMemDataSender(trackId: number, row: TraceRow { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): ProcessMemStruct[] { - let outArr: ProcessMemStruct[] = []; - let track_id = new Uint8Array(buffers.track_id); - let value = new Int32Array(buffers.value); - let startTime = new Float64Array(buffers.startTime); +function arrayBufferHandler(buffers: unknown, len: number): ProcessMemStruct[] { + let outArr: ProcessMemStruct[] = [];//@ts-ignore + let track_id = new Uint8Array(buffers.track_id);//@ts-ignore + let value = new Int32Array(buffers.value);//@ts-ignore + let startTime = new Float64Array(buffers.startTime);//@ts-ignore let ts = new Float64Array(buffers.ts); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessSoInitDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessSoInitDataReceiver.ts index f8f61fc2b..0a2d67426 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessSoInitDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessSoInitDataReceiver.ts @@ -13,7 +13,7 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartProcessSoInitDataSql = (args: any): string => { +export const chartProcessSoInitDataSql = (args: unknown): string => { return ` select A.depth, @@ -27,37 +27,38 @@ export const chartProcessSoInitDataSql = (args: any): string => { from static_initalize A,trace_range B left join process P on A.ipid = P.ipid left join thread T on A.call_id = T.itid -where P.pid = ${args.pid};`; +where P.pid = ${//@ts-ignore + args.pid};`; }; -export function processSoInitDataReceiver(data: any, proc: Function): void { +export function processSoInitDataReceiver(data: unknown, proc: Function): void {//@ts-ignore let sql = chartProcessSoInitDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); - let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); - let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); - let itid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.itid); - let depth = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.depth); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {//@ts-ignore + let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTs);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore + let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid);//@ts-ignore + let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid);//@ts-ignore + let itid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.itid);//@ts-ignore + let depth = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.depth);//@ts-ignore let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processSoInitData); - dur[i] = it.dur || 0; - startTs[i] = it.startTime || 0; - pid[i] = it.pid || 0; - tid[i] = it.tid || 0; - itid[i] = it.itid || 0; - depth[i] = it.depth || 0; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processSoInitData);//@ts-ignore + dur[i] = it.dur || 0;//@ts-ignore + startTs[i] = it.startTime || 0;//@ts-ignore + pid[i] = it.pid || 0;//@ts-ignore + tid[i] = it.tid || 0;//@ts-ignore + itid[i] = it.itid || 0;//@ts-ignore + depth[i] = it.depth || 0;//@ts-ignore id[i] = it.id || 0; }); (self as unknown as Worker).postMessage( { - transfer: transfer, - id: data.id, + transfer: transfer,//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ProcessSoInitDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessSoInitDataSender.ts index ad4e5c6fb..e13c52c2b 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessSoInitDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessSoInitDataSender.ts @@ -44,21 +44,21 @@ export function processSoInitDataSender(pid: number, row: TraceRow): P trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean): void => { + (res: unknown, len: number, transfer: boolean): void => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): SoStruct[] { - let outArr: SoStruct[] = []; - let id = new Int32Array(buffers.id); - let depth = new Int32Array(buffers.depth); - let pid = new Int32Array(buffers.pid); - let tid = new Int32Array(buffers.tid); - let itid = new Int32Array(buffers.itid); - let startTs = new Float64Array(buffers.startTs); +function arrayBufferHandler(buffers: unknown, len: number): SoStruct[] { + let outArr: SoStruct[] = [];//@ts-ignore + let id = new Int32Array(buffers.id);//@ts-ignore + let depth = new Int32Array(buffers.depth);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore + let tid = new Int32Array(buffers.tid);//@ts-ignore + let itid = new Int32Array(buffers.itid);//@ts-ignore + let startTs = new Float64Array(buffers.startTs);//@ts-ignore let dur = new Float64Array(buffers.dur); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/process/ProcessStartupDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ProcessStartupDataReceiver.ts index 23e9b6565..9ef652c0d 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessStartupDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessStartupDataReceiver.ts @@ -13,48 +13,51 @@ import { TraficEnum } from '../utils/QueryEnum'; -export const chartProcessStartupDataSql = (args: any): string => { +export const chartProcessStartupDataSql = (args: unknown): string => { return ` select P.pid, A.tid, A.call_id as itid, - (case when A.start_time < ${args.recordStartNS} then 0 else (A.start_time - ${args.recordStartNS}) end) as startTime, + (case when A.start_time < ${//@ts-ignore + args.recordStartNS} then 0 else (A.start_time - ${args.recordStartNS}) end) as startTime, (case - when A.start_time < ${args.recordStartNS} then (A.end_time - ${args.recordStartNS}) + when A.start_time < ${//@ts-ignore + args.recordStartNS} then (A.end_time - ${args.recordStartNS}) when A.end_time = -1 then 0 else (A.end_time - A.start_time) end) as dur, A.start_name as startName from app_startup A left join process P on A.ipid = P.ipid - where P.pid = ${args.pid} + where P.pid = ${//@ts-ignore + args.pid} order by start_name;`; }; -export function processStartupDataReceiver(data: any, proc: Function): void { +export function processStartupDataReceiver(data: unknown, proc: Function): void {//@ts-ignore let sql = chartProcessStartupDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer); } -function arrayBufferHandler(data: any, res: any[], transfer: boolean): void { - let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); - let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); - let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); - let itid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.itid); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): void {//@ts-ignore + let startTs = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore + let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid);//@ts-ignore + let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid);//@ts-ignore + let itid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.itid);//@ts-ignore let startName = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.startName); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processStartupData); - dur[i] = it.dur || 0; - startTs[i] = it.startTime || 0; - pid[i] = it.pid || 0; - tid[i] = it.tid || 0; - itid[i] = it.itid || 0; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processStartupData);//@ts-ignore + dur[i] = it.dur || 0;//@ts-ignore + startTs[i] = it.startTime || 0;//@ts-ignore + pid[i] = it.pid || 0;//@ts-ignore + tid[i] = it.tid || 0;//@ts-ignore + itid[i] = it.itid || 0;//@ts-ignore startName[i] = it.startName || 0; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ProcessStartupDataSender.ts b/ide/src/trace/database/data-trafic/process/ProcessStartupDataSender.ts index 67dcf6fa4..4078797f0 100644 --- a/ide/src/trace/database/data-trafic/process/ProcessStartupDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ProcessStartupDataSender.ts @@ -43,19 +43,19 @@ export function processStartupDataSender(pid: number, row: TraceRow { + (res: unknown, len: number, transfer: boolean) => { resolve(arrayBufferHandler(transfer ? res : row.sharedArrayBuffers, len)); } ); }); } -function arrayBufferHandler(buffers: any, len: number): AppStartupStruct[] { - let startName = new Int32Array(buffers.startName); - let pid = new Int32Array(buffers.pid); - let tid = new Int32Array(buffers.tid); - let itid = new Int32Array(buffers.itid); - let startTs = new Float64Array(buffers.startTs); +function arrayBufferHandler(buffers: unknown, len: number): AppStartupStruct[] {//@ts-ignore + let startName = new Int32Array(buffers.startName);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore + let tid = new Int32Array(buffers.tid);//@ts-ignore + let itid = new Int32Array(buffers.itid);//@ts-ignore + let startTs = new Float64Array(buffers.startTs);//@ts-ignore let dur = new Float64Array(buffers.dur); let outArr: AppStartupStruct[] = []; for (let i = 0; i < len; i++) { diff --git a/ide/src/trace/database/data-trafic/process/ThreadDataReceiver.ts b/ide/src/trace/database/data-trafic/process/ThreadDataReceiver.ts index b11dca41d..0ea78e3d0 100644 --- a/ide/src/trace/database/data-trafic/process/ThreadDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/process/ThreadDataReceiver.ts @@ -15,88 +15,104 @@ import { threadStateList } from '../utils/AllMemoryCache'; import { filterDataByGroup } from '../utils/DataFilter'; import { TraficEnum, threadStateToNumber } from '../utils/QueryEnum'; -export const chartThreadDataSql = (args: any) => { +export const chartThreadDataSql = (args: unknown) => { return `select B.cpu, max(B.dur) AS dur, B.itid AS id, B.tid AS tid, B.state, B.pid, - B.ts - ${args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) AS argSetId, - ((B.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + B.ts - ${//@ts-ignore + args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) AS argSetId, + ((B.ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px from thread_state AS B - where B.tid = ${args.tid} - and B.pid = ${args.pid} + where B.tid = ${//@ts-ignore + args.tid} + and B.pid = ${//@ts-ignore + args.pid} and B.state != 'Running' - and startTime + dur >= ${Math.floor(args.startNS)} - and startTime <= ${Math.floor(args.endNS)} + and startTime + dur >= ${Math.floor(//@ts-ignore + args.startNS)} + and startTime <= ${Math.floor(//@ts-ignore + args.endNS)} group by px union all select B.cpu, max(B.dur) AS dur, B.itid AS id, B.tid AS tid, B.state, - B.pid, B.ts - ${args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) AS argSetId, - ((B.ts - ${args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px + B.pid, B.ts - ${//@ts-ignore + args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) AS argSetId, + ((B.ts - ${//@ts-ignore + args.recordStartNS}) / (${Math.floor((args.endNS - args.startNS) / args.width)})) AS px from thread_state AS B - where B.tid = ${args.tid} - and B.pid = ${args.pid} + where B.tid = ${//@ts-ignore + args.tid} + and B.pid = ${//@ts-ignore + args.pid} and B.state = 'Running' - and startTime + dur >= ${Math.floor(args.startNS)} - and startTime <= ${Math.floor(args.endNS)} + and startTime + dur >= ${Math.floor(//@ts-ignore + args.startNS)} + and startTime <= ${Math.floor(//@ts-ignore + args.endNS)} group by px; ;`; }; -export const sqlMem = (args: any): string => { - return `select B.cpu, B.dur AS dur, B.itid AS id, B.tid AS tid, B.state, B.pid, B.ts - ${args.recordStartNS} AS startTime, +export const sqlMem = (args: unknown): string => { + return `select B.cpu, B.dur AS dur, B.itid AS id, B.tid AS tid, B.state, B.pid, B.ts - ${//@ts-ignore + args.recordStartNS} AS startTime, ifnull(B.arg_setid, -1) AS argSetId from thread_state AS B - where B.tid = ${args.tid} - and B.pid = ${args.pid};`; + where B.tid = ${//@ts-ignore + args.tid} + and B.pid = ${//@ts-ignore + args.pid};`; }; -export function threadDataReceiver(data: any, proc: Function): void { - if (data.params.trafic === TraficEnum.Memory) { +export function threadDataReceiver(data: unknown, proc: Function): void {//@ts-ignore + if (data.params.trafic === TraficEnum.Memory) {//@ts-ignore let key = `${data.params.pid}-${data.params.tid}`; - if (!threadStateList.has(key)) { + if (!threadStateList.has(key)) {//@ts-ignore threadStateList.set(key, proc(sqlMem(data.params))); } let array = threadStateList.get(key) || []; let res = filterDataByGroup( array, 'startTime', - 'dur', - data.params.startNS, - data.params.endNS, + 'dur',//@ts-ignore + data.params.startNS,//@ts-ignore + data.params.endNS,//@ts-ignore data.params.width, undefined, + //@ts-ignore (a) => a.state === 'Running' ); arrayBufferHandler(data, res, true, array.length === 0); return; - } else { + } else {//@ts-ignore let sql = chartThreadDataSql(data.params); - let res = proc(sql); + let res = proc(sql);//@ts-ignore arrayBufferHandler(data, res, data.params.trafic !== TraficEnum.SharedArrayBuffer, false); } } -function arrayBufferHandler(data: any, res: any[], transfer: boolean, isEmpty: boolean): void { - let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime); - let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur); - let cpu = new Int8Array(transfer ? res.length : data.params.sharedArrayBuffers.cpu); - let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id); - let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid); - let state = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.state); - let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid); +function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean, isEmpty: boolean): void {//@ts-ignore + let startTime = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.startTime);//@ts-ignore + let dur = new Float64Array(transfer ? res.length : data.params.sharedArrayBuffers.dur);//@ts-ignore + let cpu = new Int8Array(transfer ? res.length : data.params.sharedArrayBuffers.cpu);//@ts-ignore + let id = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.id);//@ts-ignore + let tid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.tid);//@ts-ignore + let state = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.state);//@ts-ignore + let pid = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.pid);//@ts-ignore let argSetID = new Int32Array(transfer ? res.length : data.params.sharedArrayBuffers.argSetID); - res.forEach((it, i) => { - data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processThreadData); - startTime[i] = it.startTime; - dur[i] = it.dur; - cpu[i] = it.cpu; - id[i] = it.id; - tid[i] = it.tid; - state[i] = threadStateToNumber(it.state); - pid[i] = it.pid; + res.forEach((it, i) => {//@ts-ignore + data.params.trafic === TraficEnum.ProtoBuffer && (it = it.processThreadData);//@ts-ignore + startTime[i] = it.startTime;//@ts-ignore + dur[i] = it.dur;//@ts-ignore + cpu[i] = it.cpu;//@ts-ignore + id[i] = it.id;//@ts-ignore + tid[i] = it.tid;//@ts-ignore + state[i] = threadStateToNumber(it.state);//@ts-ignore + pid[i] = it.pid;//@ts-ignore argSetID[i] = it.argSetId; }); (self as unknown as Worker).postMessage( - { - id: data.id, + {//@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: transfer ? { diff --git a/ide/src/trace/database/data-trafic/process/ThreadDataSender.ts b/ide/src/trace/database/data-trafic/process/ThreadDataSender.ts index faec460c4..97a3e590f 100644 --- a/ide/src/trace/database/data-trafic/process/ThreadDataSender.ts +++ b/ide/src/trace/database/data-trafic/process/ThreadDataSender.ts @@ -49,7 +49,7 @@ export function threadDataSender( trafic: trafic, sharedArrayBuffers: row.sharedArrayBuffers, }, - (res: any, len: number, transfer: boolean, isEmpty: boolean): void => { + (res: unknown, len: number, transfer: boolean, isEmpty: boolean): void => { if (isEmpty) { resolve(true); } else { @@ -60,15 +60,15 @@ export function threadDataSender( }); } -function arrayBufferHandler(buffers: any, len: number): ThreadStruct[] { - let outArr: ThreadStruct[] = []; - let startTime = new Float64Array(buffers.startTime); - let dur = new Float64Array(buffers.dur); - let cpu = new Int8Array(buffers.cpu); - let id = new Int32Array(buffers.id); - let tid = new Int32Array(buffers.tid); - let state = new Int32Array(buffers.state); - let pid = new Int32Array(buffers.pid); +function arrayBufferHandler(buffers: unknown, len: number): ThreadStruct[] { + let outArr: ThreadStruct[] = [];//@ts-ignore + let startTime = new Float64Array(buffers.startTime);//@ts-ignore + let dur = new Float64Array(buffers.dur);//@ts-ignore + let cpu = new Int8Array(buffers.cpu);//@ts-ignore + let id = new Int32Array(buffers.id);//@ts-ignore + let tid = new Int32Array(buffers.tid);//@ts-ignore + let state = new Int32Array(buffers.state);//@ts-ignore + let pid = new Int32Array(buffers.pid);//@ts-ignore let argSetID = new Int32Array(buffers.argSetID); for (let i = 0; i < len; i++) { outArr.push({ diff --git a/ide/src/trace/database/data-trafic/utils/AllMemoryCache.ts b/ide/src/trace/database/data-trafic/utils/AllMemoryCache.ts index 46ef28c46..a9586516e 100644 --- a/ide/src/trace/database/data-trafic/utils/AllMemoryCache.ts +++ b/ide/src/trace/database/data-trafic/utils/AllMemoryCache.ts @@ -19,41 +19,41 @@ import { resetAbility } from '../VmTrackerDataReceiver'; import { resetDynamicEffect } from '../FrameDynamicEffectReceiver'; import { resetEnergyEvent } from '../EnergySysEventReceiver'; // thread_state 表缓存 -export const sliceList: Map> = new Map(); +export const sliceList: Map> = new Map(); //cpu 泳道 memory 缓存 -export const cpuList: Map> = new Map(); +export const cpuList: Map> = new Map(); //clock 泳道 memory 模式缓存 -export const clockList: Map> = new Map(); +export const clockList: Map> = new Map(); //cpu freq 泳道 memory模式缓存 -export const cpuFreqList: Map> = new Map(); +export const cpuFreqList: Map> = new Map(); //cpu freq limit 泳道 memory模式缓存 -export const cpuFreqLimitList: Map> = new Map(); +export const cpuFreqLimitList: Map> = new Map(); //cpu state 泳道 memory模式缓存 -export const cpuStateList: Map> = new Map(); +export const cpuStateList: Map> = new Map(); //thread call stack 泳道图 memory 模式缓存 -export const threadCallStackList: Map> = new Map(); +export const threadCallStackList: Map> = new Map(); //irq 泳道图 memory 模式缓存 -export const lrqList: Map> = new Map(); +export const lrqList: Map> = new Map(); //Lost Frame 泳道图 memory 模式缓存 -export const lostFrameList: Map> = new Map(); +export const lostFrameList: Map> = new Map(); //Hitch Time 泳道图 memory 模式缓存 -export const hitchTimeList: Map> = new Map(); +export const hitchTimeList: Map> = new Map(); //进程 泳道图 memory 模式缓存 -export const processList: Map> = new Map(); +export const processList: Map> = new Map(); //进程内存 泳道图 memory 模式缓存数据 -export const memList: Map> = new Map(); +export const memList: Map> = new Map(); //线程状态 泳道图 memory 模式缓存 -export const threadStateList: Map> = new Map(); +export const threadStateList: Map> = new Map(); //进程下卡顿丢帧 泳道图 memory 模式缓存 -export const processFrameList: Map> = new Map(); +export const processFrameList: Map> = new Map(); //hiSysEvent 泳道图 memory 模式缓存 -export const hiSysEventList: Map> = new Map(); +export const hiSysEventList: Map> = new Map(); //hiLog 泳道图 memory 模式缓存 -export const hiLogList: Map> = new Map(); +export const hiLogList: Map> = new Map(); //energy 泳道图 memory 模式缓存 -export const energyList: Map> = new Map(); -export function clearMemoryCache(data: any, proc: Function) { +export const energyList: Map> = new Map(); +export function clearMemoryCache(data: unknown, proc: Function) { sliceList.clear(); cpuList.clear(); clockList.clear(); @@ -81,7 +81,8 @@ export function clearMemoryCache(data: any, proc: Function) { resetEnergyEvent(); (self as unknown as Worker).postMessage( { - id: data.id, + //@ts-ignore + id: data.id,//@ts-ignore action: data.action, results: 'ok', len: 0, diff --git a/ide/src/trace/database/data-trafic/utils/DataFilter.ts b/ide/src/trace/database/data-trafic/utils/DataFilter.ts index bac07bf1b..f2914d6dc 100644 --- a/ide/src/trace/database/data-trafic/utils/DataFilter.ts +++ b/ide/src/trace/database/data-trafic/utils/DataFilter.ts @@ -13,7 +13,7 @@ * limitations under the License. */ export function filterDataByLayer( - list: any[], + list: unknown[], layerKey: string, startKey: string, durKey: string, @@ -24,36 +24,41 @@ export function filterDataByLayer( let pns = (endNS - startNS) / width; //每个像素多少ns let sliceArray = findRange(list, { startKey, durKey, startNS, endNS }); let groups = groupBy(sliceArray, layerKey); - let res: any[] = []; - Reflect.ownKeys(groups).map((key: any) => { - let slice = groups[key] as any[]; + let res: unknown[] = []; + Reflect.ownKeys( + //@ts-ignore + groups).map((key: unknown) => {//@ts-ignore + let slice = groups[key] as unknown[]; if (slice.length > 0) { let sum = 0; for (let i = 0; i < slice.length; i++) { if (i === slice.length - 1) { - if (slice[i][durKey] === undefined || slice[i][durKey] === null) { + if (//@ts-ignore + slice[i][durKey] === undefined || slice[i][durKey] === null) {//@ts-ignore slice[i][durKey] = (endNS || 0) - (slice[i][startKey] || 0); } } else { - if (slice[i][durKey] === undefined || slice[i][durKey] === null) { + if (//@ts-ignore + slice[i][durKey] === undefined || slice[i][durKey] === null) {//@ts-ignore slice[i][durKey] = (slice[i + 1][startKey] || 0) - (slice[i][startKey] || 0); } } - if (slice[i][durKey] >= pns || slice.length < 100) { + if (//@ts-ignore + slice[i][durKey] >= pns || slice.length < 100) {//@ts-ignore slice[i].v = true; } else { - if (i > 0) { + if (i > 0) {//@ts-ignore let c = slice[i][startKey] - slice[i - 1][startKey] - slice[i - 1][durKey]; - if (c < pns && sum < pns) { - sum += c + slice[i - 1][durKey]; + if (c < pns && sum < pns) {//@ts-ignore + sum += c + slice[i - 1][durKey];//@ts-ignore slice[i].v = false; - } else { + } else {//@ts-ignore slice[i].v = true; sum = 0; } } } - } + }//@ts-ignore res.push(...slice.filter((it) => it.v)); } }); @@ -61,32 +66,32 @@ export function filterDataByLayer( } export function filterDataByGroup( - list: any[], + list: unknown[], startKey: string, durKey: string, startNS: number, endNS: number, width: number, valueKey?: string, - filter?: (a: any) => boolean -): any[] { + filter?: (a: unknown) => boolean +): unknown[] { let arr = findRange(list, { startKey, durKey, startNS, endNS }); - arr = arr.map((it) => { + arr = arr.map((it) => {//@ts-ignore it.px = Math.floor(it[startKey] / ((endNS - startNS) / width)); return it; }); let group = groupBy(arr, 'px'); - let res: Set = new Set(); - Reflect.ownKeys(group).map((key: any): void => { - let arr = group[key] as any[]; - if (arr.length > 0) { + let res: Set = new Set();//@ts-ignore + Reflect.ownKeys(group).map((key: unknown): void => {//@ts-ignore + let arr = group[key] as unknown[]; + if (arr.length > 0) {//@ts-ignore res.add(arr.reduce((p, c) => (p[durKey] > c[durKey] ? p : c))); - if (valueKey) { + if (valueKey) {//@ts-ignore res.add(arr.reduce((p, c) => (p[valueKey] > c[valueKey] ? p : c))); } if (filter) { let filterArr = arr.filter((a) => filter(a)); - if (filterArr && filterArr.length > 0) { + if (filterArr && filterArr.length > 0) {//@ts-ignore res.add(filterArr.reduce((p, c) => (p[durKey] > c[durKey] ? p : c))); } } @@ -96,22 +101,24 @@ export function filterDataByGroup( } function filterDataByGroupWithoutValue( - list: any[], + list: unknown[], startKey: string, durKey: string, startNS: number, endNS: number, width: number ): unknown[] { - let arr: any[] = []; + let arr: unknown[] = []; // 标志位,判定何时进行新一轮数据统计处理 let flag: number = -1; for (let i = 0; i < list.length; i++) { // 筛选符合判断条件的数据,作进一步处理 + //@ts-ignore if (list[i][startKey] + list[i][durKey] >= startNS && list[i][startKey] <= endNS) { // 获取当前数据的像素值 - const px: number = Math.floor(list[i][startKey] / ((endNS - startNS) / width)); - list[i].px = px; + //@ts-ignore + const px: number = Math.floor(list[i][startKey] / ((endNS - startNS) / width));//@ts-ignore + list[i].px = px;//@ts-ignore if (flag === px && arr[arr.length - 1] && list[i][durKey] > arr[arr.length - 1][durKey]) { arr[arr.length - 1] = list[i]; } @@ -125,7 +132,7 @@ function filterDataByGroupWithoutValue( } export function filterDataByGroupLayer( - list: any[], + list: unknown[], layerKey: string, startKey: string, durKey: string, @@ -134,40 +141,41 @@ export function filterDataByGroupLayer( width: number ): unknown[] { let arr = findRange(list, { startKey, durKey, startNS, endNS }); - arr = arr.map((it) => { + arr = arr.map((it) => {//@ts-ignore it.px = Math.floor(it[startKey] / ((endNS - startNS) / width) + it[layerKey] * width); //设置临时变量durTmp 用于参与计算,分组后有dur为-1的数据按最长宽度显示 - it.durTmp = + //@ts-ignore + it.durTmp =//@ts-ignore it[durKey] === -1 || it[durKey] === null || it[durKey] === undefined ? endNS - it[startKey] : it[durKey]; return it; }); let group = groupBy(arr, 'px'); - let res: any[] = []; - Reflect.ownKeys(group).map((key: any) => { - let childArray = (group[key] as any[]).reduce((p, c) => (p.durTmp > c.durTmp ? p : c)); + let res: unknown[] = [];//@ts-ignore + Reflect.ownKeys(group).map((key: unknown) => {//@ts-ignore + let childArray = (group[key] as unknown[]).reduce((p, c) => (p.durTmp > c.durTmp ? p : c)); res.push(childArray); }); return res; } -function groupBy(array: Array, key: string): any { - return array.reduce((pre, current, index, arr) => { +function groupBy(array: Array, key: string): unknown { + return array.reduce((pre, current, index, arr) => {//@ts-ignore (pre[current[key]] = pre[current[key]] || []).push(current); return pre; }, {}); } function findRange( - fullData: Array, + fullData: Array, condition: { startKey: string; startNS: number; durKey: string; endNS: number; } -): Array { +): Array { return fullData.filter( - (it) => + (it) =>//@ts-ignore it[condition.startKey] + it[condition.durKey] >= condition.startNS && it[condition.startKey] <= condition.endNS ); } diff --git a/ide/src/trace/database/data-trafic/utils/ExecProtoForWorker.ts b/ide/src/trace/database/data-trafic/utils/ExecProtoForWorker.ts index 6edd66446..e288a4a93 100644 --- a/ide/src/trace/database/data-trafic/utils/ExecProtoForWorker.ts +++ b/ide/src/trace/database/data-trafic/utils/ExecProtoForWorker.ts @@ -80,9 +80,9 @@ import { cpuFreqDataReceiver } from '../cpu/CpuFreqDataReceiver'; import { lostFrameReceiver } from './../LostFrameReceiver'; import { sliceReceiver, sliceSPTReceiver } from '../SliceReceiver'; - -const traficHandlers: Map = new Map([]); -export const execProtoForWorker = (data: any, proc: Function): void => traficHandlers.get(data.name)?.(data, proc); +// @ts-ignore +const traficHandlers: Map = new Map([]);// @ts-ignore +export const execProtoForWorker = (data: unknown, proc: Function): void => traficHandlers.get(data.name)?.(data, proc); traficHandlers.set(QueryEnum.ClearMemoryCache, clearMemoryCache); traficHandlers.set(QueryEnum.CpuData, cpuDataReceiver); diff --git a/ide/src/trace/database/sql/Ability.sql.ts b/ide/src/trace/database/sql/Ability.sql.ts index 3205768fa..fb901aba1 100644 --- a/ide/src/trace/database/sql/Ability.sql.ts +++ b/ide/src/trace/database/sql/Ability.sql.ts @@ -345,7 +345,8 @@ export const queryPacketsOutAbilityData = (): Promise> => +export const queryAbilityExits = ()://@ts-ignore + Promise> => query( 'queryAbilityExits', `select @@ -354,7 +355,8 @@ export const queryAbilityExits = (): Promise> => where s.event_name in ('trace_diskio','trace_network', 'trace_cpu_usage','sys_memory') and s.stat_type ='received' and s.count > 0` ); -export const queryCPuAbilityMaxData = (): Promise> => +export const queryCPuAbilityMaxData = ()://@ts-ignore + Promise> => query( 'queryCPuAbilityMaxData', `select ifnull(max(total_load),0) as totalLoad, @@ -393,7 +395,8 @@ export const queryDmaAbilityData = (): Promise> => LIMIT 1;` ); // Ability Monitor Purgeable泳道图 -export const queryPurgeableSysData = (isPin?: boolean): Promise> => { +export const queryPurgeableSysData = (isPin?: boolean)://@ts-ignore + Promise> => { const pinCondition = isPin ? ' AND a.ref_count > 0' : ''; const names = isPin ? " ('sys.mem.pined.purg')" : "('sys.mem.active.purg','sys.mem.inactive.purg')"; return query( @@ -439,7 +442,8 @@ export const querySysPurgeableTab = ( rightNs: number, dur: number, isPin?: boolean -): Promise> => { +)://@ts-ignore + Promise> => { let pinsql = isPin ? ' AND ref_count > 0' : ''; const names = isPin ? " ('sys.mem.pined.purg')" : "('sys.mem.active.purg','sys.mem.inactive.purg')"; return query( @@ -480,7 +484,8 @@ export const querySysPurgeableTab = ( }; //Ability Monitor Purgeable 点选 tab页 -export const querySysPurgeableSelectionTab = (startNs: number, isPin?: boolean): Promise> => { +export const querySysPurgeableSelectionTab = (startNs: number, isPin?: boolean)://@ts-ignore + Promise> => { const pinSql = isPin ? ' AND ref_count > 0' : ''; const names = isPin ? " ('sys.mem.pined.purg')" : "('sys.mem.active.purg','sys.mem.inactive.purg')"; return query( diff --git a/ide/src/trace/database/sql/Clock.sql.ts b/ide/src/trace/database/sql/Clock.sql.ts index 9d9558c86..6dced5e19 100644 --- a/ide/src/trace/database/sql/Clock.sql.ts +++ b/ide/src/trace/database/sql/Clock.sql.ts @@ -63,7 +63,8 @@ order by measure.ts)) select s.filter_id as filterId,s.ts-r.start_ts as startNS,s.type,s.value,s.dur from state s,trace_range r`, { $clockName: clockName } ); -export const queryBootTime = (): Promise> => +export const queryBootTime = ()://@ts-ignore + Promise> => query( 'queryBootTime', `select CS.ts -TR.start_ts as ts ,clock_name from clock_snapshot as CS ,trace_range as TR diff --git a/ide/src/trace/database/sql/Cpu.sql.ts b/ide/src/trace/database/sql/Cpu.sql.ts index f0d70f186..302db608d 100644 --- a/ide/src/trace/database/sql/Cpu.sql.ts +++ b/ide/src/trace/database/sql/Cpu.sql.ts @@ -155,7 +155,8 @@ export const getTabCounters = ( processFilterIds: Array, virtualFilterIds: Array, startTime: number -): Promise => { +)://@ts-ignore + Promise => { let processSql = `select t1.filter_id as trackId, t2.name, @@ -202,8 +203,9 @@ export const getTabCounters = ( } return query('getTabCounters', sql, {}); }; -export const getTabCpuByProcess = (cpus: Array, leftNS: number, rightNS: number): Promise => - query( +export const getTabCpuByProcess = (cpus: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise =>//@ts-ignore + query( 'getTabCpuByProcess', ` select @@ -316,7 +318,8 @@ export const queryCpuFreqData = (cpu: number): Promise> => { $cpu: cpu } ); -export const queryCpuMax = (): Promise> => +export const queryCpuMax = ()://@ts-ignore + Promise> => query( 'queryCpuMax', ` @@ -332,7 +335,8 @@ export const queryCpuMax = (): Promise> => export const queryCpuDataCount = (): Promise => query('queryCpuDataCount', 'select count(1) as count,cpu from thread_state where cpu not null group by cpu'); -export const queryCpuCount = (): Promise> => +export const queryCpuCount = ()://@ts-ignore + Promise> => query( 'queryCpuCount', ` @@ -354,7 +358,8 @@ export const queryCpuSchedSlice = (): Promise> => from sched_slice,trace_range;` ); -export const queryCpuStateFilter = (): Promise> => +export const queryCpuStateFilter = ()://@ts-ignore + Promise> => query( 'queryCpuStateFilter', `select cpu,id as filterId @@ -363,7 +368,8 @@ export const queryCpuStateFilter = (): Promise> => {} ); -export const queryCpuState = (cpuFilterId: number): Promise> => +export const queryCpuState = (cpuFilterId: number)://@ts-ignore + Promise> => query( 'queryCpuState', ` @@ -374,7 +380,8 @@ export const queryCpuState = (cpuFilterId: number): Promise> => { $filterId: cpuFilterId } ); -export const queryCpuMaxFreq = (): Promise> => +export const queryCpuMaxFreq = ()://@ts-ignore + Promise> => query( 'queryCpuMaxFreq', ` @@ -518,7 +525,8 @@ export const queryCpuFreqFilterId = (): Promise< name='cpu_frequency' ` ); -export const searchCpuData = (keyword: string): Promise> => { +export const searchCpuData = (keyword: string)://@ts-ignore + Promise> => { let id = parseInt(keyword); let sql = ` select B.pid as processId, @@ -546,7 +554,8 @@ export const getTabPaneCounterSampleData = ( leftNs: number, rightNs: number, cpuStateFilterIds: Array -): Promise> => { +)://@ts-ignore + Promise> => { let str = ''; if (cpuStateFilterIds.length > 0) { str = ` and filter_id in (${cpuStateFilterIds.join(',')})`; @@ -562,9 +571,11 @@ export const getTabPaneCounterSampleData = ( { $leftNs: leftNs, $rightNs: rightNs } ); }; -export const queryJsCpuProfilerConfig = (): Promise> => +export const queryJsCpuProfilerConfig = ()://@ts-ignore + Promise> => query('queryJsCpuProfilerConfig', `SELECT pid, type, enable_cpu_Profiler as enableCpuProfiler FROM js_config`); -export const queryJsCpuProfilerData = (): Promise> => +export const queryJsCpuProfilerData = ()://@ts-ignore + Promise> => query('queryJsCpuProfilerData', `SELECT 1 WHERE EXISTS(select 1 from js_cpu_profiler_node)`); export const querySystemCallsTop = (): Promise< Array<{ @@ -629,7 +640,8 @@ export const querySystemCallsTop = (): Promise< DESC LIMIT 10` ); -export const queryWakeupListPriority = (itid: number[], ts: number[], cpus: number[]): Promise> => +export const queryWakeupListPriority = (itid: number[], ts: number[], cpus: number[])://@ts-ignore + Promise> => query( 'queryWakeupListPriority', ` @@ -647,7 +659,8 @@ export const getCpuLimitFreqBoxSelect = ( cpu: string; }>, rightNS: number -): Promise> => { +)://@ts-ignore + Promise> => { let ids = []; let condition = `(case`; for (let item of arr) { @@ -691,7 +704,8 @@ export const getCpuLimitFreqId = (): Promise> => {} ); -export const getCpuLimitFreqMax = (filterIds: string): Promise> => { +export const getCpuLimitFreqMax = (filterIds: string)://@ts-ignore + Promise> => { return query( 'getCpuLimitFreqMax', ` diff --git a/ide/src/trace/database/sql/Func.sql.ts b/ide/src/trace/database/sql/Func.sql.ts index d004dd119..2a664ed85 100644 --- a/ide/src/trace/database/sql/Func.sql.ts +++ b/ide/src/trace/database/sql/Func.sql.ts @@ -107,7 +107,8 @@ export const querySingleFuncNameCycle = ( } ); -export const queryAllFuncNames = (): Promise> => { +export const queryAllFuncNames = ()://@ts-ignore + Promise> => { return query( 'queryAllFuncNames', ` @@ -115,7 +116,8 @@ export const queryAllFuncNames = (): Promise> => { ); }; -export const queryProcessAsyncFunc = (traceRange: { startTs: number; endTs: number }): Promise> => +export const queryProcessAsyncFunc = (traceRange: { startTs: number; endTs: number })://@ts-ignore + Promise> => query( 'queryProcessAsyncFunc', `select tid, @@ -131,7 +133,8 @@ export const queryProcessAsyncFunc = (traceRange: { startTs: number; endTs: numb {} ); -export const getMaxDepthByTid = (): Promise> => +export const getMaxDepthByTid = ()://@ts-ignore + Promise> => query( 'getMaxDepthByTid', `SELECT @@ -250,7 +253,8 @@ export const getTabSlicesAsyncFunc = ( asyncPid: Array, leftNS: number, rightNS: number -): Promise> => +)://@ts-ignore + Promise> => query( 'getTabSlicesAsyncFunc', ` @@ -336,7 +340,8 @@ export const queryHeapFunction = (fileId: number): Promise> => +export const queryHeapTraceNode = (fileId: number)://@ts-ignore + Promise> => query( 'queryHeapTraceNode', `SELECT F.name, diff --git a/ide/src/trace/database/sql/Gpu.sql.ts b/ide/src/trace/database/sql/Gpu.sql.ts index 1008f43a9..00e463d8e 100644 --- a/ide/src/trace/database/sql/Gpu.sql.ts +++ b/ide/src/trace/database/sql/Gpu.sql.ts @@ -238,7 +238,8 @@ where window_name_id != 0 and A.ts < TR.end_ts ` ); -export const queryGpuDur = (id: number): Promise => +export const queryGpuDur = (id: number)://@ts-ignore + Promise => query( 'queryGpuDur', ` diff --git a/ide/src/trace/database/sql/Irq.sql.ts b/ide/src/trace/database/sql/Irq.sql.ts index 2f21bff56..e34241057 100644 --- a/ide/src/trace/database/sql/Irq.sql.ts +++ b/ide/src/trace/database/sql/Irq.sql.ts @@ -41,7 +41,8 @@ trace_range t where i.callid = ${callid} and i.cat = 'softirq' return query('queryIrqData', cat === 'irq' ? sqlIrq : sqlSoftIrq, {}); }; -export const queryIrqDataBoxSelect = (callIds: Array, startNS: number, endNS: number): Promise> => { +export const queryIrqDataBoxSelect = (callIds: Array, startNS: number, endNS: number)://@ts-ignore + Promise> => { let sqlIrq = ` select case when i.cat = 'ipi' then 'IPI' || i.name else i.name end as irqName, sum(dur) as wallDuration, @@ -62,7 +63,8 @@ export const querySoftIrqDataBoxSelect = ( callIds: Array, startNS: number, endNS: number -): Promise> => { +)://@ts-ignore + Promise> => { let sqlIrq = ` select i.name as irqName, sum(dur) as wallDuration, diff --git a/ide/src/trace/database/sql/Janks.sql.ts b/ide/src/trace/database/sql/Janks.sql.ts index 04163613e..13534112d 100644 --- a/ide/src/trace/database/sql/Janks.sql.ts +++ b/ide/src/trace/database/sql/Janks.sql.ts @@ -71,7 +71,8 @@ export const queryExpectedFrameDate = (): Promise> => AND fs.type = 1 ORDER BY ts;` ); -export const queryJumpJanksData = (processId: number, vsync: number): Promise> => +export const queryJumpJanksData = (processId: number, vsync: number)://@ts-ignore + Promise> => query( 'queryJumpJanksData', ` @@ -106,7 +107,8 @@ export const queryAllJankProcess = (): Promise< LEFT JOIN process AS p ON a.ipid = p.ipid ` ); -export const queryAllActualData = (): Promise> => +export const queryAllActualData = ()://@ts-ignore + Promise> => query( 'queryAllActualData', ` @@ -128,7 +130,8 @@ export const queryAllActualData = (): Promise> => AND a.flag <> 2 ORDER BY a.ipid, ts;` ); -export const queryActualFrameDate = (): Promise> => +export const queryActualFrameDate = ()://@ts-ignore + Promise> => query( 'queryActualFrameDate', `SELECT @@ -178,14 +181,15 @@ export const queryActualFrameDate = (): Promise> => NULL AS rs_name FROM frame_slice AS fs LEFT JOIN process AS pro ON pro.id = fs.ipid - LEFT JOIN trace_range TR + LEFT JOIN trace_range TRs WHERE fs.dst IS NULL AND pro.name NOT LIKE '%render_service%' AND fs.type = 0 AND fs.flag <> 2 ORDER BY ts;` ); -export const querySelectRangeData = (allPid: Array, leftNs: number, rightNs: number): Promise> => +export const querySelectRangeData = (allPid: Array, leftNs: number, rightNs: number)://@ts-ignore + Promise> => query( 'querySelectRangeData', ` diff --git a/ide/src/trace/database/sql/Memory.sql.ts b/ide/src/trace/database/sql/Memory.sql.ts index f1108a899..280d5d5af 100644 --- a/ide/src/trace/database/sql/Memory.sql.ts +++ b/ide/src/trace/database/sql/Memory.sql.ts @@ -135,17 +135,20 @@ export const getTabVirtualMemoryType = (startTime: number, endTime: number): Pro { $startTime: startTime, $endTime: endTime }, 'exec' ); -export const queryNativeMemoryRealTime = (): Promise> => +export const queryNativeMemoryRealTime = ()://@ts-ignore + Promise> => query( 'queryNativeMemoryRealTime', `select cs.ts,cs.clock_name from datasource_clockid dc left join clock_snapshot cs on dc.clock_id = cs.clock_id where data_source_name = 'memory-plugin' or data_source_name = 'nativehook' `, {} ); -export const queryJsMemoryData = (): Promise> => +export const queryJsMemoryData = ()://@ts-ignore + Promise> => query('queryJsMemoryData', `SELECT 1 WHERE EXISTS(SELECT 1 FROM js_heap_nodes)`); -export const queryVmTrackerShmData = (iPid: number): Promise> => +export const queryVmTrackerShmData = (iPid: number)://@ts-ignore + Promise> => query( 'queryVmTrackerShmData', `SELECT (A.ts - B.start_ts) as startNs, @@ -160,7 +163,8 @@ export const queryVmTrackerShmData = (iPid: number): Promise> => GROUP by A.ts`, {} ); -export const queryVmTrackerShmSelectionData = (startNs: number, ipid: number): Promise> => +export const queryVmTrackerShmSelectionData = (startNs: number, ipid: number)://@ts-ignore + Promise> => query( 'queryVmTrackerShmSelectionData', `SELECT (A.ts - B.start_ts) as startNS,A.ipid, @@ -186,7 +190,8 @@ export const queryMemoryConfig = (): Promise> => ;` ); // VM Tracker Purgeable泳道图 -export const queryPurgeableProcessData = (ipid: number, isPin?: boolean): Promise> => { +export const queryPurgeableProcessData = (ipid: number, isPin?: boolean)://@ts-ignore + Promise> => { const pinSql = isPin ? ' AND a.ref_count > 0' : ''; const names = isPin ? " ('mem.purg_pin')" : "('mem.purg_sum')"; return query( @@ -221,9 +226,11 @@ export const queryPurgeableProcessData = (ipid: number, isPin?: boolean): Promis GROUP BY startNs` ); }; -export const queryVirtualMemory = (): Promise> => +export const queryVirtualMemory = ()://@ts-ignore + Promise> => query('queryVirtualMemory', `select id,name from sys_event_filter where type='sys_virtual_memory_filter'`); -export const queryVirtualMemoryData = (filterId: number): Promise> => +export const queryVirtualMemoryData = (filterId: number)://@ts-ignore + Promise> => query( 'queryVirtualMemoryData', `select ts-${ @@ -325,7 +332,8 @@ export const queryTraceMemoryUnAgg = (): Promise< order by filter.ipid` ); -export const queryMemoryMaxData = (memoryName: string): Promise> => +export const queryMemoryMaxData = (memoryName: string)://@ts-ignore + Promise> => query( 'queryMemoryMaxData', `SELECT ifnull(max(m.value),0) as maxValue, @@ -336,7 +344,8 @@ export const queryMemoryMaxData = (memoryName: string): Promise> => `, { $memoryName: memoryName } ); -export const getTabPaneVirtualMemoryStatisticsData = (leftNs: number, rightNs: number): Promise> => +export const getTabPaneVirtualMemoryStatisticsData = (leftNs: number, rightNs: number)://@ts-ignore + Promise> => query( 'getTabPaneVirtualMemoryStatisticsData', ` @@ -360,7 +369,8 @@ export const getTabPaneVirtualMemoryStatisticsData = (leftNs: number, rightNs: n `, { $leftNs: leftNs, $rightNs: rightNs } ); -export const getFileSysVirtualMemoryChartData = (): Promise> => +export const getFileSysVirtualMemoryChartData = ()://@ts-ignore + Promise> => query( 'getFileSysVirtualMemoryChartData', ` @@ -374,7 +384,8 @@ export const getFileSysVirtualMemoryChartData = (): Promise> => {}, 'exec' ); -export const hasFileSysData = (): Promise> => +export const hasFileSysData = ()://@ts-ignore + Promise> => query( 'hasFileSysData', ` @@ -388,7 +399,8 @@ export const hasFileSysData = (): Promise> => `, {} ); -export const queryEbpfSamplesCount = (startTime: number, endTime: number, ipids: number[]): Promise> => +export const queryEbpfSamplesCount = (startTime: number, endTime: number, ipids: number[])://@ts-ignore + Promise> => query( 'queryEbpfSamplesCount', ` @@ -404,7 +416,8 @@ fsCount, `, { $startTime: startTime, $endTime: endTime } ); -export const queryisExistsShmData = (iPid: number): Promise> => +export const queryisExistsShmData = (iPid: number)://@ts-ignore + Promise> => query( 'queryisExistsShmData', `SELECT EXISTS ( @@ -422,7 +435,8 @@ export const queryVmTrackerShmSizeData = ( rightNs: number, iPid: number, dur: number -): Promise> => +)://@ts-ignore + Promise> => query( 'queryVmTrackerShmSizeData', `SELECT ( A.ts - B.start_ts ) AS startNS, @@ -439,7 +453,8 @@ export const queryVmTrackerShmSizeData = ( AND ipid = ${iPid}`, {} ); -export const queryisExistsPurgeableData = (ipid: number, isPin?: boolean): Promise> => { +export const queryisExistsPurgeableData = (ipid: number, isPin?: boolean)://@ts-ignore + Promise> => { const pinSql = isPin ? ' AND a.ref_count > 0' : ''; const names = isPin ? " ('mem.purg_pin')" : "('mem.purg_sum')"; return query( diff --git a/ide/src/trace/database/sql/NativeHook.sql.ts b/ide/src/trace/database/sql/NativeHook.sql.ts index 89d36d7a5..504cfb737 100644 --- a/ide/src/trace/database/sql/NativeHook.sql.ts +++ b/ide/src/trace/database/sql/NativeHook.sql.ts @@ -20,7 +20,8 @@ export const queryNativeHookResponseTypes = ( rightNs: number, types: Array, isStatistic: boolean -): Promise> => { +)://@ts-ignore + Promise> => { const table = isStatistic ? 'native_hook_statistic' : 'native_hook'; const tsKey = isStatistic ? 'ts' : 'start_ts'; const type = isStatistic ? 'type' : 'event_type'; @@ -130,7 +131,8 @@ export const queryNativeHookStatisticsSubType = ( { $leftNs: leftNs, $rightNs: rightNs } ); -export const queryNativeHookSubType = (leftNs: number, rightNs: number, ipid: number): Promise> => +export const queryNativeHookSubType = (leftNs: number, rightNs: number, ipid: number)://@ts-ignore + Promise> => query( 'queryNativeHookSubType', `select distinct( @@ -148,7 +150,8 @@ where event_type = 'MmapEvent' and { $leftNs: leftNs, $rightNs: rightNs } ); -export const queryNativeHookStatisticSubType = (leftNs: number, rightNs: number, ipid: number): Promise> => +export const queryNativeHookStatisticSubType = (leftNs: number, rightNs: number, ipid: number)://@ts-ignore + Promise> => query( 'queryNativeHookStatisticSubType', `SELECT DISTINCT diff --git a/ide/src/trace/database/sql/Perf.sql.ts b/ide/src/trace/database/sql/Perf.sql.ts index ac24ecfe6..b19a0b958 100644 --- a/ide/src/trace/database/sql/Perf.sql.ts +++ b/ide/src/trace/database/sql/Perf.sql.ts @@ -21,7 +21,8 @@ import { GpuCountBean, SearchGpuFuncBean } from '../../bean/GpufreqBean'; export const queryPerfFiles = (): Promise> => query('queryPerfFiles', `select file_id as fileId,symbol,path from perf_files`, {}); -export const queryPerfCallChainName = (): Promise> => +export const queryPerfCallChainName = ()://@ts-ignore + Promise> => query('queryPerfCallChainName', `select callchain_id,depth,name from perf_callchain`, {}); export const queryPerfProcess = (): Promise> => @@ -142,9 +143,11 @@ select distinct event_type_id from perf_sample); /** * HiPerf */ -export const queryHiPerfEventList = (): Promise> => +export const queryHiPerfEventList = ()://@ts-ignore + Promise> => query('queryHiPerfEventList', `select id,report_value from perf_report where report_type='config_name'`, {}); -export const queryHiPerfEventListData = (eventTypeId: number): Promise> => +export const queryHiPerfEventListData = (eventTypeId: number)://@ts-ignore + Promise> => query( 'queryHiPerfEventListData', ` @@ -158,7 +161,8 @@ export const queryHiPerfEventListData = (eventTypeId: number): Promise> => +export const queryHiPerfEventData = (eventTypeId: number, cpu: number)://@ts-ignore + Promise> => query( 'queryHiPerfEventList', ` @@ -173,7 +177,8 @@ export const queryHiPerfEventData = (eventTypeId: number, cpu: number): Promise< `, { $eventTypeId: eventTypeId, $cpu: cpu } ); -export const queryHiPerfCpuData = (cpu: number): Promise> => +export const queryHiPerfCpuData = (cpu: number)://@ts-ignore + Promise> => query( 'queryHiPerfCpuData', ` @@ -185,21 +190,24 @@ export const queryHiPerfCpuData = (cpu: number): Promise> => and s.thread_id != 0;`, { $cpu: cpu } ); -export const queryHiPerfCpuMergeData = (): Promise> => +export const queryHiPerfCpuMergeData = ()://@ts-ignore + Promise> => query( 'queryHiPerfCpuData', `select s.callchain_id,(s.timestamp_trace-t.start_ts) startNS, event_count, event_type_id from perf_sample s,trace_range t where s.thread_id != 0;`, {} ); -export const queryHiPerfCpuMergeData2 = (): Promise> => +export const queryHiPerfCpuMergeData2 = ()://@ts-ignore + Promise> => query( 'queryHiPerfCpuData2', `select distinct cpu_id from perf_sample where thread_id != 0 order by cpu_id desc;`, {} ); -export const queryHiPerfProcessData = (pid: number): Promise> => +export const queryHiPerfProcessData = (pid: number)://@ts-ignore + Promise> => query( 'queryHiPerfProcessData', ` @@ -217,7 +225,8 @@ where pid = ${pid} and sp.thread_id != 0 `, { $pid: pid } ); -export const queryHiPerfThreadData = (tid: number): Promise> => +export const queryHiPerfThreadData = (tid: number)://@ts-ignore + Promise> => query( 'queryHiPerfThreadData', ` @@ -384,7 +393,8 @@ export const queryHiPerfProcessCount = ( cpus: Array, threads: Array, processes: Array -): Promise> => { +)://@ts-ignore + Promise> => { let str = ''; if (processes.length > 0) { str = ` and C.process_id in (${processes.join(',')})`; diff --git a/ide/src/trace/database/sql/ProcessThread.sql.ts b/ide/src/trace/database/sql/ProcessThread.sql.ts index 72808f928..8206bab2d 100644 --- a/ide/src/trace/database/sql/ProcessThread.sql.ts +++ b/ide/src/trace/database/sql/ProcessThread.sql.ts @@ -120,7 +120,8 @@ export const querySchedThreadStates = ( tIds: Array, leftStartNs: number, rightEndNs: number -): Promise> => +)://@ts-ignore + Promise> => query( 'getTabThreadStates', ` @@ -152,7 +153,8 @@ export const querySingleCutData = ( tIds: string, leftStartNs: number, rightEndNs: number -): Promise> => +)://@ts-ignore + Promise> => query( 'querySingleCutData', ` @@ -186,7 +188,8 @@ export const queryLoopCutData = ( tIds: string, leftStartNs: number, rightEndNs: number -): Promise> => +)://@ts-ignore + Promise> => query( 'queryLoopCutData', ` @@ -211,7 +214,8 @@ export const queryLoopCutData = ( { $leftStartNs: leftStartNs, $rightEndNs: rightEndNs } ); // 框选区域内sleeping的时间 -export const getTabSleepingTime = (tIds: Array, leftNS: number, rightNS: number): Promise> => +export const getTabSleepingTime = (tIds: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => query( 'getTabRunningPersent', ` @@ -236,7 +240,8 @@ export const getTabSleepingTime = (tIds: Array, leftNS: number, rightNS: ts;`, { $leftNS: leftNS, $rightNS: rightNS } ); -export const getTabThreadStatesCpu = (tIds: Array, leftNS: number, rightNS: number): Promise> => { +export const getTabThreadStatesCpu = (tIds: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => { let sql = ` select B.pid, @@ -256,7 +261,8 @@ group by B.tid, B.pid, B.cpu;`; }; // 框选区域内running的时间 -export const getTabRunningPersent = (tIds: Array, leftNS: number, rightNS: number): Promise> => +export const getTabRunningPersent = (tIds: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => query( 'getTabRunningPersent', ` @@ -299,7 +305,8 @@ from thread_state AS B where B.tid = $tid and B.pid = $pid;`, { $tid: tid, $pid: pid } ); -export const queryThreadNearData = (itid: number, startTime: number): Promise> => +export const queryThreadNearData = (itid: number, startTime: number)://@ts-ignore + Promise> => query( 'queryThreadNearData', ` @@ -421,7 +428,8 @@ export const getTabBoxChildData = ( `; return query('getTabBoxChildData', sql, {}); }; -export const getTabStartups = (ids: Array, leftNS: number, rightNS: number): Promise> => { +export const getTabStartups = (ids: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => { let sql = ` select P.pid, @@ -437,7 +445,8 @@ order by start_name;`; return query('getTabStartups', sql, {}); }; -export const getTabStaticInit = (ids: Array, leftNS: number, rightNS: number): Promise> => { +export const getTabStaticInit = (ids: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => { let sql = ` select P.pid, @@ -466,7 +475,8 @@ export const queryBinderArgsByArgset = (argset: number): Promise> => +export const queryProcessData = (pid: number, startNS: number, endNS: number)://@ts-ignore + Promise> => query( 'queryProcessData', ` @@ -482,7 +492,8 @@ where ta.cpu is not null and pid=$pid and startTime between $startNS and $endNS; } ); -export const queryProcessMem = (): Promise> => +export const queryProcessMem = ()://@ts-ignore + Promise> => query( 'queryProcessMem', ` @@ -499,7 +510,8 @@ export const queryProcessMem = (): Promise> => order by trackName;` ); -export const queryProcessThreadDataCount = (): Promise> => +export const queryProcessThreadDataCount = ()://@ts-ignore + Promise> => query( `queryProcessThreadDataCount`, `select pid,count(id) as count @@ -508,7 +520,8 @@ export const queryProcessThreadDataCount = (): Promise> => {} ); -export const queryProcessFuncDataCount = (): Promise> => +export const queryProcessFuncDataCount = ()://@ts-ignore + Promise> => query( `queryProcessFuncDataCount`, `select @@ -522,7 +535,8 @@ export const queryProcessFuncDataCount = (): Promise> => {} ); -export const queryProcessMemDataCount = (): Promise> => +export const queryProcessMemDataCount = ()://@ts-ignore + Promise> => query( `queryProcessMemDataCount`, `select @@ -554,10 +568,12 @@ export const queryProcessMemData = (trackId: number): Promise> => +export const queryThreads = ()://@ts-ignore + Promise> => query('queryThreads', `select id,tid,(ifnull(name,'Thread') || '(' || tid || ')') name from thread where id != 0;`); -export const queryDataDICT = (): Promise> => query('queryDataDICT', `select * from data_dict;`); +export const queryDataDICT = ()://@ts-ignore + Promise> => query('queryDataDICT', `select * from data_dict;`); export const queryAppStartupProcessIds = (): Promise> => query( @@ -589,7 +605,8 @@ WHERE )` ); -export const queryProcessContentCount = (): Promise> => +export const queryProcessContentCount = ()://@ts-ignore + Promise> => query(`queryProcessContentCount`, `select pid,switch_count,thread_count,slice_count,mem_count from process;`); export const queryProcessThreadsByTable = (): Promise> => query( @@ -672,7 +689,8 @@ order by start_name;`, { $pid: pids } ); -export const querySingleAppStartupsName = (pid: number): Promise> => +export const querySingleAppStartupsName = (pid: number)://@ts-ignore + Promise> => query( 'queryAllAppStartupsName', `select name from process @@ -689,7 +707,8 @@ where S.start_time between B.start_ts and B.end_ts group by p.pid;`, {} ); -export const queryAllThreadName = (): Promise> => { +export const queryAllThreadName = ()://@ts-ignore + Promise> => { return query( 'queryAllThreadName', ` @@ -697,7 +716,8 @@ export const queryAllThreadName = (): Promise> => { ); }; -export const queryAllProcessNames = (): Promise> => { +export const queryAllProcessNames = ()://@ts-ignore + Promise> => { return query( 'queryAllProcessNames', ` @@ -705,7 +725,8 @@ export const queryAllProcessNames = (): Promise> => { ); }; -export const queryRsProcess = (): Promise> => { +export const queryRsProcess = ()://@ts-ignore + Promise> => { return query( 'queryRsProcess', ` @@ -735,7 +756,8 @@ where P.pid = $pid;`, { $pid: pid } ); -export const queryThreadAndProcessName = (): Promise> => +export const queryThreadAndProcessName = ()://@ts-ignore + Promise> => query( 'queryThreadAndProcessName', ` @@ -814,7 +836,8 @@ export const queryProcessPurgeableSelectionTab = ( startNs: number, ipid: number, isPin?: boolean -): Promise> => { +)://@ts-ignore + Promise> => { const condition = isPin ? "'mem.purg_pin'" : "'mem.purg_sum'"; const pinSql = isPin ? ' AND ref_count > 0' : ''; return query( @@ -854,7 +877,8 @@ export const queryProcessPurgeableTab = ( dur: number, ipid: number, isPin?: boolean -): Promise> => { +)://@ts-ignore + Promise> => { const pinSql = isPin ? ' AND ref_count > 0' : ''; let filterSql = isPin ? "'mem.purg_pin'" : "'mem.purg_sum'"; return query( @@ -1127,7 +1151,8 @@ export const getTabSlices = ( pids: Array, leftNS: number, rightNS: number -): Promise> => +)://@ts-ignore + Promise> => query( 'getTabSlices', ` @@ -1161,7 +1186,8 @@ export const getTabSlices = ( wallDuration desc;`, { $leftNS: leftNS, $rightNS: rightNS } ); -export const getTabThreadStates = (tIds: Array, leftNS: number, rightNS: number): Promise> => +export const getTabThreadStates = (tIds: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => query( 'getTabThreadStates', ` @@ -1188,7 +1214,8 @@ export const getTabThreadStates = (tIds: Array, leftNS: number, rightNS: ); // 查询线程状态详细信息 -export const getTabThreadStatesDetail = (tIds: Array, leftNS: number, rightNS: number): Promise> => +export const getTabThreadStatesDetail = (tIds: Array, leftNS: number, rightNS: number)://@ts-ignore + Promise> => query( 'getTabThreadStates', `select diff --git a/ide/src/trace/database/sql/Sdk.sql.ts b/ide/src/trace/database/sql/Sdk.sql.ts index f78002f7e..3c99cc86e 100644 --- a/ide/src/trace/database/sql/Sdk.sql.ts +++ b/ide/src/trace/database/sql/Sdk.sql.ts @@ -16,8 +16,8 @@ import { query } from '../SqlLite'; import { CounterStruct } from '../ui-worker/ProduceWorkerSdkCounter'; import { CounterSummary, SdkSliceSummary } from '../../bean/SdkSummary'; import { SdkSliceStruct } from '../ui-worker/ProduceWorkerSdkSlice'; - -export const querySdkCount = (sql: string, componentId: number, args?: any): Promise> => +//@ts-ignore +export const querySdkCount = (sql: string, componentId: number, args?: unknown): Promise> => query('querySdkCount', sql, args, 'exec-sdk-' + componentId); @@ -53,8 +53,11 @@ export const getTabSdkCounterLeftData = ( leftNs: number, counters: Array, componentId: number -): Promise> => - query( +): +//@ts-ignore +Promise> => +//@ts-ignore + query( 'getTabSdkCounterLeftData', sqlStr, { @@ -97,5 +100,7 @@ export const querySdkSliceData = ( { $column_id: column_id, $startNS: startNS, $endNS: endNS }, 'exec-sdk-' + componentId ); -export const queryCounterMax = (sqlStr: string, counter_id: number, componentId: number): Promise> => +export const queryCounterMax = (sqlStr: string, counter_id: number, componentId: number): +//@ts-ignore + Promise> => query('queryCounterMax', sqlStr, { $counter_id: counter_id }, 'exec-sdk-' + componentId); diff --git a/ide/src/trace/database/sql/SqlLite.sql.ts b/ide/src/trace/database/sql/SqlLite.sql.ts index e002379fc..7b0688d76 100644 --- a/ide/src/trace/database/sql/SqlLite.sql.ts +++ b/ide/src/trace/database/sql/SqlLite.sql.ts @@ -102,7 +102,9 @@ export const getTabVirtualCounters = (virtualFilterIds: Array, startTime { $startTime: startTime } ); -export const queryAllSoInitNames = (): Promise> => { +export const queryAllSoInitNames = (): +//@ts-ignore + Promise> => { return query( 'queryAllSoInitNames', ` @@ -110,7 +112,9 @@ export const queryAllSoInitNames = (): Promise> => { ); }; -export const queryAllSrcSlices = (): Promise> => { +export const queryAllSrcSlices = (): +//@ts-ignore +Promise> => { return query( 'queryAllSrcSlices', ` @@ -197,7 +201,9 @@ export const querySelectTraceStats = (): Promise< }> > => query('querySelectTraceStats', 'select event_name,stat_type,count,source,serverity from stat'); -export const queryCustomizeSelect = (sql: string): Promise> => query('queryCustomizeSelect', sql); +export const queryCustomizeSelect = (sql: string): +//@ts-ignore +Promise> => query('queryCustomizeSelect', sql); export const queryDistributedTerm = (): Promise< Array<{ @@ -307,7 +313,9 @@ export const querySystemCalls = (): Promise< frequency desc limit 100` ); -export const queryNetWorkMaxData = (): Promise> => +export const queryNetWorkMaxData = (): +//@ts-ignore + Promise> => query( 'queryNetWorkMaxData', `select @@ -318,7 +326,9 @@ export const queryNetWorkMaxData = (): Promise> => from network` ); -export const queryDiskIoMaxData = (): Promise> => +export const queryDiskIoMaxData = (): +//@ts-ignore +Promise> => query( 'queryDiskIoMaxData', `select @@ -328,8 +338,12 @@ export const queryDiskIoMaxData = (): Promise> => ifnull(max(wr_count_speed),0) as writeOps from diskio` ); -export const queryStartTime = (): Promise> => query('queryStartTime', `SELECT start_ts FROM trace_range`); -export const queryBinderBySliceId = (id: number): Promise> => +export const queryStartTime = (): +//@ts-ignore + Promise> => query('queryStartTime', `SELECT start_ts FROM trace_range`); +export const queryBinderBySliceId = (id: number): +//@ts-ignore +Promise> => query( 'queryBinderBySliceId', `select c.ts-D.start_ts as startTs, @@ -342,7 +356,9 @@ where cat = 'binder' and c.id = $id;`, { $id: id } ); -export const queryThreadByItid = (itid: number, ts: number): Promise> => +export const queryThreadByItid = (itid: number, ts: number): +//@ts-ignore +Promise> => query( 'queryThreadByItid', `select tid,pid,c.dur,c.depth,c.name @@ -351,7 +367,9 @@ left join callstack c on t.itid = c.callid where itid = $itid and c.ts = $ts;`, { $itid: itid, $ts: ts } ); -export const queryBinderByArgsId = (id: number, startTime: number, isNext: boolean): Promise> => { +export const queryBinderByArgsId = (id: number, startTime: number, isNext: boolean): +//@ts-ignore + Promise> => { let sql = ` select c.ts - D.start_ts as startTs, c.dur, @@ -376,7 +394,9 @@ where cat = 'binder' and c.argsetid = $id`; }); }; -export const getTabPaneFilesystemStatisticsFather = (leftNs: number, rightNs: number): Promise> => +export const getTabPaneFilesystemStatisticsFather = (leftNs: number, rightNs: number): +//@ts-ignore + Promise> => query( 'getTabPaneFilesystemStatisticsFather', ` @@ -398,7 +418,9 @@ export const getTabPaneFilesystemStatisticsFather = (leftNs: number, rightNs: nu { $leftNs: leftNs, $rightNs: rightNs } ); -export const getTabPaneFilesystemStatisticsChild = (leftNs: number, rightNs: number): Promise> => +export const getTabPaneFilesystemStatisticsChild = (leftNs: number, rightNs: number): +//@ts-ignore + Promise> => query( 'getTabPaneFilesystemStatisticsChild', ` @@ -419,7 +441,9 @@ export const getTabPaneFilesystemStatisticsChild = (leftNs: number, rightNs: num { $leftNs: leftNs, $rightNs: rightNs } ); -export const getTabPaneFilesystemStatisticsAll = (leftNs: number, rightNs: number): Promise> => +export const getTabPaneFilesystemStatisticsAll = (leftNs: number, rightNs: number): +//@ts-ignore +Promise> => query( 'getTabPaneFilesystemStatisticsAll', ` @@ -436,7 +460,9 @@ export const getTabPaneFilesystemStatisticsAll = (leftNs: number, rightNs: numbe { $leftNs: leftNs, $rightNs: rightNs } ); -export const getTabPaneFilesystemStatistics = (leftNs: number, rightNs: number, types: number[]): Promise> => +export const getTabPaneFilesystemStatistics = (leftNs: number, rightNs: number, types: number[]): +//@ts-ignore + Promise> => query( 'getTabPaneFilesystemStatistics', ` @@ -466,7 +492,9 @@ export const getTabPaneIOTierStatisticsData = ( leftNs: number, rightNs: number, diskIOipids: Array -): Promise> => { +): +//@ts-ignore + Promise> => { let str = ''; if (diskIOipids.length > 0) { str = ` and i.ipid in (${diskIOipids.join(',')})`; @@ -499,7 +527,9 @@ export const getTabPaneFrequencySampleData = ( leftNs: number, rightNs: number, cpuFreqFilterIds: Array -): Promise> => { +): +//@ts-ignore + Promise> => { let str = ''; if (cpuFreqFilterIds.length > 0) { str = ` and filter_id in (${cpuFreqFilterIds.join(',')})`; @@ -516,7 +546,9 @@ export const getTabPaneFrequencySampleData = ( ); }; -export const getFileSysChartDataByType = (type: number): Promise> => +export const getFileSysChartDataByType = (type: number): +//@ts-ignore + Promise> => query( 'getFileSysChartData', ` @@ -530,7 +562,9 @@ export const getFileSysChartDataByType = (type: number): Promise> => 'exec' ); -export const getDiskIOProcess = (): Promise> => +export const getDiskIOProcess = (): +//@ts-ignore + Promise> => query( 'getDiskIOProcess', ` @@ -544,7 +578,9 @@ export const getDiskIOLatencyChartDataByProcess = ( all: boolean, ipid: number, typeArr: Array -): Promise> => +): +//@ts-ignore +Promise> => query( 'getDiskIOLatencyChartDataByProcess', ` @@ -833,7 +869,9 @@ export const getTabIoCompletionTimesType = (startTime: number, endTime: number): 'exec' ); -export const queryEnergyEventExits = (): Promise> => +export const queryEnergyEventExits = (): +//@ts-ignore + Promise> => query( 'queryEnergyEventExits', `select @@ -922,7 +960,9 @@ export const queryConfigEnergyAppName = (): Promise< SELECT value from trace_config where trace_source = 'hisys_event' and key = 'process_name'` ); -export const queryAllExpectedData = (): Promise> => +export const queryAllExpectedData = (): +//@ts-ignore + Promise> => query( 'queryAllExpectedData', ` @@ -941,7 +981,9 @@ export const queryAllExpectedData = (): Promise> => ORDER BY a.ipid,ts;` ); -export const queryFlowsData = (src_slice: Array): Promise> => +export const queryFlowsData = (src_slice: Array): +//@ts-ignore + Promise> => query( 'queryFlowsData', ` @@ -955,7 +997,9 @@ export const queryFlowsData = (src_slice: Array): Promise> => AND fs.id IN (${src_slice.join(',')});` ); -export const queryPrecedingData = (dst_slice: string): Promise> => +export const queryPrecedingData = (dst_slice: string): +//@ts-ignore + Promise> => query( 'queryFlowsData', ` @@ -970,7 +1014,9 @@ export const queryPrecedingData = (dst_slice: string): Promise> => { $dst_slice: dst_slice } ); -export const queryFrameTimeData = (): Promise> => +export const queryFrameTimeData = (): +//@ts-ignore + Promise> => query( 'queryFrameTimeData', ` @@ -1010,7 +1056,9 @@ export const queryHeapFile = (): Promise> => OR f.file_name = 'Timeline'` ); -export const queryHeapInfo = (fileId: number): Promise> => +export const queryHeapInfo = (fileId: number): +//@ts-ignore + Promise> => query( 'queryHeapInfo', `SELECT file_id as fileId, key, type, int_value as intValue, str_value as strValue @@ -1044,13 +1092,17 @@ export const queryHeapLocation = (fileId: number): Promise> FROM js_heap_location WHERE file_id = ${fileId}` ); -export const queryHeapString = (fileId: number): Promise> => +export const queryHeapString = (fileId: number): +//@ts-ignore + Promise> => query( 'queryHeapString', `SELECT string FROM js_heap_string WHERE file_id = ${fileId}` ); -export const queryTraceRange = (): Promise> => +export const queryTraceRange = (): +//@ts-ignore + Promise> => query('queryTraceRange', `SELECT t.start_ts as startTs, t.end_ts as endTs FROM trace_range t`); export const queryBySelectAllocationOrReturn = ( @@ -1372,7 +1424,9 @@ export const queryFpsSourceList = ( ` ); -export const queryStateFreqList = (startTime: number, endTime: number, cpu: number): Promise> => { +export const queryStateFreqList = (startTime: number, endTime: number, cpu: number): +//@ts-ignore + Promise> => { let sql = `select c.value, c.ts, c.dur, -- Gitee