• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import { TabPaneCurrentSelection } from '../sheet/TabPaneCurrentSelection';
17import { TabPaneFreq } from '../sheet/freq/TabPaneFreq';
18import { TabPaneCpuByThread } from '../sheet/cpu/TabPaneCpuByThread';
19import { SelectionParam } from '../../../bean/BoxSelection';
20import { TabPaneCpuByProcess } from '../sheet/cpu/TabPaneCpuByProcess';
21import { TabPaneCpuUsage } from '../sheet/cpu/TabPaneCpuUsage';
22import { TabPaneSPT } from '../sheet/cpu/TabPaneSPT';
23import { TabPanePTS } from '../sheet/cpu/TabPanePTS';
24import { TabPaneSlices } from '../sheet/process/TabPaneSlices';
25import { TabPaneCounter } from '../sheet/process/TabPaneCounter';
26import { TabPaneFps } from '../sheet/fps/TabPaneFps';
27import { TabPaneFlag } from '../timer-shaft/TabPaneFlag';
28import { TabPaneBoxChild } from '../sheet/cpu/TabPaneBoxChild';
29import { TabPaneNMStatstics } from '../sheet/native-memory/TabPaneNMStatstics';
30import { TabPaneNMemory } from '../sheet/native-memory/TabPaneNMemory';
31import { TabPaneNMSampleList } from '../sheet/native-memory/TabPaneNMSampleList';
32import { TabpanePerfProfile } from '../sheet/hiperf/TabPerfProfile';
33import { TabPanePerfSample } from '../sheet/hiperf/TabPerfSampleList';
34import { TabPaneLiveProcesses } from '../sheet/ability/TabPaneLiveProcesses';
35import { TabPaneHistoryProcesses } from '../sheet/ability/TabPaneHistoryProcesses';
36import { TabPaneCpuAbility } from '../sheet/ability/TabPaneCpuAbility';
37import { TabPaneMemoryAbility } from '../sheet/ability/TabPaneMemoryAbility';
38import { TabPaneDiskAbility } from '../sheet/ability/TabPaneDiskAbility';
39import { TabPaneNetworkAbility } from '../sheet/ability/TabPaneNetworkAbility';
40import { TabPaneFileStatistics } from '../sheet/file-system/TabPaneFilesystemStatistics';
41import { TabpaneFilesystemCalltree } from '../sheet/file-system/TabPaneFileSystemCalltree';
42import { TabPaneFileSystemEvents } from '../sheet/file-system/TabPaneFileSystemEvents';
43import { TabPaneFileSystemDescHistory } from '../sheet/file-system/TabPaneFileSystemDescHistory';
44import { TabPaneFileSystemDescTimeSlice } from '../sheet/file-system/TabPaneFileSystemDescTimeSlice';
45import { TabPaneSdkSlice } from '../sheet/sdk/TabPaneSdkSlice';
46import { TabPaneSdkCounter } from '../sheet/sdk/TabPaneSdkCounter';
47import { TabPaneCounterSample } from '../sheet/cpu/TabPaneCounterSample';
48import { TabPaneThreadStates } from '../sheet/process/TabPaneThreadStates';
49import { TabPaneThreadUsage } from '../sheet/process/TabPaneThreadUsage';
50import { TabPaneFrequencySample } from '../sheet/cpu/TabPaneFrequencySample';
51import { TabPaneEnergyAnomaly } from '../sheet/energy/TabPaneEnergyAnomaly';
52import { TabPaneSystemDetails } from '../sheet/energy/TabPaneSystemDetails';
53import { TabPanePowerDetails } from '../sheet/energy/TabPanePowerDetails';
54import { TabPanePowerBattery } from '../sheet/energy/TabPanePowerBattery';
55import { TabPaneCpuStateClick } from '../sheet/cpu/TabPaneCpuStateClick';
56import { TabPaneVirtualMemoryStatistics } from '../sheet/file-system/TabPaneVirtualMemoryStatistics';
57import { TabPaneIOTierStatistics } from '../sheet/file-system/TabPaneIOTierStatistics';
58import { TabPaneIOCallTree, TabPaneVMCallTree } from '../sheet/file-system/TabPaneIOCallTree';
59import { TabPaneIoCompletionTimes } from '../sheet/file-system/TabPaneIoCompletionTimes';
60import { TabPaneVirtualMemoryEvents } from '../sheet/file-system/TabPaneVMEvents';
61import { TabPaneSmapsStatistics } from '../sheet/smaps/TabPaneSmapsStatistics';
62import { TabPaneSmapsSample } from '../sheet/smaps/TabPaneSmapsSample';
63import { TabPaneFreqLimit } from '../sheet/freq/TabPaneFreqLimit';
64import { TabPaneCpuFreqLimits } from '../sheet/freq/TabPaneCpuFreqLimits';
65import { TabpaneNMCalltree } from '../sheet/native-memory/TabPaneNMCallTree';
66import { TabPaneClockCounter } from '../sheet/clock/TabPaneClockCounter';
67import { TabPaneIrqCounter } from '../sheet/irq/TabPaneIrqCounter';
68import { TabPaneFrames } from '../sheet/jank/TabPaneFrames';
69import { TabPanePerfAnalysis } from '../sheet/hiperf/TabPanePerfAnalysis';
70import { TabPaneNMStatisticAnalysis } from '../sheet/native-memory/TabPaneNMStatisticAnalysis';
71import { TabPaneFilesystemStatisticsAnalysis } from '../sheet/file-system/TabPaneFilesystemStatisticsAnalysis';
72import { TabPaneIOTierStatisticsAnalysis } from '../sheet/file-system/TabPaneIOTierStatisticsAnalysis';
73import { TabPaneVirtualMemoryStatisticsAnalysis } from '../sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis';
74import { TabPaneCurrent } from '../sheet/TabPaneCurrent';
75import { TabPaneStartup } from '../sheet/process/TabPaneStartup';
76import { TabPaneStaticInit } from '../sheet/process/TabPaneStaticInit';
77import { TabPaneTaskFrames } from '../sheet/task/TabPaneTaskFrames';
78import { TabPaneFrameDynamic } from '../sheet/frame/TabPaneFrameDynamic';
79import { TabFrameSpacing } from '../sheet/frame/TabFrameSpacing';
80import { TabPaneSummary } from '../sheet/ark-ts/TabPaneSummary';
81import { TabPaneComparison } from '../sheet/ark-ts/TabPaneComparison';
82import { TabPaneJsCpuTopDown } from '../sheet/ark-ts/TabPaneJsCpuCallTree';
83import { TabPaneJsCpuBottomUp } from '../sheet/ark-ts/TabPaneJsCpuBottomUp';
84import { TabPaneJsCpuStatistics } from '../sheet/ark-ts/TabPaneJsCpuStatistics';
85import { TabPaneGpuClickSelect } from '../sheet/gpu/TabPaneGpuClickSelect';
86import { TabPaneGpuTotalBoxSelect } from '../sheet/gpu/TabPaneGpuTotalBoxSelect';
87import { TabPaneGpuWindowBoxSelect } from '../sheet/gpu/TabPaneGpuWindowBoxSelect';
88import { TabPaneGpuGL } from '../sheet/gpu/TabPaneGpuGL';
89import { TabPanePurgTotal } from '../sheet/ability/TabPanePurgTotal';
90import { TabPanePurgTotalSelection } from '../sheet/ability/TabPanePurgTotalSelection';
91import { TabPanePurgPin } from '../sheet/ability/TabPanePurgPin';
92import { TabPanePurgPinSelection } from '../sheet/ability/TabPanePurgPinSelection';
93import { TabPaneVmTrackerShmSelection } from '../sheet/vmtracker/TabPaneVmTrackerShmSelection';
94import { TabPaneVmTrackerShm } from '../sheet/vmtracker/TabPaneVmTrackerShm';
95import { TabPaneDmaAbility } from '../sheet/ability/TabPaneDmaAbility';
96import { TabPaneDmaSelectAbility } from '../sheet/ability/TabPaneDmaSelectAbility';
97import { TabPaneGpuMemoryAbility } from '../sheet/ability/TabPaneGpuMemoryAbility';
98import { TabPaneDmaVmTracker } from '../sheet/vmtracker/TabPaneDmaVmTracker';
99import { TabPaneGpuMemoryVmTracker } from '../sheet/vmtracker/TabPaneGpuMemoryVmTracker';
100import { TabPaneGpuMemorySelectAbility } from '../sheet/ability/TabPaneGpuMemorySelectAbility';
101import { TabPaneGpuMemorySelectVmTracker } from '../sheet/vmtracker/TabPaneGpuMemorySelectVmTracker';
102import { TabPaneDmaSelectVmTracker } from '../sheet/vmtracker/TabPaneDmaSelectVmTracker';
103import { TabpanePerfBottomUp } from '../sheet/hiperf/TabPerfBottomUp';
104import { TabPanePurgTotalComparisonAbility } from '../sheet/ability/TabPanePurgTotalComparisonAbility';
105import { TabPanePurgPinComparisonAbility } from '../sheet/ability/TabPanePurgPinComparisonAbility';
106import { TabPanePurgTotalComparisonVM } from '../sheet/vmtracker/TabPanePurgTotalComparisonVM';
107import { TabPanePurgPinComparisonVM } from '../sheet/vmtracker/TabPanePurgPinComparisonVM';
108import { TabPaneDmaAbilityComparison } from '../sheet/ability/TabPaneDmaAbilityComparison';
109import { TabPaneGpuMemoryComparison } from '../sheet/ability/TabPaneGpuMemoryComparison';
110import { TabPaneDmaVmTrackerComparison } from '../sheet/vmtracker/TabPaneDmaVmTrackerComparison';
111import { TabPaneGpuMemoryVmTrackerComparison } from '../sheet/vmtracker/TabPaneGpuMemoryVmTrackerComparison';
112import { TabPaneVmTrackerShmComparison } from '../sheet/vmtracker/TabPaneVmTrackerShmComparison';
113import { TabPaneSmapsComparison } from '../sheet/smaps/TabPaneSmapsComparison';
114import { TabPaneSmapsRecord } from '../sheet/smaps/TabPaneSmapsRecord';
115import { TabPaneGpuClickSelectComparison } from '../sheet/gpu/TabPaneGpuClickSelectComparison';
116import { TabPaneHiLogs } from '../sheet/hilog/TabPaneHiLogs';
117import { TabPaneHiLogSummary } from '../sheet/hilog/TabPaneHiLogSummary';
118import { TabPaneSchedPriority } from '../sheet/cpu/TabPaneSchedPriority';
119import { TabPaneGpuResourceVmTracker } from '../sheet/vmtracker/TabPaneGpuResourceVmTracker';
120import { TabPaneGpuGraph } from '../sheet/gpu/TabPaneGraph';
121import { TabPaneFreqUsage } from '../sheet/frequsage/TabPaneFreqUsage';
122import { TabPaneHisysEvents } from '../sheet/hisysevent/TabPaneHisysEvents';
123import { TabPaneHiSysEventSummary } from '../sheet/hisysevent/TabPaneHiSysEventSummary';
124
125export let tabConfig: any = {
126  'current-selection': {
127    title: 'Current Selection',
128    type: TabPaneCurrentSelection,
129  }, //cpu data click
130  'cpu-state-click': {
131    title: 'Cpu State',
132    type: TabPaneCpuStateClick,
133  },
134  'box-freq': {
135    title: 'Frequency',
136    type: TabPaneFreq,
137  }, //freq data click
138  'box-freq-limit': {
139    title: 'Frequency Limits',
140    type: TabPaneFreqLimit,
141  },
142  'box-cpu-freq-limit': {
143    title: 'Cpu Frequency Limits',
144    type: TabPaneCpuFreqLimits,
145    require: (param: SelectionParam) => param.cpuFreqLimit.length > 0,
146  },
147  'box-cpu-thread': {
148    title: 'CPU by thread',
149    type: TabPaneCpuByThread,
150    require: (param: SelectionParam) => param.cpus.length > 0,
151  }, //range select
152  'box-cpu-process': {
153    title: 'CPU by process',
154    type: TabPaneCpuByProcess,
155    require: (param: SelectionParam) => param.cpus.length > 0,
156  },
157  'box-cpu-usage': {
158    title: 'CPU Usage',
159    type: TabPaneCpuUsage,
160    require: (param: SelectionParam) => param.cpus.length > 0,
161  },
162  'box-spt': {
163    title: 'Thread Switches',
164    type: TabPaneSPT,
165    require: (param: SelectionParam) => param.cpus.length > 0,
166  },
167  'box-pts': {
168    title: 'Thread States',
169    type: TabPanePTS,
170    require: (param: SelectionParam) => param.cpus.length > 0,
171  },
172  'box-thread-states': {
173    title: 'Thread States',
174    type: TabPaneThreadStates,
175    require: (param: SelectionParam) => param.threadIds.length > 0,
176  },
177  'box-process-startup': {
178    title: 'App Startups',
179    type: TabPaneStartup,
180    require: (param: SelectionParam) => param.processIds.length > 0 && param.startup,
181  },
182  'box-process-static-init': {
183    title: 'Static Initialization',
184    type: TabPaneStaticInit,
185    require: (param: SelectionParam) => param.processIds.length > 0 && param.staticInit,
186  },
187  'box-thread-usage': {
188    title: 'Thread Usage',
189    type: TabPaneThreadUsage,
190    require: (param: SelectionParam) => param.threadIds.length > 0,
191  },
192  'box-slices': {
193    title: 'Slices',
194    type: TabPaneSlices,
195    require: (param: SelectionParam) => param.funTids.length > 0 || param.funAsync.length > 0,
196  },
197  'box-counters': {
198    title: 'Counters',
199    type: TabPaneCounter,
200    require: (param: SelectionParam) => param.processTrackIds.length > 0 || param.virtualTrackIds.length > 0,
201  },
202  'box-clock-counters': {
203    title: 'Clock Counters',
204    type: TabPaneClockCounter,
205    require: (param: SelectionParam) => param.clockMapData.size > 0,
206  },
207  'box-irq-counters': {
208    title: 'Irq Counters',
209    type: TabPaneIrqCounter,
210    require: (param: SelectionParam) => param.irqCallIds.length > 0 || param.softIrqCallIds.length > 0,
211  },
212  'box-fps': {
213    title: 'FPS',
214    type: TabPaneFps,
215    require: (param: SelectionParam) => param.hasFps,
216  },
217  'box-cpu-child': {
218    title: '',
219    type: TabPaneBoxChild,
220  },
221  'box-native-statstics': {
222    title: 'Statistics',
223    type: TabPaneNMStatstics,
224    require: (param: SelectionParam) => param.nativeMemory.length > 0,
225  },
226  'box-native-statistic-analysis': {
227    title: 'Analysis',
228    type: TabPaneNMStatisticAnalysis,
229    require: (param: SelectionParam) => param.nativeMemory.length > 0 || param.nativeMemoryStatistic.length > 0,
230  },
231  'box-native-calltree': {
232    title: 'Call Info',
233    type: TabpaneNMCalltree,
234    require: (param: SelectionParam) => param.nativeMemory.length > 0 || param.nativeMemoryStatistic.length > 0,
235  },
236  'box-native-memory': {
237    title: 'Native Memory',
238    type: TabPaneNMemory,
239    require: (param: SelectionParam) => param.nativeMemory.length > 0,
240  },
241  'box-native-sample': {
242    title: 'Snapshot List',
243    type: TabPaneNMSampleList,
244    require: (param: SelectionParam) => param.nativeMemory.length > 0,
245  },
246  'box-perf-analysis': {
247    title: 'Analysis',
248    type: TabPanePerfAnalysis,
249    require: (param: SelectionParam) => param.perfSampleIds.length > 0,
250  },
251  'box-perf-bottom-up': {
252    title: 'Bottom Up',
253    type: TabpanePerfBottomUp,
254    require: (param: SelectionParam) => param.perfSampleIds.length > 0,
255  },
256  'box-perf-profile': {
257    title: 'Perf Profile',
258    type: TabpanePerfProfile,
259    require: (param: SelectionParam) => param.perfSampleIds.length > 0,
260  },
261  'box-perf-sample': {
262    title: 'Sample List',
263    type: TabPanePerfSample,
264    require: (param: SelectionParam) => param.perfSampleIds.length > 0,
265  },
266
267  'box-live-processes-child': {
268    title: 'Live Processes',
269    type: TabPaneLiveProcesses,
270    require: (param: SelectionParam) =>
271      param.cpuAbilityIds.length > 0 ||
272      (param.memoryAbilityIds.length > 0 && param.diskAbilityIds.length > 0) ||
273      param.networkAbilityIds.length > 0,
274  },
275  'box-history-processes-child': {
276    title: 'Processes History',
277    type: TabPaneHistoryProcesses,
278    require: (param: SelectionParam) =>
279      param.cpuAbilityIds.length > 0 ||
280      param.memoryAbilityIds.length > 0 ||
281      param.diskAbilityIds.length > 0 ||
282      param.networkAbilityIds.length > 0,
283  },
284  'box-system-cpu-child': {
285    title: 'System CPU Summary',
286    type: TabPaneCpuAbility,
287    require: (param: SelectionParam) => param.cpuAbilityIds.length > 0,
288  },
289  'box-system-memory-child': {
290    title: 'System Memory Summary',
291    type: TabPaneMemoryAbility,
292    require: (param: SelectionParam) => param.memoryAbilityIds.length > 0,
293  },
294  'box-system-diskIo-child': {
295    title: 'System Disk Summary',
296    type: TabPaneDiskAbility,
297    require: (param: SelectionParam) => param.diskAbilityIds.length > 0,
298  },
299  'box-system-network-child': {
300    title: 'System Network Summary',
301    type: TabPaneNetworkAbility,
302    require: (param: SelectionParam) => param.networkAbilityIds.length > 0,
303  },
304  'box-sdk-slice-child': {
305    title: 'Sdk Slice',
306    type: TabPaneSdkSlice,
307    require: (param: SelectionParam) => param.sdkSliceIds.length > 0,
308  },
309  'box-system-counter-child': {
310    title: 'SDK Counter',
311    type: TabPaneSdkCounter,
312    require: (param: SelectionParam) => param.sdkCounterIds.length > 0,
313  },
314  'box-counter-sample': {
315    title: 'Cpu State',
316    type: TabPaneCounterSample,
317    require: (param: SelectionParam) => param.cpuStateFilterIds.length > 0,
318  },
319
320  'box-frequency-sample': {
321    title: 'Cpu Frequency',
322    type: TabPaneFrequencySample,
323    require: (param: SelectionParam) => param.cpuFreqFilterIds.length > 0,
324  },
325  'box-anomaly-details': {
326    title: 'Anomaly details',
327    type: TabPaneEnergyAnomaly,
328    require: (param: SelectionParam) => param.anomalyEnergy.length > 0,
329  },
330  'box-system-details': {
331    title: 'System Details',
332    type: TabPaneSystemDetails,
333    require: (param: SelectionParam) => param.systemEnergy.length > 0,
334  },
335  'box-power-battery': {
336    title: 'Power Battery',
337    type: TabPanePowerBattery,
338    require: (param: SelectionParam) => param.powerEnergy.length > 0,
339  },
340  'box-power-details': {
341    title: 'Power Details',
342    type: TabPanePowerDetails,
343    require: (param: SelectionParam) => param.powerEnergy.length > 0,
344  },
345  'box-file-system-statistics': {
346    title: 'Filesystem statistics',
347    type: TabPaneFileStatistics,
348    require: (param: SelectionParam) => param.fileSystemType.length > 0,
349  },
350  'box-file-system-statistics-analysis': {
351    title: 'Analysis',
352    type: TabPaneFilesystemStatisticsAnalysis,
353    require: (param: SelectionParam) => param.fileSystemType.length > 0,
354  },
355  'box-file-system-calltree': {
356    title: 'Filesystem Calltree',
357    type: TabpaneFilesystemCalltree,
358    require: (param: SelectionParam) => param.fileSystemType.length > 0 || param.fsCount > 0,
359  },
360  'box-file-system-event': {
361    title: 'Filesystem Events',
362    type: TabPaneFileSystemEvents,
363    require: (param: SelectionParam) => param.fileSystemType.length > 0,
364  },
365  'box-file-system-desc-history': {
366    title: 'File Descriptor History',
367    type: TabPaneFileSystemDescHistory,
368    require: (param: SelectionParam) => param.fileSystemType.length > 0,
369  },
370  'box-file-system-desc-time-slice': {
371    title: 'File Descriptor Time Slice',
372    type: TabPaneFileSystemDescTimeSlice,
373    require: (param: SelectionParam) => param.fileSystemType.length > 0,
374  },
375  'box-virtual-memory-statistics': {
376    title: 'Page Fault Statistics',
377    type: TabPaneVirtualMemoryStatistics,
378    require: (param: SelectionParam) => param.fileSysVirtualMemory,
379  },
380  'box-virtual-memory-statistics-analysis': {
381    title: 'Analysis',
382    type: TabPaneVirtualMemoryStatisticsAnalysis,
383    require: (param: SelectionParam) => param.fileSysVirtualMemory,
384  },
385  'box-vm-calltree': {
386    title: 'Page Fault CallTree',
387    type: TabPaneVMCallTree,
388    require: (param: SelectionParam) => param.fileSysVirtualMemory || param.vmCount > 0,
389  },
390  'box-vm-events': {
391    title: 'Page Fault Events',
392    type: TabPaneVirtualMemoryEvents,
393    require: (param: SelectionParam) => param.fileSysVirtualMemory,
394  },
395  'box-io-tier-statistics': {
396    title: 'Disk I/O Tier Statistics',
397    type: TabPaneIOTierStatistics,
398    require: (param: SelectionParam) => param.diskIOLatency,
399  },
400  'box-io-tier-statistics-analysis': {
401    title: 'Analysis',
402    type: TabPaneIOTierStatisticsAnalysis,
403    require: (param: SelectionParam) => param.diskIOLatency,
404  },
405  'box-io-calltree': {
406    title: 'Disk I/O Latency Calltree',
407    type: TabPaneIOCallTree,
408    require: (param: SelectionParam) => param.diskIOLatency || param.diskIOipids.length > 0,
409  },
410  'box-io-events': {
411    title: 'Trace Completion Times',
412    type: TabPaneIoCompletionTimes,
413    require: (param: SelectionParam) => param.diskIOLatency,
414  },
415  'box-smaps-statistics': {
416    title: 'Smaps Statistic',
417    type: TabPaneSmapsStatistics,
418    require: (param: SelectionParam) => param.smapsType.length > 0,
419  },
420  'box-smaps-sample': {
421    title: 'Smaps sample',
422    type: TabPaneSmapsSample,
423    require: (param: SelectionParam) => param.smapsType.length > 0,
424  },
425  'box-smaps-comparison': {
426    title: 'Smaps Comparison',
427    type: TabPaneSmapsComparison,
428  },
429  'box-smaps-record': {
430    title: 'Native Heap',
431    type: TabPaneSmapsRecord,
432  },
433  'box-vmtracker-shm': {
434    title: 'SHM',
435    type: TabPaneVmTrackerShm,
436    require: (param: SelectionParam) => param.vmtrackershm.length > 0,
437  },
438  'box-vmtracker-shm-selection': {
439    title: 'SHM Selection',
440    type: TabPaneVmTrackerShmSelection,
441  },
442  'box-frames': {
443    title: 'Frames',
444    type: TabPaneFrames,
445    require: (param: SelectionParam) => param.jankFramesData.length > 0,
446  },
447  'box-heap-summary': {
448    title: 'Summary',
449    type: TabPaneSummary,
450    require: (param: SelectionParam) => param.jsMemory.length > 0,
451  },
452  'box-heap-comparison': {
453    title: 'Comparison',
454    type: TabPaneComparison,
455  }, // snapshot data click
456  'box-task-frames': {
457    title: 'Frames',
458    type: TabPaneTaskFrames,
459    require: (param: SelectionParam) => param.taskFramesData.length > 0,
460  },
461  'box-frame-dynamic': {
462    title: 'Frame Dynamic',
463    type: TabPaneFrameDynamic,
464    require: (param: SelectionParam) => param.frameDynamic.length > 0,
465  },
466  'box-frames-spacing': {
467    title: 'Frame spacing',
468    type: TabFrameSpacing,
469    require: (param: SelectionParam) => param.frameSpacing.length > 0,
470  },
471  'box-js-Profiler-statistics': {
472    title: 'Js Profiler Statistics',
473    type: TabPaneJsCpuStatistics,
474    require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0,
475  },
476  'box-js-Profiler-bottom-up': {
477    title: 'Js Profiler BottomUp',
478    type: TabPaneJsCpuBottomUp,
479    require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0,
480  },
481  'box-js-Profiler-top-down': {
482    title: 'Js Profiler CallTree',
483    type: TabPaneJsCpuTopDown,
484    require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0,
485  },
486  'gpu-click-select': {
487    title: 'Gpu Dump Selection',
488    type: TabPaneGpuClickSelect,
489  },
490  'gpu-gl-box-select': {
491    title: 'GL',
492    type: TabPaneGpuGL,
493    require: (param: SelectionParam) => param.gpu.gl,
494  },
495  'gpu-graph-box-select': {
496    title: 'Graph',
497    type: TabPaneGpuGraph,
498    require: (param: SelectionParam) => param.gpu.graph,
499  },
500  'gpu-total-box-select': {
501    title: 'Gpu Total',
502    type: TabPaneGpuTotalBoxSelect,
503    require: (param: SelectionParam) => param.gpu.gpuTotal,
504  },
505  'gpu-window-box-select': {
506    title: 'Gpu Window',
507    type: TabPaneGpuWindowBoxSelect,
508    require: (param: SelectionParam) => param.gpu.gpuWindow,
509  },
510  'box-purgeable-total': {
511    title: 'Purg Total',
512    type: TabPanePurgTotal,
513    require: (param: SelectionParam) => param.purgeableTotalAbility.length > 0 || param.purgeableTotalVM.length > 0,
514  },
515  'box-purgeable-total-selection': {
516    title: 'Purg Total Selection',
517    type: TabPanePurgTotalSelection,
518  },
519  'box-purgeable-pin': {
520    title: 'Purg Pin',
521    type: TabPanePurgPin,
522    require: (param: SelectionParam) => param.purgeablePinAbility.length > 0 || param.purgeablePinVM.length > 0,
523  },
524  'box-purgeable-pin-selection': {
525    title: 'Purg Pin Selection',
526    type: TabPanePurgPinSelection,
527  },
528  'box-purgeable-total-comparison-ability': {
529    title: 'Purg Total Comparison',
530    type: TabPanePurgTotalComparisonAbility,
531  },
532  'box-purgeable-pin-comparison-ability': {
533    title: 'Purg Pin Comparison',
534    type: TabPanePurgPinComparisonAbility,
535  },
536  'box-purgeable-total-comparison-vm': {
537    title: 'Purg Total Comparison',
538    type: TabPanePurgTotalComparisonVM,
539  },
540  'box-purgeable-pin-comparison-vm': {
541    title: 'Purg Pin Comparison',
542    type: TabPanePurgPinComparisonVM,
543  },
544  'box-dma-ability': {
545    title: 'DMA',
546    type: TabPaneDmaAbility,
547    require: (param: SelectionParam) => param.dmaAbilityData.length > 0,
548  },
549  'box-dma-selection-ability': {
550    title: 'DMA Selection',
551    type: TabPaneDmaSelectAbility,
552  }, //DMA Ability click
553  'box-gpu-memory-ability': {
554    title: 'Gpu Memory',
555    type: TabPaneGpuMemoryAbility,
556    require: (param: SelectionParam) => param.gpuMemoryAbilityData.length > 0,
557  },
558  'box-smaps-dma': {
559    title: 'DMA',
560    type: TabPaneDmaVmTracker,
561    require: (param: SelectionParam) => param.dmaVmTrackerData.length > 0,
562  },
563  'box-smaps-gpu-memory': {
564    title: 'Gpu Memory',
565    type: TabPaneGpuMemoryVmTracker,
566    require: (param: SelectionParam) => param.gpuMemoryTrackerData.length > 0,
567  },
568  'box-smaps-gpu-resource': {
569    title: 'Gpu Resource',
570    type: TabPaneGpuResourceVmTracker,
571  },
572  'box-dma-selection-vmTracker': {
573    title: 'DMA Selection',
574    type: TabPaneDmaSelectVmTracker,
575  }, //DMA VmTracker click
576  'box-gpu-memory-selection-ability': {
577    title: 'Gpu Memory Selection',
578    type: TabPaneGpuMemorySelectAbility,
579  }, // Gpu Memory ability click
580  'box-gpu-memory-selection-vmTracker': {
581    title: 'Gpu Memory Selection',
582    type: TabPaneGpuMemorySelectVmTracker,
583  }, //Gpu Memory DMA VmTracker click
584  'box-dma-ability-comparison': {
585    title: 'DMA Comparison',
586    type: TabPaneDmaAbilityComparison,
587  }, // dma Comparison ability click
588  'box-gpu-memory-comparison': {
589    title: 'Gpu Memory Comparison',
590    type: TabPaneGpuMemoryComparison,
591  }, // Gpu Memory Comparison click
592  'box-vmTracker-comparison': {
593    title: 'DMA Comparison',
594    type: TabPaneDmaVmTrackerComparison,
595  }, // DMA Comparison click
596  'box-gpu-memory-vmTracker-comparison': {
597    title: 'Gpu Memory Comparison',
598    type: TabPaneGpuMemoryVmTrackerComparison,
599  }, // DMA Comparison click
600  'box-vmtracker-shm-comparison': {
601    title: 'SHM Comparison',
602    type: TabPaneVmTrackerShmComparison,
603  },
604  'gpu-click-select-comparison': {
605    title: 'Gpu Dump Comparison',
606    type: TabPaneGpuClickSelectComparison,
607  },
608  'box-hilogs': {
609    title: 'Hilogs',
610    type: TabPaneHiLogs,
611    require: (param: SelectionParam) => param.hiLogs.length > 0,
612  },
613  'box-hilogs-summary': {
614    title: 'Summary',
615    type: TabPaneHiLogSummary,
616    require: (param: SelectionParam) => param.hiLogs.length > 0,
617  },
618  'box-sched-priority': {
619    title: 'Sched Priority',
620    type: TabPaneSchedPriority,
621    require: (param: SelectionParam) => param.cpus.length > 0,
622  },
623  'box-flag': {
624    title: 'Flags Selection',
625    type: TabPaneFlag,
626  },
627  'tabpane-current': {
628    title: 'M Selection',
629    type: TabPaneCurrent,
630    require: (param: SelectionParam) => param.isCurrentPane,
631  }, //current selection
632  'tabpane-frequsage': {
633    title: 'Freq Usage',
634    type: TabPaneFreqUsage,
635    require: (param: SelectionParam) => param.threadIds.length > 0,
636  },
637  'tab-hisysevents': {
638    title: 'HiSysevents',
639    type: TabPaneHisysEvents,
640    require: (param: SelectionParam) => param.hiSysEvents.length > 0,
641  },
642  'tab-hisysevents-summary': {
643    title: 'Statistics',
644    type: TabPaneHiSysEventSummary,
645    require: (param: SelectionParam) => param.hiSysEvents.length > 0,
646  },
647};
648