From e5b3027064ac4020819dd5f175c3b5404bba706d Mon Sep 17 00:00:00 2001 From: zhangzhuozhou Date: Sat, 29 Mar 2025 09:20:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A4=84=E7=90=86=E8=93=9D=E9=BB=84?= =?UTF-8?q?=E5=95=86=E5=88=86=E4=BB=A3=E7=A0=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangzhuozhou --- .gitignore | 1 - .../statistics/util/SpStatisticsHttpUtil.ts | 2 +- ide/src/trace/SpApplication.ts | 2 +- ide/src/trace/bean/PerfAnalysis.ts | 2 +- ide/src/trace/component/SpAiAnalysisPage.ts | 45 +++++++----- ide/src/trace/component/SpFlags.ts | 2 +- ide/src/trace/component/SpRecordTrace.ts | 2 +- ide/src/trace/component/SpSystemTrace.ts | 2 +- .../trace/component/chart/SpChartManager.ts | 4 +- .../component/setting/SpRecordTemplate.ts | 10 +-- .../trace/component/trace/base/TraceSheet.ts | 18 ++--- .../component/trace/base/TraceSheetConfig.ts | 2 +- .../trace/sheet/TabPaneCurrentSelection.ts | 2 +- .../trace/sheet/hilog/TabPaneHiLogs.ts | 8 ++- .../trace/sheet/hiperf/TabPanePerfAnalysis.ts | 14 ++-- .../trace/sheet/hiperf/TabPerfBottomUp.ts | 4 +- .../trace/sheet/hiperf/TabPerfFuncAsm.ts | 68 +++++++++---------- .../sheet/native-memory/TabPaneNMemory.ts | 4 +- .../sheet/states/TabPaneFreqStatesDataCut.ts | 6 +- .../sheet/xpower/TabPaneXpowerGpuFreq.ts | 2 +- .../sheet/xpower/TabPaneXpowerThreadEnergy.ts | 9 +-- .../TabPaneXpowerThreadInfoSelection.ts | 2 +- .../sheet/xpower/TabPaneXpowerThreadLoad.ts | 2 +- ide/src/trace/database/SqlLiteWorker.ts | 2 +- .../xpower/XpowerAppDetailDataReceiver.ts | 2 +- .../logic-worker/ProcedureLogicWorkerPerf.ts | 16 ++--- ide/src/webSocket/WebSocketManager.ts | 4 +- trace_streamer/src/base/codec_cov.cpp | 1 - .../ptreader_parser/event_parser_test.cpp | 1 + 29 files changed, 129 insertions(+), 110 deletions(-) diff --git a/.gitignore b/.gitignore index 50f79f909..6ec0ed2ff 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 a1d4a77f0..0d9357cc0 100644 --- a/ide/src/statistics/util/SpStatisticsHttpUtil.ts +++ b/ide/src/statistics/util/SpStatisticsHttpUtil.ts @@ -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 9bdcf438a..e12440fbd 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 5e2bfd211..af1d3d416 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 c816f9a17..188db6d7e 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,32 @@ 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 + } + // @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 + if (i !== index) { + // @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 +318,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 +564,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 +797,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 d3f76a4ed..d3bf08454 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 f3c9eff96..d1dd399d8 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 f1697b711..7ec7f5c25 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -1879,7 +1879,7 @@ 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); } diff --git a/ide/src/trace/component/chart/SpChartManager.ts b/ide/src/trace/component/chart/SpChartManager.ts index 77ec69300..3590d9667 100644 --- a/ide/src/trace/component/chart/SpChartManager.ts +++ b/ide/src/trace/component/chart/SpChartManager.ts @@ -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 7c835535b..178c3b203 100644 --- a/ide/src/trace/component/setting/SpRecordTemplate.ts +++ b/ide/src/trace/component/setting/SpRecordTemplate.ts @@ -82,8 +82,8 @@ export class SpRecordTemplate extends BaseElement { '-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_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; @@ -217,7 +217,7 @@ export class SpRecordTemplate extends BaseElement { }; } - private getDesiredString(str: string) { + private getDesiredString(str: string): string { if (/^\d+$/.test(str)) { this.isNum = true; return str; @@ -256,7 +256,7 @@ private packageMouseDownHandler(): void { Cmd.getPackage().then((packageList: string[]): void => { let finalDataList = packageList.map(str => str.replace(/\t/g, '')); if (finalDataList.length > 0) { - this.packageName!.dataSource(finalDataList, '',true); + this.packageName!.dataSource(finalDataList, '', true); } else { this.packageName!.dataSource([], ''); } @@ -283,7 +283,7 @@ private createNativeConfig(): ProfilerPluginConfig { startup_mode: false, js_stack_report: 2, max_js_stack_depth: 5, - filter_napi_name: "info", + filter_napi_name: 'info', memtrace_enable: true, malloc_disable: true, }; diff --git a/ide/src/trace/component/trace/base/TraceSheet.ts b/ide/src/trace/component/trace/base/TraceSheet.ts index 9ba7d1133..f3940245c 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 @@ -608,7 +608,7 @@ export class TraceSheet extends BaseElement { 'upload-so' )).finally(() => { fileList.length = 0; - }) + }); } } importFileBt!.files = null; @@ -661,7 +661,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 +673,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 f3f3c35bc..f5de86153 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 51538ccd4..3abe80d8d 100644 --- a/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts +++ b/ide/src/trace/component/trace/sheet/TabPaneCurrentSelection.ts @@ -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 79fad8a33..300e04466 100644 --- a/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts +++ b/ide/src/trace/component/trace/sheet/hilog/TabPaneHiLogs.ts @@ -323,17 +323,19 @@ export class TabPaneHiLogs extends BaseElement { } // 模糊过滤tag - private filterTag(tagAllName: unknown): boolean | undefined { + 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 7bfaef4fc..c168f7437 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 0157b13c3..40105d2a5 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 69e30cb49..ecb9cec51 100644 --- a/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts +++ b/ide/src/trace/component/trace/sheet/hiperf/TabPerfFuncAsm.ts @@ -12,22 +12,22 @@ * 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,41 +46,41 @@ 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) => { + this.assmblerTable!.addEventListener('column-click', ((evt: Event) => { const {key, sort} = (evt as CustomEvent).detail; - if (key === "selfcount") { + if (key === 'selfcount') { if (sort === 0) { this.assmblerTable!.recycleDataSource = this.originalShowUpData; this.assmblerTable!.reMeauseHeight(); @@ -93,7 +93,7 @@ export class TabPerfFuncAsm extends BaseElement { 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(); @@ -116,13 +116,13 @@ export class TabPerfFuncAsm extends BaseElement { 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,7 +164,7 @@ 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) { @@ -220,8 +220,8 @@ export class TabPerfFuncAsm extends BaseElement { addr: Number(BigInt.asUintN(64, this.funcBaseAddr + BigInt(offsetToVaddr))), instruction: '', sourceLine: '' - }) - }) + }); + }); } private calculateFuncAsmSapleCount(vaddrList: Array): void { @@ -233,7 +233,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 +258,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 0752fed98..07d609a9b 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 5b02b0f21..200b722f4 100644 --- a/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts +++ b/ide/src/trace/component/trace/sheet/states/TabPaneFreqStatesDataCut.ts @@ -154,7 +154,8 @@ 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) || + (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' || @@ -220,7 +221,8 @@ 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) || + (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' || diff --git a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerGpuFreq.ts index 6834c8657..56c9a4d5a 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 510e24b6d..1da5fccd7 100644 --- a/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts +++ b/ide/src/trace/component/trace/sheet/xpower/TabPaneXpowerThreadEnergy.ts @@ -138,13 +138,14 @@ 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 f0724d7c4..c77e15996 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 5dfc91d09..11adb1f3a 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 673cc414f..e3aa1f503 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 135a68039..e3c7b4976 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]; }); diff --git a/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts b/ide/src/trace/database/logic-worker/ProcedureLogicWorkerPerf.ts index 2f63034e2..176ef98d1 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 c01c5a4fe..7d0c56495 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 d23c62a43..71d96e089 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; diff --git a/trace_streamer/test/unittest/ptreader_parser/event_parser_test.cpp b/trace_streamer/test/unittest/ptreader_parser/event_parser_test.cpp index 442b28ab5..6201efd0e 100644 --- a/trace_streamer/test/unittest/ptreader_parser/event_parser_test.cpp +++ b/trace_streamer/test/unittest/ptreader_parser/event_parser_test.cpp @@ -103,6 +103,7 @@ HWTEST_F(EventParserTest, ParseLineNotEnoughArgs, TestSize.Level1) eventParser.FilterAllEvents(); EXPECT_EQ(1, stream_.traceDataCache_->GetStatAndInfo()->GetValue(TRACE_EVENT_SCHED_SWITCH, STAT_EVENT_DATA_INVALID)); + TS_LOGI("test5-2 Finished."); } /** * @tc.name: ParseLineUnCognizableEventname -- Gitee