From 0f71ebd8fc601b333cb608b47882b0260f386c14 Mon Sep 17 00:00:00 2001 From: zhang-zepeng1 Date: Thu, 18 Apr 2024 21:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=98smartpef=E4=BB=A3=E7=A0=81=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhang-zepeng1 --- ide/src/base-ui/BaseElement.ts | 10 +- .../base-ui/chart/column/LitChartColumn.ts | 76 +- .../chart/column/LitChartColumnConfig.ts | 8 +- .../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/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/table/LitPageTable.ts | 594 ++++++------- ide/src/base-ui/table/LitTableHtml.ts | 82 +- ide/src/base-ui/table/TableRowObject.ts | 4 +- ide/src/base-ui/table/lit-table.ts | 804 +++++++++--------- 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/base-ui/utils/CSVFormater.ts | 103 ++- ide/src/base-ui/utils/ExcelFormater.ts | 52 +- ide/src/base-ui/utils/Template.ts | 42 +- ide/src/command/Cmd.ts | 2 +- ide/src/hdc/common/BaseConversion.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/SpApplication.ts | 6 +- 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/SpQuerySQL.ts | 1 + ide/src/trace/component/SpRecordTrace.ts | 13 +- .../trace/component/SpSystemTrace.event.ts | 109 ++- ide/src/trace/component/SpSystemTrace.init.ts | 16 +- ide/src/trace/component/SpSystemTrace.line.ts | 145 +++- ide/src/trace/component/SpSystemTrace.ts | 419 ++++----- .../trace/component/chart/PerfDataQuery.ts | 22 +- .../component/chart/SpAbilityMonitorChart.ts | 121 +-- .../trace/component/chart/SpAllAppStartups.ts | 8 +- ide/src/trace/component/chart/SpArkTsChart.ts | 60 +- .../trace/component/chart/SpBpftraceChart.ts | 1 + .../trace/component/chart/SpChartManager.ts | 45 +- ide/src/trace/component/chart/SpClockChart.ts | 34 +- ide/src/trace/component/chart/SpCpuChart.ts | 28 +- ide/src/trace/component/chart/SpEBPFChart.ts | 55 +- ide/src/trace/component/chart/SpFpsChart.ts | 4 +- .../trace/component/chart/SpFrameTimeChart.ts | 12 +- ide/src/trace/component/chart/SpFreqChart.ts | 63 +- ide/src/trace/component/chart/SpHiPerf.ts | 98 ++- .../component/chart/SpHiSysEnergyChart.ts | 27 +- ide/src/trace/component/chart/SpIrqChart.ts | 28 +- ide/src/trace/component/chart/SpLTPO.ts | 14 +- .../component/chart/SpNativeMemoryChart.ts | 12 +- .../trace/component/chart/SpProcessChart.ts | 317 +++---- ide/src/trace/component/chart/SpSdkChart.ts | 96 ++- .../component/chart/SpSegmentationChart.ts | 2 +- .../component/chart/SpVirtualMemChart.ts | 3 +- .../trace/component/chart/SpVmTrackerChart.ts | 62 +- ide/src/trace/component/chart/VSync.ts | 4 +- .../schedulingAnalysis/CheckCpuSetting.ts | 2 +- .../schedulingAnalysis/DrawerCpuTabs.ts | 8 +- .../SpSchedulingAnalysis.ts | 12 +- .../schedulingAnalysis/TabCpuAnalysis.ts | 22 +- .../TabCpuDetailsFrequency.ts | 83 +- .../schedulingAnalysis/TabCpuDetailsIdle.ts | 87 +- .../schedulingAnalysis/TabCpuDetailsIrq.ts | 86 +- .../TabCpuDetailsThreads.ts | 81 +- .../Top20FrequencyThread.ts | 103 +-- .../Top20ProcessSwitchCount.ts | 52 +- .../Top20ProcessThreadCount.ts | 45 +- .../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 | 75 +- .../component/trace/TimerShaftElement.ts | 20 +- .../component/trace/base/CustomThemeColor.ts | 4 +- .../trace/component/trace/base/EventCenter.ts | 16 +- .../trace/component/trace/base/Extension.ts | 10 +- .../trace/component/trace/base/RangeSelect.ts | 81 +- .../trace/component/trace/base/TraceRow.ts | 161 ++-- .../component/trace/base/TraceRowConfig.ts | 24 +- .../trace/base/TraceRowRecyclerView.ts | 48 +- .../trace/component/trace/base/TraceSheet.ts | 54 +- .../component/trace/base/TraceSheetConfig.ts | 2 +- ide/src/trace/component/trace/base/Utils.ts | 49 +- .../trace/component/trace/search/Search.ts | 15 +- .../trace/component/trace/sheet/SheetUtils.ts | 8 +- .../component/trace/sheet/TabPaneCurrent.ts | 63 +- .../trace/sheet/TabPaneCurrentSelection.ts | 266 ++++-- .../component/trace/sheet/TabPaneFilter.ts | 122 ++- .../trace/sheet/ability/TabPaneCpuAbility.ts | 6 +- .../trace/sheet/ability/TabPaneDiskAbility.ts | 4 +- .../sheet/ability/TabPaneDmaSelectAbility.ts | 17 +- .../sheet/ability/TabPaneGpuMemoryAbility.ts | 6 +- .../sheet/ability/TabPaneHistoryProcesses.ts | 22 +- .../sheet/ability/TabPaneLiveProcesses.ts | 26 +- .../sheet/ability/TabPaneMemoryAbility.ts | 25 +- .../sheet/ability/TabPaneNetworkAbility.ts | 52 +- .../trace/sheet/ability/TabPanePurgPin.ts | 28 +- .../TabPanePurgPinComparisonAbility.ts | 37 +- .../sheet/ability/TabPanePurgPinSelection.ts | 10 +- .../trace/sheet/ability/TabPanePurgTotal.ts | 30 +- .../TabPanePurgTotalComparisonAbility.ts | 33 +- .../ability/TabPanePurgTotalSelection.ts | 13 +- .../trace/sheet/ark-ts/TabPaneComparison.ts | 20 +- .../sheet/ark-ts/TabPaneJsCpuStatistics.ts | 39 +- .../trace/sheet/ark-ts/TabPaneSummary.ts | 26 +- .../sheet/binder/TabPaneBinderDataCut.ts | 21 +- .../trace/sheet/binder/TabPaneBinders.ts | 6 +- .../TabPaneSampleInstructionDistributions.ts | 1 + ...PaneSampleInstructionSelectionTotalTime.ts | 41 +- .../trace/sheet/clock/TabPaneClockCounter.ts | 19 +- .../trace/sheet/cpu/TabPaneBoxChild.ts | 5 +- .../trace/sheet/cpu/TabPaneCounterSample.ts | 68 +- .../trace/sheet/cpu/TabPaneCpuByProcess.ts | 26 +- .../trace/sheet/cpu/TabPaneCpuByThread.ts | 74 +- .../trace/sheet/cpu/TabPaneCpuStateClick.ts | 9 +- .../trace/sheet/cpu/TabPaneCpuUsage.ts | 21 +- .../trace/sheet/cpu/TabPaneFrequencySample.ts | 105 ++- .../component/trace/sheet/cpu/TabPanePTS.ts | 9 +- .../component/trace/sheet/cpu/TabPaneSPT.ts | 6 +- .../trace/sheet/cpu/TabPaneSchedPriority.ts | 8 +- .../sheet/energy/TabPaneEnergyAnomaly.ts | 8 +- .../trace/sheet/energy/TabPanePowerBattery.ts | 18 +- .../trace/sheet/energy/TabPanePowerDetails.ts | 57 +- .../sheet/energy/TabPaneSystemDetails.ts | 104 ++- .../sheet/file-system/TabPaneCallTree.ts | 222 ++--- .../file-system/TabPaneFileSystemCalltree.ts | 258 +++--- .../TabPaneFileSystemDescHistory.ts | 50 +- .../TabPaneFileSystemDescTimeSlice.ts | 28 +- .../file-system/TabPaneFileSystemEvents.ts | 41 +- .../TabPaneFilesystemStatistics.ts | 150 ++-- .../TabPaneFilesystemStatisticsAnalysis.ts | 246 +++--- .../file-system/TabPaneIOTierStatistics.ts | 177 ++-- .../TabPaneIOTierStatisticsAnalysis.ts | 224 ++--- .../file-system/TabPaneIoCompletionTimes.ts | 47 +- .../sheet/file-system/TabPaneVMEvents.ts | 55 +- .../TabPaneVirtualMemoryStatisticsAnalysis.ts | 252 +++--- .../component/trace/sheet/fps/TabPaneFps.ts | 8 +- .../trace/sheet/freq/TabPaneCpuFreqLimits.ts | 29 +- .../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 | 7 +- .../trace/sheet/hiperf/TabPanePerfAnalysis.ts | 184 +++- .../trace/sheet/hiperf/TabPerfProfile.ts | 212 ++--- .../trace/sheet/hiperf/TabPerfSampleList.ts | 2 +- .../sheet/hisysevent/TabPaneHisysEvents.ts | 1 + .../trace/sheet/irq/TabPaneIrqCounter.ts | 14 +- .../trace/sheet/jank/TabPaneFrames.ts | 28 +- .../sheet/native-memory/TabPaneNMCallTree.ts | 233 ++--- .../native-memory/TabPaneNMSampleList.ts | 115 +-- .../TabPaneNMStatisticAnalysis.ts | 399 +++++---- .../sheet/native-memory/TabPaneNMStatstics.ts | 24 +- .../sheet/native-memory/TabPaneNMemory.ts | 113 +-- .../trace/sheet/process/TabPaneCounter.ts | 14 +- .../trace/sheet/process/TabPaneSlices.ts | 52 +- .../trace/sheet/process/TabPaneStartup.ts | 18 +- .../trace/sheet/process/TabPaneStaticInit.ts | 18 +- .../sheet/process/TabPaneThreadStates.ts | 97 ++- .../trace/sheet/process/TabPaneThreadUsage.ts | 69 +- .../sheet/schedswitch/TabPaneSchedSwitch.ts | 20 +- .../trace/sheet/sdk/TabPaneSdkCounter.ts | 43 +- .../trace/sheet/sdk/TabPaneSdkSlice.ts | 75 +- .../component/trace/sheet/sdk/TabUtil.ts | 3 +- .../sheet/smaps/TabPaneSmapsComparison.ts | 30 +- .../trace/sheet/smaps/TabPaneSmapsRecord.ts | 8 +- .../trace/sheet/smaps/TabPaneSmapsSample.ts | 15 +- .../sheet/smaps/TabPaneSmapsStatistics.ts | 7 +- .../sheet/states/TabPaneFreqStatesDataCut.ts | 20 +- .../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 | 25 +- .../vmtracker/TabPanePurgTotalComparisonVM.ts | 25 +- .../sheet/vmtracker/TabPaneVmTrackerShm.ts | 31 +- .../TabPaneVmTrackerShmComparison.ts | 11 +- .../vmtracker/TabPaneVmTrackerShmSelection.ts | 31 +- .../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 +- 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 ++++- .../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 | 83 +- .../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/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/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 +- .../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 ++- .../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 +- 305 files changed, 10690 insertions(+), 6743 deletions(-) diff --git a/ide/src/base-ui/BaseElement.ts b/ide/src/base-ui/BaseElement.ts index 0a0f8170..9ec9820b 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 214c2e18..786b813a 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 = `