diff --git a/.gitignore b/.gitignore index 50f79f9098f574ada112b1a0c182bc23475a6eb4..6ec0ed2ff1d3a07683876f3720a392400ce96829 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ trace_streamer/*.tar.gz trace_streamer/*.zip ts_tmp.perf.data trace_streamer/.cache -trace_streamer/llvm tmp_* build-* *.pro.use* diff --git a/ide/src/statistics/util/SpStatisticsHttpUtil.ts b/ide/src/statistics/util/SpStatisticsHttpUtil.ts index a1d4a77f0c2087078af1c4493b53e0326983d1f5..3813b9ee8f5083b8a7afb1aaea7c4dc053898c3c 100644 --- a/ide/src/statistics/util/SpStatisticsHttpUtil.ts +++ b/ide/src/statistics/util/SpStatisticsHttpUtil.ts @@ -217,7 +217,7 @@ export class SpStatisticsHttpUtil { } // ai对话接口--获取token - static async getAItoken(params:string): Promise { + static async getAItoken(params: string): Promise { let controller = new AbortController(); let response: AiResponse = { status: 0, @@ -247,7 +247,7 @@ export class SpStatisticsHttpUtil { // ai对话接口--问答 // @ts-ignore - static askAi(requestBody,params:string): Promise { + static askAi(requestBody, params: string): Promise { return new Promise((resolve, reject) => { let controller = new AbortController(); let date = Date.now(); diff --git a/ide/src/trace/SpApplication.ts b/ide/src/trace/SpApplication.ts index 9bdcf438abdec7e1fd42b2582e7fabc927edfc0e..e12440fbdf93c78e66a147dc8d3cb3d3678babbd 100644 --- a/ide/src/trace/SpApplication.ts +++ b/ide/src/trace/SpApplication.ts @@ -2553,7 +2553,7 @@ export class SpApplication extends BaseElement { const response = new Response(blob); caches.open('DB-file').then(cache => { return cache.put(`/${fileName}`, response); - }) + }); }, 'download-db' ); diff --git a/ide/src/trace/bean/PerfAnalysis.ts b/ide/src/trace/bean/PerfAnalysis.ts index 5e2bfd211adb6c475ef4c34e3a83a4cdc79aa409..af1d3d41647a66d67ef714b8b3f32402d1fd5041 100644 --- a/ide/src/trace/bean/PerfAnalysis.ts +++ b/ide/src/trace/bean/PerfAnalysis.ts @@ -15,7 +15,7 @@ export class PerfFunctionAsmParam { totalCount: number = 0; - functionName: string = ""; + functionName: string = ''; vaddrList: Array = []; } diff --git a/ide/src/trace/component/SpAiAnalysisPage.ts b/ide/src/trace/component/SpAiAnalysisPage.ts index c816f9a17fb84a5e60c9a2f723aac01ebc6b8885..dafd3c8f91eb5b151a283f4ff806486886042a70 100644 --- a/ide/src/trace/component/SpAiAnalysisPage.ts +++ b/ide/src/trace/component/SpAiAnalysisPage.ts @@ -101,7 +101,7 @@ export class SpAiAnalysisPage extends BaseElement { }); // 自定义 link_open 规则 // @ts-ignore - this.md.renderer.rules.link_open = (tokens, idx) => { + this.md.renderer.rules.link_open = (tokens, idx): string => { // @ts-ignore const href = tokens![idx].attrIndex('href'); if (href < 0) { @@ -169,8 +169,10 @@ export class SpAiAnalysisPage extends BaseElement { // 给右边栏添加点击事件 // @ts-ignore - rightBarGroup.forEach((barItem: unknown, index: number) => { // @ts-ignore - barItem.barEl.addEventListener('click', (ev: Event) => { // @ts-ignore + rightBarGroup.forEach((barItem: unknown, index: number) => { + // @ts-ignore + barItem.barEl.addEventListener('click', (ev: Event) => { + // @ts-ignore if (barItem.isMustLoadedTrace && !SpApplication.isTraceLoaded) { let importTraceTips = '请先导入trace,再使用诊断功能'; this.tipContentArr = ['chat']; @@ -178,23 +180,30 @@ export class SpAiAnalysisPage extends BaseElement { return; } // this.tipsContent!.style.display = this.isNodata && barItem.barFlag === 'detect' ? 'flex' : 'none'; - this.tipsContainer!.style.display = 'none'; // @ts-ignore - this.showPageFlag = barItem.barFlag; // @ts-ignore - barItem.imgEl.src = barItem.activeImg; // @ts-ignore - barItem.barEl.classList.add('active'); // @ts-ignore - barItem.showPage.style.display = 'block'; // @ts-ignore + this.tipsContainer!.style.display = 'none'; + // @ts-ignore + this.showPageFlag = barItem.barFlag; + // @ts-ignore + barItem.imgEl.src = barItem.activeImg; + // @ts-ignore + barItem.barEl.classList.add('active'); + // @ts-ignore + barItem.showPage.style.display = 'block'; + // @ts-ignore if (this.tipContentArr.indexOf(barItem.barFlag) > -1) { this.tipsContainer!.style.display = 'flex'; } // @ts-ignore for (let i = 0; i < rightBarGroup.length; i++) { if (i !== index) { // @ts-ignore - rightBarGroup[i].barEl.classList.remove('active'); // @ts-ignore - rightBarGroup[i].imgEl.src = rightBarGroup[i].img; // @ts-ignore + rightBarGroup[i].barEl.classList.remove('active'); + // @ts-ignore + rightBarGroup[i].imgEl.src = rightBarGroup[i].img; + // @ts-ignore rightBarGroup[i].showPage.style.display = 'none'; } } - }) - }) + }); + }); // 发送消息图标点击事件 this.sendImg?.addEventListener('click', () => { @@ -307,7 +316,7 @@ export class SpAiAnalysisPage extends BaseElement { // 如果缓存中没有,从网络获取并存储 this.cacheDb(fileName); } - }) + }); }; // 点击一键诊断时先挂载loading this.loadingItem = this.loading('style="position:absolute;top:45%;left:45%;z-index:999"'); @@ -553,7 +562,7 @@ export class SpAiAnalysisPage extends BaseElement { suggestonDiv!.appendChild(this.loading('')); // @ts-ignore this.getSuggestion(dataList, i, suggestonDiv, timeList); - }) + }); suggestonTitle.appendChild(getButton); this.draftList!.insertBefore(itemDiv!, this.loadingItem!); itemDiv!.style.animation = 'opcityliner 3s'; @@ -786,7 +795,7 @@ export class SpAiAnalysisPage extends BaseElement { // @ts-ignore this.abnormalPageTips(this.getStatusesPrompt()[result].prompt, '', 4000, ['detect']); this.draftBtn!.style.display = 'inline-block'; - } + }; // 发起诊断 initiateDiagnosis(): void { diff --git a/ide/src/trace/component/SpFlags.ts b/ide/src/trace/component/SpFlags.ts index d3f76a4edf512af4647d3b4de8a33a6d8b93ab6c..d3bf084543549f1adf13fd55484064a0fa4bf7dc 100644 --- a/ide/src/trace/component/SpFlags.ts +++ b/ide/src/trace/component/SpFlags.ts @@ -313,7 +313,7 @@ export class FlagsConfig { }, { title: 'HMKernel', - switchOptions: [{ option: 'Enabled', selected: true }, { option: 'Disabled'}], + switchOptions: [{ option: 'Enabled', selected: true }, { option: 'Disabled' }], describeContent: '', }, { diff --git a/ide/src/trace/component/SpRecordTrace.ts b/ide/src/trace/component/SpRecordTrace.ts index f3c9eff96b899a242052874b54102f63043540ba..d1dd399d82265fc9e26ec4e643c49771325354c2 100644 --- a/ide/src/trace/component/SpRecordTrace.ts +++ b/ide/src/trace/component/SpRecordTrace.ts @@ -973,7 +973,7 @@ export class SpRecordTrace extends BaseElement { let option = document.createElement('option'); option.className = 'select'; option.selected = supportVersion === '5.0+'; - option.textContent =`OpenHarmony-${supportVersion}`; + option.textContent = `OpenHarmony-${supportVersion}`; option.setAttribute('device-version', supportVersion); this.deviceVersion!.append(option); SpRecordTrace.selectVersion = '5.0+'; diff --git a/ide/src/trace/component/SpSystemTrace.ts b/ide/src/trace/component/SpSystemTrace.ts index f1697b7116f254d0b2af31757f73df179a937b84..4d8731ee03b31902d304de85609f5329371cd188 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -1818,32 +1818,32 @@ export class SpSystemTrace extends BaseElement { //@ts-ignore window.subscribe(window.SmartEvent.UI.ImportRecord, (data: string) => { let record = JSON.parse(data); - this.favoriteChartListEL?.removeAllCollectRow(); - let currentGroup = this.currentCollectGroup; - if (record.G1) { - this.currentCollectGroup = '1'; - this.restoreRecordCollectRows(record.G1); - } - if (record.G2) { - this.currentCollectGroup = '2'; - this.restoreRecordCollectRows(record.G2); - } - this.restoreRecordExpandAndTimeRange(record); - this.currentCollectGroup = currentGroup; - if (record.drawFlag !== undefined) { - this.timerShaftEL!.sportRuler!.flagList = record.drawFlag;//获取下载时存的旗帜信息 - this.selectFlag = this.timerShaftEL!.sportRuler!.flagList.find((it) => it.selected);//绘制被选中旗帜对应的线 - } - if (record.markFlag !== undefined) { - this.timerShaftEL!.sportRuler!.slicesTimeList = record.markFlag;//获取下载时存的M键信息 - } - TraceRow.range!.refresh = true; - this.refreshCanvas(true); - this.restoreRecordScrollTop(record.scrollTop, record.favoriteScrollTop); - // @ts-ignore - document.querySelector('body > sp-application').shadowRoot.querySelector('#lit-search').shadowRoot.querySelector('div.root > input')!.value = record.search ? record.search : ''; - // @ts-ignore - document.querySelector('body > sp-application').shadowRoot.querySelector('#lit-search')!.valueChangeHandler!(record.search ? record.search : ''); + this.favoriteChartListEL?.removeAllCollectRow(); + let currentGroup = this.currentCollectGroup; + if (record.G1) { + this.currentCollectGroup = '1'; + this.restoreRecordCollectRows(record.G1); + } + if (record.G2) { + this.currentCollectGroup = '2'; + this.restoreRecordCollectRows(record.G2); + } + this.restoreRecordExpandAndTimeRange(record); + this.currentCollectGroup = currentGroup; + if (record.drawFlag !== undefined) { + this.timerShaftEL!.sportRuler!.flagList = record.drawFlag;//获取下载时存的旗帜信息 + this.selectFlag = this.timerShaftEL!.sportRuler!.flagList.find((it) => it.selected);//绘制被选中旗帜对应的线 + } + if (record.markFlag !== undefined) { + this.timerShaftEL!.sportRuler!.slicesTimeList = record.markFlag;//获取下载时存的M键信息 + } + TraceRow.range!.refresh = true; + this.refreshCanvas(true); + this.restoreRecordScrollTop(record.scrollTop, record.favoriteScrollTop); + // @ts-ignore + document.querySelector('body > sp-application').shadowRoot.querySelector('#lit-search').shadowRoot.querySelector('div.root > input')!.value = record.search ? record.search : ''; + // @ts-ignore + document.querySelector('body > sp-application').shadowRoot.querySelector('#lit-search')!.valueChangeHandler!(record.search ? record.search : ''); }); } @@ -1879,9 +1879,9 @@ export class SpSystemTrace extends BaseElement { } } // @ts-ignore - if(record.leftNS && record.rightNS){ + if (record.leftNS && record.rightNS) { // @ts-ignore - this.timerShaftEL?.setRangeNS(record.leftNS, record.rightNS); + this.timerShaftEL?.setRangeNS(record.leftNS, record.rightNS); } } diff --git a/ide/src/trace/component/chart/SpChartManager.ts b/ide/src/trace/component/chart/SpChartManager.ts index 77ec6930018cb82018a34fab843ae6945097e57c..ec2f5411e1940e637d7e128203fac7644d1a1eee 100644 --- a/ide/src/trace/component/chart/SpChartManager.ts +++ b/ide/src/trace/component/chart/SpChartManager.ts @@ -62,7 +62,7 @@ import { SpUserFileChart } from './SpUserPluginChart'; import { SpImportUserPluginsChart } from './SpImportUserPluginsChart'; import { queryDmaFenceIdAndCat } from '../../database/sql/dmaFence.sql'; import { queryAllFuncNames } from '../../database/sql/Func.sql'; -import {SpSnapShotChart} from './spSnapShotChart'; +import { SpSnapShotChart } from './spSnapShotChart'; import { SpRecordTrace } from '../SpRecordTrace'; export class SpChartManager { @@ -197,7 +197,9 @@ export class SpChartManager { await this.initCpu(progress); await this.logChart.init(); await this.spHiSysEvent.init(); - await SpRecordTrace.snapShotList.length > 0 && this.spSnapShotChart.init(); + if (SpRecordTrace.snapShotList.length > 0) { + await this.spSnapShotChart.init(); + } let idAndNameArr = await queryDmaFenceIdAndCat(); this.handleDmaFenceName(idAndNameArr as { id: number; cat: string; seqno: number; driver: string; context: string }[]); if (FlagsConfig.getFlagsConfigEnableStatus('Hangs Detection')) { diff --git a/ide/src/trace/component/setting/SpRecordTemplate.ts b/ide/src/trace/component/setting/SpRecordTemplate.ts index 7c835535bd32d2c63824b50b877416d8fc1297fe..66d3461bf84b67213b030890cd9305dccf9e0598 100644 --- a/ide/src/trace/component/setting/SpRecordTemplate.ts +++ b/ide/src/trace/component/setting/SpRecordTemplate.ts @@ -81,9 +81,9 @@ export class SpRecordTemplate extends BaseElement { static HIPERF_DEFAULT_RECORD_ARGS = '-f 1000 -a --cpu-limit 100 -e hw-cpu-cycles,sched:sched_waking' + ' --call-stack dwarf --clockid monotonic --offcpu -m 256'; - static HIPERF_NAPI_RECORD_ARGS_BEFORE = ''; - static HIPERF_NAPI_RECORD_ARGS_APP = '-f 1000 --app' - static HIPERF_NAPI_RECORD_ARGS_PID = '-f 1000 -p' + static HIPERF_NAPI_RECORD_ARGS_BEFORE = ''; + static HIPERF_NAPI_RECORD_ARGS_APP = '-f 1000 --app'; + static HIPERF_NAPI_RECORD_ARGS_PID = '-f 1000 -p'; static HIPERF_NAPI_RECORD_ARGS_AFTER = '--cpu-limit 100 -e hw-cpu-cycles --call-stack dwarf --clockid monotonic -m 256'; private frameTimeline: LitSwitch | undefined | null; private schedulingAnalysis: LitSwitch | undefined | null; @@ -92,7 +92,7 @@ export class SpRecordTemplate extends BaseElement { private dynamicEffectEl: LitSwitch | undefined | null; private packageName: LitSelectV | null | undefined; private napiEl: LitSwitch | undefined | null; - private isNum:boolean = false; + private isNum: boolean = false; initElements(): void { this.frameTimeline = this.shadowRoot?.querySelector('#frame_timeline'); @@ -217,92 +217,92 @@ export class SpRecordTemplate extends BaseElement { }; } - private getDesiredString(str: string) { + private getDesiredString(str: string): string { if (/^\d+$/.test(str)) { - this.isNum = true; - return str; + this.isNum = true; + return str; } if (str.includes(',')) { - this.isNum = /^\d+$/.test(str.split(',')[0]) ? true : false; - return str.split(',')[0]; + this.isNum = /^\d+$/.test(str.split(',')[0]) ? true : false; + return str.split(',')[0]; } this.isNum = false; return str; -} + } -private initNapiSwitchOption(): void { - let litSwitch = this.shadowRoot?.querySelector('#Napi') as LitSwitch; - let packageInput = this.packageName!.shadowRoot?.querySelector('input') as HTMLInputElement; - this.packageName!.setAttribute('disabled', ''); - litSwitch.addEventListener('change', (event: Event): void => { - // @ts-ignore - let detail = event.detail; - if (detail.checked) { - this.packageName!.removeAttribute('disabled'); - packageInput.addEventListener('mousedown', (): void => { - packageInput.readOnly = false; - this.packageMouseDownHandler(); - }); - } else { - packageInput.readOnly = true; - this.packageName!.setAttribute('disabled', ''); - return; - } - }); -} + private initNapiSwitchOption(): void { + let litSwitch = this.shadowRoot?.querySelector('#Napi') as LitSwitch; + let packageInput = this.packageName!.shadowRoot?.querySelector('input') as HTMLInputElement; + this.packageName!.setAttribute('disabled', ''); + litSwitch.addEventListener('change', (event: Event): void => { + // @ts-ignore + let detail = event.detail; + if (detail.checked) { + this.packageName!.removeAttribute('disabled'); + packageInput.addEventListener('mousedown', (): void => { + packageInput.readOnly = false; + this.packageMouseDownHandler(); + }); + } else { + packageInput.readOnly = true; + this.packageName!.setAttribute('disabled', ''); + return; + } + }); + } -private packageMouseDownHandler(): void { - this.packageName!.dataSource([], ''); - Cmd.getPackage().then((packageList: string[]): void => { - let finalDataList = packageList.map(str => str.replace(/\t/g, '')); - if (finalDataList.length > 0) { - this.packageName!.dataSource(finalDataList, '',true); - } else { + private packageMouseDownHandler(): void { + this.packageName!.dataSource([], ''); + Cmd.getPackage().then((packageList: string[]): void => { + let finalDataList = packageList.map(str => str.replace(/\t/g, '')); + if (finalDataList.length > 0) { + this.packageName!.dataSource(finalDataList, '', true); + } else { + this.packageName!.dataSource([], ''); + } + }).catch(error => { + console.error('Error fetching package list:', error); this.packageName!.dataSource([], ''); + }); + } + + private createNativeConfig(): ProfilerPluginConfig { + let newVal = this.getDesiredString(this.packageName?.value!); + let native: NativePluginConfig = { + pid: undefined, + process_name: undefined, + save_file: false, + smb_pages: 16384, + max_stack_depth: 20, + string_compressed: true, + fp_unwind: false, + blocked: true, + callframe_compress: true, + record_accurately: true, + offline_symbolization: true, + startup_mode: false, + js_stack_report: 2, + max_js_stack_depth: 5, + filter_napi_name: 'info', + memtrace_enable: true, + malloc_disable: true, + }; + if (this.isNum === true) { + native.pid = Number(newVal); + delete native.process_name; + } else { + native.process_name = newVal; + delete native.pid; } - }).catch(error => { - console.error('Error fetching package list:', error); - this.packageName!.dataSource([], ''); - }); -} -private createNativeConfig(): ProfilerPluginConfig { - let newVal = this.getDesiredString(this.packageName?.value!); - let native: NativePluginConfig = { - pid: undefined, - process_name: undefined, - save_file: false, - smb_pages: 16384, - max_stack_depth: 20, - string_compressed: true, - fp_unwind: false, - blocked: true, - callframe_compress: true, - record_accurately: true, - offline_symbolization: true, - startup_mode: false, - js_stack_report: 2, - max_js_stack_depth: 5, - filter_napi_name: "info", - memtrace_enable: true, - malloc_disable: true, - }; - if (this.isNum === true) { - native.pid = Number(newVal); - delete native.process_name; - } else { - native.process_name = newVal; - delete native.pid; + return { + pluginName: 'nativehook', + sampleInterval: 5000, + configData: native, + is_protobuf_serialize: false + }; } - return { - pluginName: 'nativehook', - sampleInterval: 5000, - configData: native, - is_protobuf_serialize: false - }; -} - initHtml(): string { return SpRecordTemplateHtml; } diff --git a/ide/src/trace/component/trace/base/TraceSheet.ts b/ide/src/trace/component/trace/base/TraceSheet.ts index 9ba7d113303f3a21ef00fe93c27274886782ad03..d7dfe8378442029df671e8d7054a438ca831a717 100644 --- a/ide/src/trace/component/trace/base/TraceSheet.ts +++ b/ide/src/trace/component/trace/base/TraceSheet.ts @@ -104,10 +104,10 @@ import { XpowerThreadInfoStruct } from '../../../database/ui-worker/ProcedureWor import { TabPaneXpowerThreadInfoSelection } from '../sheet/xpower/TabPaneXpowerThreadInfoSelection'; import { TabPaneXpowerGpuFreqSelection } from '../sheet/xpower/TabPaneXpowerGpuFreqSelection'; import { XpowerGpuFreqStruct } from '../../../database/ui-worker/ProcedureWorkerXpowerGpuFreq'; -import { WebSocketManager} from "../../../../webSocket/WebSocketManager"; -import { Constants, TypeConstants} from "../../../../webSocket/Constants"; +import { WebSocketManager } from '../../../../webSocket/WebSocketManager'; +import { Constants, TypeConstants } from '../../../../webSocket/Constants'; import { PerfFunctionAsmParam } from '../../../bean/PerfAnalysis'; -import { info,error } from '../../../../log/Log'; +import { info, error } from '../../../../log/Log'; @element('trace-sheet') @@ -307,13 +307,13 @@ export class TraceSheet extends BaseElement { private functionAnalysisListener(evt: unknown, vaddrList: Array): void { // @ts-ignore - this.currentPaneID = "box-perf-analysis"; + this.currentPaneID = 'box-perf-analysis'; //隐藏除了当前Tab页的其他Tab页 - this.shadowRoot!.querySelectorAll("lit-tabpane").forEach( + this.shadowRoot!.querySelectorAll('lit-tabpane').forEach( (it): boolean => it.id !== this.currentPaneID ? (it.hidden = true) : (it.hidden = false) ); - let asmPane = this.getPaneByID("tab-perf-func-asm"); //通过Id找到需要展示的Tab页 + let asmPane = this.getPaneByID('tab-perf-func-asm'); //通过Id找到需要展示的Tab页 asmPane.closeable = true; asmPane.hidden = false; // @ts-ignore @@ -428,19 +428,17 @@ export class TraceSheet extends BaseElement { this.initNavElements(tabsPackUp!, borderTop, initialHeight); this.exportBt = this.shadowRoot?.querySelector('#export-btn'); tabsOpenUp!.onclick = (): void => { - this.tabs!.style.height = `${ - window.innerHeight - this.search!.offsetHeight - this.timerShaft!.offsetHeight - borderTop - }px`; + this.tabs!.style.height = `${window.innerHeight - this.search!.offsetHeight - this.timerShaft!.offsetHeight - borderTop + }px`; let litTabpane: NodeListOf | undefined | null = this.shadowRoot?.querySelectorAll('#tabs > lit-tabpane'); litTabpane!.forEach((node: HTMLDivElement): void => { - node!.style.height = `${ - window.innerHeight - + node!.style.height = `${window.innerHeight - this.search!.offsetHeight - this.timerShaft!.offsetHeight - this.navRoot!.offsetHeight - borderTop - }px`; + }px`; initialHeight.node = node!.style.height; }); initialHeight.tabs = this.tabs!.style.height; @@ -536,7 +534,7 @@ export class TraceSheet extends BaseElement { // 只要没有移动到边界区域都会进入该条件 that.navRoot!.offsetHeight <= newHeight && that.search!.offsetHeight + that.timerShaft!.offsetHeight + borderTop + that.spacer!.offsetHeight <= - window.innerHeight - newHeight + window.innerHeight - newHeight ) { that.tabs!.style.height = `${newHeight}px`; litTabpane!.style.height = `${newHeight - that.navRoot!.offsetHeight}px`; @@ -551,21 +549,19 @@ export class TraceSheet extends BaseElement { window.innerHeight - newHeight ) { // 该条件在面板高度置顶时触发 - that.tabs!.style.height = `${ - window.innerHeight - + that.tabs!.style.height = `${window.innerHeight - that.search!.offsetHeight - that.timerShaft!.offsetHeight - borderTop - that.spacer!.offsetHeight - }px`; - litTabpane!.style.height = `${ - window.innerHeight - + }px`; + litTabpane!.style.height = `${window.innerHeight - that.search!.offsetHeight - that.timerShaft!.offsetHeight - that.navRoot!.offsetHeight - borderTop - that.spacer!.offsetHeight - }px`; + }px`; tabsPackUp!.name = 'down'; } that.tabPaneHeight = litTabpane!.style.height; @@ -579,7 +575,7 @@ export class TraceSheet extends BaseElement { private importClickEvent(): void { let importFileBt: HTMLInputElement | undefined | null = - this.shadowRoot?.querySelector('#import-file'); + this.shadowRoot?.querySelector('#import-file'); importFileBt!.addEventListener('change', (event): void => { let files = importFileBt?.files; if (files) { @@ -591,24 +587,24 @@ export class TraceSheet extends BaseElement { importFileBt!.disabled = true; window.publish(window.SmartEvent.UI.Loading, { loading: true, text: 'Import So File' }); this.uploadSoOrAN(fileList).then(r => - threadPool.submit( - 'upload-so', - '', - fileList, - (res: unknown) => { - importFileBt!.disabled = false; // @ts-ignore - if (res.result === 'ok') { - window.publish(window.SmartEvent.UI.UploadSOFile, {}); - } else { - // @ts-ignore - const failedList = res.failedArray.join(','); - window.publish(window.SmartEvent.UI.Error, `parse so file ${failedList} failed!`); - } - }, - 'upload-so' - )).finally(() => { - fileList.length = 0; - }) + threadPool.submit( + 'upload-so', + '', + fileList, + (res: unknown) => { + importFileBt!.disabled = false; // @ts-ignore + if (res.result === 'ok') { + window.publish(window.SmartEvent.UI.UploadSOFile, {}); + } else { + // @ts-ignore + const failedList = res.failedArray.join(','); + window.publish(window.SmartEvent.UI.Error, `parse so file ${failedList} failed!`); + } + }, + 'upload-so' + )).finally(() => { + fileList.length = 0; + }); } } importFileBt!.files = null; @@ -661,7 +657,7 @@ export class TraceSheet extends BaseElement { wsInstance!.unregisterCallback(TypeConstants.DISASSEMBLY_TYPE, onAckReceived); reject(new Error('等待 ACK 超时:文件 ${fileName},索引 ${bufferIndex})')); }, 10000); - function onAckReceived(cmd: number, result: Uint8Array) { + function onAckReceived(cmd: number, result: Uint8Array): void { const decoder = new TextDecoder(); const jsonString = decoder.decode(result); let jsonRes = JSON.parse(jsonString); @@ -673,7 +669,7 @@ export class TraceSheet extends BaseElement { bufferIndex++; // 当收到对应分片的 ACK 时,resolve Promise,继续上传下一个分片 resolve(); - }else{ + } else { // 上传失败,拒绝 Promise 并返回 reject(new Error(`Upload failed for file: ${fileName}, index: ${jsonRes.bufferIndex})`)); } diff --git a/ide/src/trace/component/trace/base/TraceSheetConfig.ts b/ide/src/trace/component/trace/base/TraceSheetConfig.ts index f3f3c35bc6b0f9b68ece9dc95980946fd44bccb8..f5de86153d7f696dfb84db3e8839022138880bc7 100644 --- a/ide/src/trace/component/trace/base/TraceSheetConfig.ts +++ b/ide/src/trace/component/trace/base/TraceSheetConfig.ts @@ -151,7 +151,7 @@ import { TabPanePerfAsync } from '../sheet/hiperf/TabPerfAsyncList'; import { TabPaneUserPlugin } from '../sheet/userPlugin/TabPaneUserPlugin'; import { TabPaneDmaFence } from '../sheet/dma-fence/TabPaneDmaFenceSelect'; import { TabPaneSliceChild } from '../sheet/process/TabPaneSliceChild'; -import { TabPerfFuncAsm } from '../sheet/hiperf/TabPerfFuncAsm' +import { TabPerfFuncAsm } from '../sheet/hiperf/TabPerfFuncAsm'; export let tabConfig: { [key: string]: { diff --git a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts index 51538ccd4d1348aae454e3367084911af7b2e2d9..54b8530ffd77b9fc80c85065bdcc2a537fd2ca38 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts @@ -872,7 +872,7 @@ export class TabPaneCurrentSelection extends BaseElement { this.currentSelectionTbl!.dataSource = list; } - async setXpowerData(data: XpowerStruct): Promise { + async setXpowerData(data: XpowerStruct): Promise { if (SpApplication.traceType.indexOf('SQLite') === -1) { await this.setRealTime(); } @@ -947,7 +947,7 @@ export class TabPaneCurrentSelection extends BaseElement { data.rx !== 0 && vals.push({ name: 'receiver', bytes: data.rx, - value: data.rx + ' B', + value: data.rx + ' B', }); // @ts-ignore vals.sort(compare('value', 2, 'bytes')); diff --git a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts index 79fad8a33b7684d80c0a01767d0c81ec87694baa..a2aab84124cb4b7d97c54edad49286510c2802a9 100644 --- a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts +++ b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts @@ -324,16 +324,18 @@ export class TabPaneHiLogs extends BaseElement { // 模糊过滤tag private filterTag(tagAllName: unknown): boolean | undefined { + let flag = false; if (this.allowTag.size === 0) { return; } for (const value of this.allowTag) { // @ts-ignore if (tagAllName.indexOf(value) >= 0) { - return true; + flag = true; + return flag; } } - return false; + return flag; } private refreshTable(): void { diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts index 7bfaef4fc04c1ffd3eb5419d1a9a3db12f879c7e..0618a4eaa7e9c1593b3324aa61cae00a429fc908 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPanePerfAnalysis.ts @@ -573,7 +573,7 @@ export class TabPanePerfAnalysis extends BaseElement { this.selectedTabfileName = it.tableName; } - private functionClickEvent(it: unknown) { + private functionClickEvent(it: unknown): void { this.clickFuncVaddrList = this.vaddrList.filter((item: unknown) => { // @ts-ignore return item.process_id === it.pid && @@ -582,13 +582,15 @@ export class TabPanePerfAnalysis extends BaseElement { // @ts-ignore item.libName === this.selectedTabfileName && // @ts-ignore - item.symbolName === it.tableName - }) + item.symbolName === it.tableName; + }); if (this.clickFuncVaddrList.length > 0) { const textEncoder = new TextEncoder(); const queryData = { - elf_name: this.currentSoName, //@ts-ignore - vaddr: this.clickFuncVaddrList[0].vaddrInFile, //@ts-ignore + elf_name: this.currentSoName, + // @ts-ignore + vaddr: this.clickFuncVaddrList[0].vaddrInFile, + // @ts-ignore func: it.tableName }; const dataString = JSON.stringify(queryData); @@ -1162,7 +1164,7 @@ export class TabPanePerfAnalysis extends BaseElement { ]; procedurePool.submitWithName('logic0', 'perf-vaddr', args, undefined, (results: Array) => { this.vaddrList = results; - }) + }); } private getDataByWorker(val: SelectionParam, handler: Function): void { diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPerfBottomUp.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPerfBottomUp.ts index 0157b13c30b7ef19e8c2afb8866c45929f1ea8f7..40105d2a50283bfbf04ee3fb4fc2d585deb87694 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPerfBottomUp.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPerfBottomUp.ts @@ -37,7 +37,7 @@ export class TabpanePerfBottomUp extends BaseElement { private progressEL: LitProgressBar | null | undefined; private searchValue: string = ''; private currentSelection: SelectionParam | undefined; - private static instance: TabpanePerfBottomUp | null;; + private static instance: TabpanePerfBottomUp | null; public initElements(): void { this.bottomUpTable = this.shadowRoot?.querySelector('#callTreeTable') as LitTable; @@ -62,7 +62,7 @@ export class TabpanePerfBottomUp extends BaseElement { }); } - public getBottomData(data: SelectionParam) { + public getBottomData(data: SelectionParam): void { this.getDataByWorker(data, (results: Array) => { this.setBottomUpTableData(results); }); diff --git a/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts b/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts index 69e30cb49e07927c68eb482283437fb01a3c8aa6..af3f4d4fdefdf0b1146be30140fdd0b8ddeba71b 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts @@ -7,27 +7,27 @@ * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the License is distributed on an 'AS IS' BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF unknown KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ -import { TabPerfFuncAsmHtml } from "./TabPerfFuncAsm.html"; -import { BaseElement, element } from "../../../../../base-ui/BaseElement"; -import { LitTable } from "../../../../../base-ui/table/lit-table"; +import { TabPerfFuncAsmHtml } from './TabPerfFuncAsm.html'; +import { BaseElement, element } from '../../../../../base-ui/BaseElement'; +import { LitTable } from '../../../../../base-ui/table/lit-table'; import { FormattedAsmInstruction, PerfFunctionAsmParam, OriginAsmInstruction, -} from "../../../../bean/PerfAnalysis"; -import { WebSocketManager } from "../../../../../webSocket/WebSocketManager"; -import { Constants, TypeConstants } from "../../../../../webSocket/Constants"; +} from '../../../../bean/PerfAnalysis'; +import { WebSocketManager } from '../../../../../webSocket/WebSocketManager'; +import { Constants, TypeConstants } from '../../../../../webSocket/Constants'; -@element("tab-perf-func-asm") +@element('tab-perf-func-asm') export class TabPerfFuncAsm extends BaseElement { private assmblerTable: LitTable | null | undefined; private loadingElement: HTMLElement | null | undefined; - private functionName: string = ""; + private functionName: string = ''; private totalCount: number = 0; private totalCountElement: HTMLDivElement | null | undefined; private textFileOffElement: HTMLDivElement | null | undefined; @@ -46,54 +46,54 @@ export class TabPerfFuncAsm extends BaseElement { initElements(): void { this.assmblerTable = this.shadowRoot!.querySelector( - "#perf-function-asm-table" + '#perf-function-asm-table' ); this.loadingElement = - this.shadowRoot!.querySelector("#loading"); + this.shadowRoot!.querySelector('#loading'); this.totalCountElement = - this.shadowRoot!.querySelector("#total-count"); + this.shadowRoot!.querySelector('#total-count'); this.textFileOffElement = - this.shadowRoot!.querySelector("#text-file-off"); - this.errorMessageElement = this.shadowRoot!.querySelector("#error-message"); + this.shadowRoot!.querySelector('#text-file-off'); + this.errorMessageElement = this.shadowRoot!.querySelector('#error-message'); - this.assmblerTable!.style.display = "grid"; + this.assmblerTable!.style.display = 'grid'; - this.assmblerTable!.itemTextHandleMap.set("addr", (value: unknown) => { + this.assmblerTable!.itemTextHandleMap.set('addr', (value: unknown) => { return `0x${(value as number).toString(16)}`; }); - this.assmblerTable!.itemTextHandleMap.set("selfcount", (value: unknown) => { - return (value as number) === 0 ? "" : (value as number).toString(); + this.assmblerTable!.itemTextHandleMap.set('selfcount', (value: unknown) => { + return (value as number) === 0 ? '' : (value as number).toString(); }); - this.assmblerTable!.itemTextHandleMap.set("percent", (value: unknown) => { - return (value as number) === 0 ? "" : (value as number).toString(); + this.assmblerTable!.itemTextHandleMap.set('percent', (value: unknown) => { + return (value as number) === 0 ? '' : (value as number).toString(); }); - this.assmblerTable!.itemTextHandleMap.set("instruction", (value: unknown) => { - return (value as string) === "" ? "INVALID" : (value as string); + this.assmblerTable!.itemTextHandleMap.set('instruction', (value: unknown) => { + return (value as string) === '' ? 'INVALID' : (value as string); }); - this.assmblerTable!.itemTextHandleMap.set("sourceLine", (value: unknown) => { - return (value as string) || ""; + this.assmblerTable!.itemTextHandleMap.set('sourceLine', (value: unknown) => { + return (value as string) || ''; }); - this.assmblerTable!.addEventListener("column-click", ((evt: Event) => { - const {key, sort} = (evt as CustomEvent).detail; - if (key === "selfcount") { + this.assmblerTable!.addEventListener('column-click', ((evt: Event) => { + const { key, sort } = (evt as CustomEvent).detail; + if (key === 'selfcount') { if (sort === 0) { this.assmblerTable!.recycleDataSource = this.originalShowUpData; this.assmblerTable!.reMeauseHeight(); } else { this.showUpData.sort((a, b) => { return sort === 1 - ? a.selfcount - b.selfcount - : b.selfcount - a.selfcount; + ? a.selfcount - b.selfcount + : b.selfcount - a.selfcount; }); this.assmblerTable!.recycleDataSource = this.showUpData; this.assmblerTable!.reMeauseHeight(); } - } else if (key === "percent") { + } else if (key === 'percent') { if (sort === 0) { this.assmblerTable!.recycleDataSource = this.originalShowUpData; this.assmblerTable!.reMeauseHeight(); @@ -110,19 +110,19 @@ export class TabPerfFuncAsm extends BaseElement { private updateTotalCount(): void { if (this.functionName) { - this.totalCountElement!.innerHTML = `Total Count: ${this.totalCount}`; + this.totalCountElement!.innerHTML = `Total Count: ${this.totalCount}`; } } private showLoading(): void { if (this.loadingElement) { - this.loadingElement.removeAttribute("hidden"); + this.loadingElement.removeAttribute('hidden'); } } private hideLoading(): void { if (this.loadingElement) { - this.loadingElement.setAttribute("hidden", ""); + this.loadingElement.setAttribute('hidden', ''); } } @@ -144,7 +144,7 @@ export class TabPerfFuncAsm extends BaseElement { return; } - (async () => { + (async (): Promise => { try { this.clearData(); this.functionName = data.functionName; @@ -164,14 +164,13 @@ export class TabPerfFuncAsm extends BaseElement { await Promise.race([ new Promise((resolve, reject) => { - callback = (cmd: number, e: Uint8Array) => { + callback = (cmd: number, e: Uint8Array): void => { try { - if (cmd === Constants.DISASSEMBLY_QUERY_BACK_CMD) { const result = JSON.parse(new TextDecoder().decode(e)); if (result.resultCode === 0) { if (result.anFileOff) { - this.textFileOffElement!.innerHTML = `.text section: ${result.anFileOff}`; + this.textFileOffElement!.innerHTML = `.text section: ${result.anFileOff}`; this.textFileOffElement!.style.display = 'block'; } else { this.textFileOffElement!.style.display = 'none'; @@ -220,8 +219,8 @@ export class TabPerfFuncAsm extends BaseElement { addr: Number(BigInt.asUintN(64, this.funcBaseAddr + BigInt(offsetToVaddr))), instruction: '', sourceLine: '' - }) - }) + }); + }); } private calculateFuncAsmSapleCount(vaddrList: Array): void { @@ -233,7 +232,7 @@ export class TabPerfFuncAsm extends BaseElement { }); } - private formatAsmInstruction(originAsmInstruction: Array) { + private formatAsmInstruction(originAsmInstruction: Array): void { this.formattedAsmIntructionArray = originAsmInstruction.map(instructs => ({ selfcount: 0, percent: 0, @@ -258,7 +257,7 @@ export class TabPerfFuncAsm extends BaseElement { let instructionPosition = offsetToVaddr / 4; this.formattedAsmIntructionArray[instructionPosition].selfcount = selfCount; this.formattedAsmIntructionArray[instructionPosition].percent = Math.round((selfCount / this.totalCount) * 10000) / 100; - }) + }); this.originalShowUpData = this.formattedAsmIntructionArray; } 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 0752fed98003aa8372814492c0e3e9802658a0c9..07d609a9b21312d1fd614c3093d33810d3a54394 100644 --- a/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts +++ b/ide/src/trace/component/trace/sheet/native-memory/TabPaneNMemory.ts @@ -137,13 +137,13 @@ export class TabPaneNMemory extends BaseElement { if (results.length > 0) { let isTwoArray: boolean = results.some(item => { return Array.isArray(item); - }) + }); let dataList: unknown = []; if (isTwoArray) { results.forEach(v => { // @ts-ignore dataList = dataList.concat(v); - }) + }); } else { dataList = results; } diff --git a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts index 5b02b0f21c7adf63205414f46f21b855392f5f2f..5da44857825054905bf3a819eac964b9e3d29831 100644 --- a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts +++ b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts @@ -154,8 +154,10 @@ export class TabPaneFreqStatesDataCut extends BaseElement { for (let i = 0; i < this.funcNameCycleArr!.length; i++) { if ( ((stateItem.ts > this.funcNameCycleArr![i].cycleStartTime && stateItem.ts < this.funcNameCycleArr![i].endTime) || - (stateItem.ts + stateItem.dur! > this.funcNameCycleArr![i].cycleStartTime && stateItem.ts + stateItem.dur! < this.funcNameCycleArr![i].endTime) || - (this.funcNameCycleArr![i].cycleStartTime > stateItem.ts && this.funcNameCycleArr![i].endTime < stateItem.ts + stateItem.dur!)) && + (stateItem.ts + stateItem.dur! > this.funcNameCycleArr![i].cycleStartTime && + stateItem.ts + stateItem.dur! < this.funcNameCycleArr![i].endTime) || + (this.funcNameCycleArr![i].cycleStartTime > stateItem.ts && + this.funcNameCycleArr![i].endTime < stateItem.ts + stateItem.dur!)) && (stateItem.state === 'S' || stateItem.state === 'R' || stateItem.state === 'D' || @@ -220,8 +222,10 @@ export class TabPaneFreqStatesDataCut extends BaseElement { for (let i = 0; i < this.funcNameCycleArr!.length; i++) { if ( ((stateItem.ts > this.funcNameCycleArr![i].cycleStartTime && stateItem.ts < this.funcNameCycleArr![i].endTime) || - (stateItem.ts + stateItem.dur! > this.funcNameCycleArr![i].cycleStartTime && stateItem.ts + stateItem.dur! < this.funcNameCycleArr![i].endTime) || - (this.funcNameCycleArr![i].cycleStartTime > stateItem.ts && this.funcNameCycleArr![i].endTime < stateItem.ts + stateItem.dur!)) && + (stateItem.ts + stateItem.dur! > this.funcNameCycleArr![i].cycleStartTime && + stateItem.ts + stateItem.dur! < this.funcNameCycleArr![i].endTime) || + (this.funcNameCycleArr![i].cycleStartTime > stateItem.ts && + this.funcNameCycleArr![i].endTime < stateItem.ts + stateItem.dur!)) && (stateItem.state === 'S' || stateItem.state === 'R' || stateItem.state === 'D' || diff --git a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts index 6834c86578c4a13f8df037685c0d782a4736475c..56c9a4d5a753318a61bc6a892b0b9d0012ee1575 100644 --- a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts +++ b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts @@ -218,7 +218,7 @@ export class TabPaneXpowerGpuFreq extends BaseElement { tabXpowerGpuFreqStruct.avgIdleTime = parseFloat((sumIdleTime / itemArray.length).toFixed(2)); tabXpowerGpuFreqStruct.maxIdleTime = maxIdleTime; tabXpowerGpuFreqStruct.minIdleTime = minIdleTime; - } else if (itemArray.length == 1) { + } else if (itemArray.length === 1) { tabXpowerGpuFreqStruct = this.setTabXpowerGpuFreqStruct( itemArray[0].runTime, itemArray[0].idleTime, diff --git a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts index 510e24b6d190e9fb7aca2b90a1ce5b143b76cb65..8f9054bb586bfb07ca20c19597812c7f7dc7f008 100644 --- a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts +++ b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts @@ -138,13 +138,13 @@ export class TabPaneXpowerThreadEnergy extends BaseElement { SelectThreadEnergyData.name = itemArray[0].threadName; SelectThreadEnergyData.count = itemArray.length; if (itemArray.length > 1) { - max = itemArray.map((item: { value: any }) => item.value).reduce((a: number, b: number) => Math.max(a, b)); - min = itemArray.map((item: { value: any }) => item.value).reduce((a: number, b: number) => Math.min(a, b)); - sum = itemArray.reduce((acc: any, obj: { value: any }) => acc + obj.value, 0); + max = itemArray.map((item: { value: unknown }) => item.value).reduce((a: number, b: number) => Math.max(a, b)); + min = itemArray.map((item: { value: unknown }) => item.value).reduce((a: number, b: number) => Math.min(a, b)); // @ts-ignore + sum = itemArray.reduce((acc: unknown, obj: { value: unknown }) => acc + obj.value, 0); SelectThreadEnergyData.avgNumber = parseFloat((sum / itemArray.length).toFixed(2)); SelectThreadEnergyData.maxNumber = max; SelectThreadEnergyData.minNumber = min; - } else if (itemArray.length == 1) { + } else if (itemArray.length === 1) { let value = itemArray[0].value; SelectThreadEnergyData.avgNumber = value; SelectThreadEnergyData.maxNumber = value; diff --git a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadInfoSelection.ts b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadInfoSelection.ts index f0724d7c4d580f9cb627a4935d7065581a878ce7..c77e15996262afbc8532a6e43ca7f4143e41a858 100644 --- a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadInfoSelection.ts +++ b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadInfoSelection.ts @@ -30,7 +30,7 @@ export class TabPaneXpowerThreadInfoSelection extends BaseElement { this.tableEl!.recycleDataSource = []; this.init(); if (dataList.length >= 1) { - dataList[0].valueType == THREAD_ENERGY ? (this.valueType = 'Energy(mAh)') : (this.valueType = 'Load(%)'); + dataList[0].valueType === THREAD_ENERGY ? (this.valueType = 'Energy(mAh)') : (this.valueType = 'Load(%)'); } dataList.forEach((data) => { data.startMS = data.startNS / 1_000_000; diff --git a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadLoad.ts b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadLoad.ts index 5dfc91d09304f64b6d2bcac19803ce72706927bf..11adb1f3a5d1796e9fe071b91468578160510c31 100644 --- a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadLoad.ts +++ b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadLoad.ts @@ -145,7 +145,7 @@ export class TabPaneXpowerThreadLoad extends BaseElement { SelectThreadLoadData.avgNumber = parseFloat((sum / itemArray.length).toFixed(2)); SelectThreadLoadData.maxNumber = max; SelectThreadLoadData.minNumber = min; - } else if (itemArray.length == 1) { + } else if (itemArray.length === 1) { let value = itemArray[0].value; SelectThreadLoadData.avgNumber = value; SelectThreadLoadData.maxNumber = value; diff --git a/ide/src/trace/database/SqlLiteWorker.ts b/ide/src/trace/database/SqlLiteWorker.ts index 673cc414fca05e3f41ffd2e1d22f5d43a2ed3173..e3aa1f5034afa0ed32d85b76f9fe9a3bb18106fa 100644 --- a/ide/src/trace/database/SqlLiteWorker.ts +++ b/ide/src/trace/database/SqlLiteWorker.ts @@ -15,7 +15,7 @@ importScripts('sql-wasm.js'); // @ts-ignore -import {WebSocketManager} from "../../webSocket/WebSocketManager"; +import {WebSocketManager} from '../../webSocket/WebSocketManager'; importScripts('sql-wasm.js'); // @ts-ignore diff --git a/ide/src/trace/database/data-trafic/xpower/XpowerAppDetailDataReceiver.ts b/ide/src/trace/database/data-trafic/xpower/XpowerAppDetailDataReceiver.ts index 135a68039239d5b123b61576a85bd7a9ea9b26b5..6d4844d929c8cbdd4dc6170f8e0bc1cd7374813c 100644 --- a/ide/src/trace/database/data-trafic/xpower/XpowerAppDetailDataReceiver.ts +++ b/ide/src/trace/database/data-trafic/xpower/XpowerAppDetailDataReceiver.ts @@ -109,7 +109,7 @@ function fillArrays(arrays: { [key: string]: Float64Array }, res: unknown[], dat if ((data as unknown).params.trafic === TraficEnum.ProtoBuffer) { // @ts-ignore it = (it as unknown).xpowerAppDetailData; } // @ts-ignore - arrays['startTime'][i] = (it as unknown).startTime; + arrays.startTime[i] = (it as unknown).startTime; keysCopy.forEach((key) => { // @ts-ignore arrays[key][i] = (it as unknown)[key]; }); @@ -125,38 +125,38 @@ function arrayBufferHandler(data: unknown, res: unknown[], transfer: boolean): v action: (data as unknown).action, results: transfer ? { - startTime: arrays.startTime.buffer, - c1hz: arrays.c1hz.buffer, - c5hz: arrays.c5hz.buffer, - c10hz: arrays.c10hz.buffer, - c15hz: arrays.c15hz.buffer, - c24hz: arrays.c24hz.buffer, - c30hz: arrays.c30hz.buffer, - c45hz: arrays.c45hz.buffer, - c60hz: arrays.c60hz.buffer, - c90hz: arrays.c90hz.buffer, - c120hz: arrays.c120hz.buffer, - c180hz: arrays.c180hz.buffer, - } + startTime: arrays.startTime.buffer, + c1hz: arrays.c1hz.buffer, + c5hz: arrays.c5hz.buffer, + c10hz: arrays.c10hz.buffer, + c15hz: arrays.c15hz.buffer, + c24hz: arrays.c24hz.buffer, + c30hz: arrays.c30hz.buffer, + c45hz: arrays.c45hz.buffer, + c60hz: arrays.c60hz.buffer, + c90hz: arrays.c90hz.buffer, + c120hz: arrays.c120hz.buffer, + c180hz: arrays.c180hz.buffer, + } : {}, len: res.length, transfer: transfer, }, transfer ? [ - arrays.startTime.buffer, - arrays.c1hz.buffer, - arrays.c5hz.buffer, - arrays.c10hz.buffer, - arrays.c15hz.buffer, - arrays.c24hz.buffer, - arrays.c30hz.buffer, - arrays.c45hz.buffer, - arrays.c60hz.buffer, - arrays.c90hz.buffer, - arrays.c120hz.buffer, - arrays.c180hz.buffer, - ] + arrays.startTime.buffer, + arrays.c1hz.buffer, + arrays.c5hz.buffer, + arrays.c10hz.buffer, + arrays.c15hz.buffer, + arrays.c24hz.buffer, + arrays.c30hz.buffer, + arrays.c45hz.buffer, + arrays.c60hz.buffer, + arrays.c90hz.buffer, + arrays.c120hz.buffer, + arrays.c180hz.buffer, + ] : [] ); } diff --git a/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts b/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts index 2f63034e2f72adebf39d074cce1a84d7ed4e90f3..176ef98d1372e0f3741cf04a5439a1cb0fdf9efc 100644 --- a/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts +++ b/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts @@ -127,7 +127,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { } } - private getAnalysisData(data: unknown) { + private getAnalysisData(data: unknown): void { //@ts-ignore this.samplesData = convertJSON(data.params.list) || []; let result; @@ -147,7 +147,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { }); } - private getBottomUpData(data: unknown) { + private getBottomUpData(data: unknown): void { //@ts-ignore this.samplesData = convertJSON(data.params.list) || []; let result; @@ -156,7 +156,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { funcName: 'getBottomUp', funcArgs: [true], }, - ]) + ]); self.postMessage({ //@ts-ignore id: data.id, @@ -167,7 +167,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { }); } - private getProfileData(data: unknown) { + private getProfileData(data: unknown): void { //@ts-ignore this.samplesData = convertJSON(data.params.list) || []; let result; @@ -187,7 +187,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { funcName: 'getCallChainsBySampleIds', funcArgs: [this.isTopDown], }, - ]) + ]); } self.postMessage({ //@ts-ignore @@ -290,7 +290,7 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { } } - rebackVaddrList(data: unknown) { + rebackVaddrList(data: unknown): void { // @ts-ignore let vaddrCallchainList = convertJSON(data.params.list); let sampleCallChainList: unknown = []; @@ -355,13 +355,13 @@ export class ProcedureLogicWorkerPerf extends LogicHandler { } } - private perfGetVaddr(data: unknown) { + private perfGetVaddr(data: unknown): void { // @ts-ignore const params = data.params; this.backVaddrData(data); } - backVaddrData(data: unknown) { + backVaddrData(data: unknown): void { // @ts-ignore this.handleDataByFuncName(data.params[0].funcName, data.params[0].funcArgs); } diff --git a/ide/src/webSocket/WebSocketManager.ts b/ide/src/webSocket/WebSocketManager.ts index c01c5a4fef46de9bdd0882e4b5e5d153eea81688..7d0c56495a66d6e324611d0a759fba0284d1c606 100644 --- a/ide/src/webSocket/WebSocketManager.ts +++ b/ide/src/webSocket/WebSocketManager.ts @@ -139,7 +139,7 @@ export class WebSocketManager { // 业务 businessMessage(decode: MessageParam): void { - if (this.distributeMap.has(decode.type!)){ + if (this.distributeMap.has(decode.type!)) { const callbackObj = this.distributeMap.get(decode.type!)!; // 遍历调用所有 eventCallBacks callbackObj.messageCallbacks.forEach(callback => { @@ -225,7 +225,7 @@ export class WebSocketManager { this.register(type, callback); } - private register(type: number, callback: Function, eventCallBack: Function = () => {}): void { + private register(type: number, callback: Function, eventCallBack: Function = (): void => { }): void { let callbackObj = this.distributeMap.get(type); if (!callbackObj) { callbackObj = { diff --git a/trace_streamer/src/base/codec_cov.cpp b/trace_streamer/src/base/codec_cov.cpp index d23c62a439fa18b4021f68e55cf28f4393cc96cf..71d96e08907c8651a929567c4a7e66cbb81c80e7 100644 --- a/trace_streamer/src/base/codec_cov.cpp +++ b/trace_streamer/src/base/codec_cov.cpp @@ -152,7 +152,6 @@ std::wstring String2WString(const std::string &strInput) // 数据格式转换 int to_result = MultiByteToWideChar(codePage, 0, (LPCSTR)strInput.c_str(), -1, (LPWSTR)wstr_out.c_str(), len_in); - // 判断转换结果 if (0 == to_result) { std::cout << "Can't transfer String to WString" << std::endl;