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 { TabPanePerfSampleChild } from '../sheet/hiperf/TabPerfSampleChild'; 34import { TabPanePerfSample } from '../sheet/hiperf/TabPerfSampleList'; 35import { TabPaneLiveProcesses } from '../sheet/ability/TabPaneLiveProcesses'; 36import { TabPaneHistoryProcesses } from '../sheet/ability/TabPaneHistoryProcesses'; 37import { TabPaneCpuAbility } from '../sheet/ability/TabPaneCpuAbility'; 38import { TabPaneMemoryAbility } from '../sheet/ability/TabPaneMemoryAbility'; 39import { TabPaneDiskAbility } from '../sheet/ability/TabPaneDiskAbility'; 40import { TabPaneNetworkAbility } from '../sheet/ability/TabPaneNetworkAbility'; 41import { TabPaneFileStatistics } from '../sheet/file-system/TabPaneFilesystemStatistics'; 42import { TabpaneFilesystemCalltree } from '../sheet/file-system/TabPaneFileSystemCalltree'; 43import { TabPaneFileSystemEvents } from '../sheet/file-system/TabPaneFileSystemEvents'; 44import { TabPaneFileSystemDescHistory } from '../sheet/file-system/TabPaneFileSystemDescHistory'; 45import { TabPaneFileSystemDescTimeSlice } from '../sheet/file-system/TabPaneFileSystemDescTimeSlice'; 46import { TabPaneSdkSlice } from '../sheet/sdk/TabPaneSdkSlice'; 47import { TabPaneSdkCounter } from '../sheet/sdk/TabPaneSdkCounter'; 48import { TabPaneCounterSample } from '../sheet/cpu/TabPaneCounterSample'; 49import { TabPaneThreadStates } from '../sheet/process/TabPaneThreadStates'; 50import { TabPaneThreadUsage } from '../sheet/process/TabPaneThreadUsage'; 51import { TabPaneFrequencySample } from '../sheet/cpu/TabPaneFrequencySample'; 52import { TabPaneEnergyAnomaly } from '../sheet/energy/TabPaneEnergyAnomaly'; 53import { TabPaneSystemDetails } from '../sheet/energy/TabPaneSystemDetails'; 54import { TabPanePowerDetails } from '../sheet/energy/TabPanePowerDetails'; 55import { TabPanePowerBattery } from '../sheet/energy/TabPanePowerBattery'; 56import { TabPaneCpuStateClick } from '../sheet/cpu/TabPaneCpuStateClick'; 57import { TabPaneVirtualMemoryStatistics } from '../sheet/file-system/TabPaneVirtualMemoryStatistics'; 58import { TabPaneIOTierStatistics } from '../sheet/file-system/TabPaneIOTierStatistics'; 59import { TabPaneIOCallTree, TabPaneVMCallTree } from '../sheet/file-system/TabPaneIOCallTree'; 60import { TabPaneIoCompletionTimes } from '../sheet/file-system/TabPaneIoCompletionTimes'; 61import { TabPaneVirtualMemoryEvents } from '../sheet/file-system/TabPaneVMEvents'; 62import { TabPaneSmapsStatistics } from '../sheet/smaps/TabPaneSmapsStatistics'; 63import { TabPaneSmapsSample } from '../sheet/smaps/TabPaneSmapsSample'; 64import { TabPaneFreqLimit } from '../sheet/freq/TabPaneFreqLimit'; 65import { TabPaneCpuFreqLimits } from '../sheet/freq/TabPaneCpuFreqLimits'; 66import { TabpaneNMCalltree } from '../sheet/native-memory/TabPaneNMCallTree'; 67import { TabPaneClockCounter } from '../sheet/clock/TabPaneClockCounter'; 68import { TabPaneXpowerCounter } from '../sheet/xpower/TabPaneXpowerCounter'; 69import { TabPaneXpowerComponentTop } from '../sheet/xpower/TabPaneXpowerComponentTop'; 70import { TabPaneXpowerComponentAudio } from '../sheet/xpower/TabPaneXpowerComponentAudio'; 71import { TabPaneXpowerComponentDisplay } from '../sheet/xpower/TabPaneXpowerComponentDisplay'; 72import { TabPaneXpowerComponentCamera } from '../sheet/xpower/TabPaneXpowerComponentCamera'; 73import { TabPaneXpowerComponentCpu } from '../sheet/xpower/TabPaneXpowerComponentCpu'; 74import { TabPaneXpowerStatistic } from '../sheet/xpower/TabPaneXpowerStatistic'; 75import { TabPaneXpowerWifiBytes } from '../sheet/xpower/TabPaneXpowerWifiBytes'; 76import { TabPaneXpowerWifiPackets } from '../sheet/xpower/TabPaneXpowerWifiPackets'; 77import { TabPaneXpowerDisplay } from '../sheet/xpower/TabPaneXpowerAppDetailDisplay'; 78import { TabPaneXpowerStatisticCurrentData } from '../sheet/xpower/TabPaneXpowerStatisticCurrentData'; 79import { TabPaneXpowerThreadEnergy } from '../sheet/xpower/TabPaneXpowerThreadEnergy'; 80import { TabPaneXpowerThreadLoad } from '../sheet/xpower/TabPaneXpowerThreadLoad'; 81import { TabPaneXpowerThreadInfoSelection } from '../sheet/xpower/TabPaneXpowerThreadInfoSelection'; 82import { TabPaneXpowerGpuFreq } from '../sheet/xpower/TabPaneXpowerGpuFreq'; 83import { TabPaneXpowerGpuFreqSelection } from '../sheet/xpower/TabPaneXpowerGpuFreqSelection'; 84import { TabPaneHang } from '../sheet/hang/TabPaneHang'; 85import { TabPaneHangSummary } from '../sheet/hang/TabPaneHangSummary'; 86import { TabPaneIrqCounter } from '../sheet/irq/TabPaneIrqCounter'; 87import { TabPaneFrames } from '../sheet/jank/TabPaneFrames'; 88import { TabPanePerfAnalysis } from '../sheet/hiperf/TabPanePerfAnalysis'; 89import { TabPaneNMStatisticAnalysis } from '../sheet/native-memory/TabPaneNMStatisticAnalysis'; 90import { TabPaneFilesystemStatisticsAnalysis } from '../sheet/file-system/TabPaneFilesystemStatisticsAnalysis'; 91import { TabPaneIOTierStatisticsAnalysis } from '../sheet/file-system/TabPaneIOTierStatisticsAnalysis'; 92import { TabPaneVirtualMemoryStatisticsAnalysis } from '../sheet/file-system/TabPaneVirtualMemoryStatisticsAnalysis'; 93import { TabPaneCurrent } from '../sheet/TabPaneCurrent'; 94import { TabPaneStartup } from '../sheet/process/TabPaneStartup'; 95import { TabPaneSysCall } from '../sheet/process/TabPaneSysCall'; 96import { TabPaneStaticInit } from '../sheet/process/TabPaneStaticInit'; 97import { TabPaneTaskFrames } from '../sheet/task/TabPaneTaskFrames'; 98import { TabPaneFrameDynamic } from '../sheet/frame/TabPaneFrameDynamic'; 99import { TabFrameSpacing } from '../sheet/frame/TabFrameSpacing'; 100import { TabPaneSummary } from '../sheet/ark-ts/TabPaneSummary'; 101import { TabPaneComparison } from '../sheet/ark-ts/TabPaneComparison'; 102import { TabPaneJsCpuTopDown } from '../sheet/ark-ts/TabPaneJsCpuCallTree'; 103import { TabPaneJsCpuBottomUp } from '../sheet/ark-ts/TabPaneJsCpuBottomUp'; 104import { TabPaneJsCpuStatistics } from '../sheet/ark-ts/TabPaneJsCpuStatistics'; 105import { TabPaneGpuClickSelect } from '../sheet/gpu/TabPaneGpuClickSelect'; 106import { TabPaneGpuTotalBoxSelect } from '../sheet/gpu/TabPaneGpuTotalBoxSelect'; 107import { TabPaneGpuWindowBoxSelect } from '../sheet/gpu/TabPaneGpuWindowBoxSelect'; 108import { TabPaneGpuGL } from '../sheet/gpu/TabPaneGpuGL'; 109import { TabPanePurgTotal } from '../sheet/ability/TabPanePurgTotal'; 110import { TabPanePurgTotalSelection } from '../sheet/ability/TabPanePurgTotalSelection'; 111import { TabPanePurgPin } from '../sheet/ability/TabPanePurgPin'; 112import { TabPanePurgPinSelection } from '../sheet/ability/TabPanePurgPinSelection'; 113import { TabPaneVmTrackerShmSelection } from '../sheet/vmtracker/TabPaneVmTrackerShmSelection'; 114import { TabPaneVmTrackerShm } from '../sheet/vmtracker/TabPaneVmTrackerShm'; 115import { TabPaneDmaAbility } from '../sheet/ability/TabPaneDmaAbility'; 116import { TabPaneDmaSelectAbility } from '../sheet/ability/TabPaneDmaSelectAbility'; 117import { TabPaneGpuMemoryAbility } from '../sheet/ability/TabPaneGpuMemoryAbility'; 118import { TabPaneDmaVmTracker } from '../sheet/vmtracker/TabPaneDmaVmTracker'; 119import { TabPaneGpuMemoryVmTracker } from '../sheet/vmtracker/TabPaneGpuMemoryVmTracker'; 120import { TabPaneGpuMemorySelectAbility } from '../sheet/ability/TabPaneGpuMemorySelectAbility'; 121import { TabPaneGpuMemorySelectVmTracker } from '../sheet/vmtracker/TabPaneGpuMemorySelectVmTracker'; 122import { TabPaneDmaSelectVmTracker } from '../sheet/vmtracker/TabPaneDmaSelectVmTracker'; 123import { TabpanePerfBottomUp } from '../sheet/hiperf/TabPerfBottomUp'; 124import { TabPanePurgTotalComparisonAbility } from '../sheet/ability/TabPanePurgTotalComparisonAbility'; 125import { TabPanePurgPinComparisonAbility } from '../sheet/ability/TabPanePurgPinComparisonAbility'; 126import { TabPanePurgTotalComparisonVM } from '../sheet/vmtracker/TabPanePurgTotalComparisonVM'; 127import { TabPanePurgPinComparisonVM } from '../sheet/vmtracker/TabPanePurgPinComparisonVM'; 128import { TabPaneDmaAbilityComparison } from '../sheet/ability/TabPaneDmaAbilityComparison'; 129import { TabPaneGpuMemoryComparison } from '../sheet/ability/TabPaneGpuMemoryComparison'; 130import { TabPaneDmaVmTrackerComparison } from '../sheet/vmtracker/TabPaneDmaVmTrackerComparison'; 131import { TabPaneGpuMemoryVmTrackerComparison } from '../sheet/vmtracker/TabPaneGpuMemoryVmTrackerComparison'; 132import { TabPaneVmTrackerShmComparison } from '../sheet/vmtracker/TabPaneVmTrackerShmComparison'; 133import { TabPaneSmapsComparison } from '../sheet/smaps/TabPaneSmapsComparison'; 134import { TabPaneSmapsRecord } from '../sheet/smaps/TabPaneSmapsRecord'; 135import { TabPaneGpuClickSelectComparison } from '../sheet/gpu/TabPaneGpuClickSelectComparison'; 136import { TabPaneHiLogs } from '../sheet/hilog/TabPaneHiLogs'; 137import { TabPaneHiLogSummary } from '../sheet/hilog/TabPaneHiLogSummary'; 138import { TabPaneSchedPriority } from '../sheet/cpu/TabPaneSchedPriority'; 139import { TabPaneGpuResourceVmTracker } from '../sheet/vmtracker/TabPaneGpuResourceVmTracker'; 140import { TabPaneGpuGraph } from '../sheet/gpu/TabPaneGraph'; 141import { TabPaneFreqUsage } from '../sheet/frequsage/TabPaneFreqUsage'; 142import { TabPaneHisysEvents } from '../sheet/hisysevent/TabPaneHisysEvents'; 143import { TabPaneHiSysEventSummary } from '../sheet/hisysevent/TabPaneHiSysEventSummary'; 144import { TabPaneBinders } from '../sheet/binder/TabPaneBinders'; 145import { TabPaneGpufreq } from '../sheet/gpufreq/TabPaneGpufreqUsage'; 146import { TabPaneSampleInstruction } from '../sheet/bpftrace/TabPaneSampleInstruction'; 147import { TabPaneDataCut } from '../sheet/TabPaneDataCut'; 148import { TabPaneGpuCounterSelection } from '../sheet/gpu-counter/TabPaneGpuCounterSelection'; 149import { TabPaneGpuCounter } from '../sheet/gpu-counter/TabPaneGpuCounter'; 150import { TabPaneTimeParallel } from '../sheet/parallel/TabPaneTimeParallel'; 151import { TabPaneMtParallel } from '../sheet/parallel/TabPaneMtParallel'; 152import { TabPanePerfAsync } from '../sheet/hiperf/TabPerfAsyncList'; 153import { TabPaneUserPlugin } from '../sheet/userPlugin/TabPaneUserPlugin'; 154import { TabPaneDmaFence } from '../sheet/dma-fence/TabPaneDmaFenceSelect'; 155import { TabPaneSliceChild } from '../sheet/process/TabPaneSliceChild'; 156import { TabPaneSysCallChild } from '../sheet/process/TabPaneSysCallChild'; 157import { TabPerfFuncAsm } from '../sheet/hiperf/TabPerfFuncAsm'; 158 159export let tabConfig: { 160 [key: string]: { 161 title: string 162 type: unknown 163 require?: (param: SelectionParam) => boolean 164 } 165} = { 166 'current-selection': { 167 title: 'Current Selection', 168 type: TabPaneCurrentSelection, 169 }, //cpu data click 170 'cpu-state-click': { 171 title: 'Cpu State', 172 type: TabPaneCpuStateClick, 173 }, 174 'box-freq': { 175 title: 'Frequency', 176 type: TabPaneFreq, 177 }, //freq data click 178 'box-freq-limit': { 179 title: 'Frequency Limits', 180 type: TabPaneFreqLimit, 181 }, 182 'box-cpu-freq-limit': { 183 title: 'Cpu Frequency Limits', 184 type: TabPaneCpuFreqLimits, 185 require: (param: SelectionParam) => param.cpuFreqLimit.length > 0, 186 }, 187 'box-cpu-thread': { 188 title: 'CPU by thread', 189 type: TabPaneCpuByThread, 190 require: (param: SelectionParam) => param.cpus.length > 0, 191 }, //range select 192 'box-cpu-process': { 193 title: 'CPU by process', 194 type: TabPaneCpuByProcess, 195 require: (param: SelectionParam) => param.cpus.length > 0, 196 }, 197 'box-cpu-usage': { 198 title: 'CPU Usage', 199 type: TabPaneCpuUsage, 200 require: (param: SelectionParam) => param.cpus.length > 0, 201 }, 202 'box-spt': { 203 title: 'Thread Switches', 204 type: TabPaneSPT, 205 require: (param: SelectionParam) => param.cpus.length > 0, 206 }, 207 'box-pts': { 208 title: 'Thread States', 209 type: TabPanePTS, 210 require: (param: SelectionParam) => param.cpus.length > 0, 211 }, 212 'box-thread-states': { 213 title: 'Thread by State', 214 type: TabPaneThreadStates, 215 require: (param: SelectionParam) => param.threadIds.length > 0, 216 }, 217 'box-process-startup': { 218 title: 'App Startups', 219 type: TabPaneStartup, 220 require: (param: SelectionParam) => param.processIds.length > 0 && param.startup, 221 }, 222 'box-thread-syscall': { 223 title: 'SysCall Event', 224 type: TabPaneSysCall, 225 require: (param: SelectionParam) => param.processSysCallIds.length > 0 || param.threadSysCallIds.length > 0, 226 }, 227 'box-thread-syscall-child': { 228 title: '', 229 type: TabPaneSysCallChild, 230 }, 231 'box-process-static-init': { 232 title: 'Static Initialization', 233 type: TabPaneStaticInit, 234 require: (param: SelectionParam) => param.processIds.length > 0 && param.staticInit, 235 }, 236 'box-thread-usage': { 237 title: 'Thread Usage', 238 type: TabPaneThreadUsage, 239 require: (param: SelectionParam) => param.threadIds.length > 0, 240 }, 241 'box-slices': { 242 title: 'Slices', 243 type: TabPaneSlices, 244 require: (param: SelectionParam) => param.funTids.length > 0 || param.funAsync.length > 0 || param.funCatAsync.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 || param.threadIds.length > 0, 260 }, 261 'box-perf-sample': { 262 title: 'Sample List', 263 type: TabPanePerfSample, 264 require: (param: SelectionParam) => param.perfSampleIds.length > 0, 265 }, 266 'box-perf-sample-child': { 267 title: '', 268 type: TabPanePerfSampleChild 269 }, 270 'box-perf-async': { 271 title: 'Async Call Profile', 272 type: TabPanePerfAsync, 273 require: (param: SelectionParam) => param.perfSampleIds.length > 0, 274 }, 275 'box-counters': { 276 title: 'Counters', 277 type: TabPaneCounter, 278 require: (param: SelectionParam) => param.processTrackIds.length > 0 || param.virtualTrackIds.length > 0, 279 }, 280 'box-clock-counters': { 281 title: 'Clock Counters', 282 type: TabPaneClockCounter, 283 require: (param: SelectionParam) => param.clockMapData.size > 0, 284 }, 285 'box-xpower-counters': { 286 title: 'Xpower Counters', 287 type: TabPaneXpowerCounter, 288 require: (param: SelectionParam) => param.xpowerMapData.size > 0, 289 }, 290 'box-xpower-component-top': { 291 title: 'Xpower Component Top', 292 type: TabPaneXpowerComponentTop, 293 require: (param: SelectionParam) => param.xpowerComponentTopMapData.size > 0, 294 }, 295 'box-xpower-statistic': { 296 title: 'Xpower Statistic', 297 type: TabPaneXpowerStatistic, 298 require: (param: SelectionParam) => param.xpowerStatisticMapData.size > 0, 299 }, 300 'box-xpower-display': { 301 title: 'Xpower Display Detail', 302 type: TabPaneXpowerDisplay, 303 require: (param: SelectionParam) => param.xpowerDisplayMapData.size > 0, 304 }, 305 'box-xpower-wifiPackets': { 306 title: 'Xpower WifiPackets', 307 type: TabPaneXpowerWifiPackets, 308 require: (param: SelectionParam) => param.xpowerWifiPacketsMapData.size > 0, 309 }, 310 'box-xpower-wifiBytes': { 311 title: 'Xpower WifiBytes', 312 type: TabPaneXpowerWifiBytes, 313 require: (param: SelectionParam) => param.xpowerWifiBytesMapData.size > 0, 314 }, 315 'box-xpower-statistic-current-data': { 316 title: 'Xpower Statistic Current Data', 317 type: TabPaneXpowerStatisticCurrentData, 318 }, 319 'box-xpower-thread-energy': { 320 title: 'Xpower Thread energy', 321 type: TabPaneXpowerThreadEnergy, 322 require: (param: SelectionParam) => param.xpowerThreadEnergyMapData.size > 0, 323 }, 324 'box-xpower-thread-load': { 325 title: 'Xpower Thread Load', 326 type: TabPaneXpowerThreadLoad, 327 require: (param: SelectionParam) => param.xpowerThreadLoadMapData.size > 0, 328 }, 329 'box-xpower-gpu-freq': { 330 title: 'Xpower Gpu Frequency', 331 type: TabPaneXpowerGpuFreq, 332 require: (param: SelectionParam) => param.xpowerGpuFreqMapData.size > 0, 333 }, 334 'box-hang': { 335 title: 'Hangs', 336 type: TabPaneHang, 337 require: (param: SelectionParam) => param.hangMapData.size > 0, 338 }, 339 'box-hang-summary': { 340 title: 'Hang Summary', 341 type: TabPaneHangSummary, 342 require: (param: SelectionParam) => param.hangMapData.size > 0, 343 }, 344 'box-irq-counters': { 345 title: 'Irq Counters', 346 type: TabPaneIrqCounter, 347 require: (param: SelectionParam) => param.irqCallIds.length > 0 || param.softIrqCallIds.length > 0, 348 }, 349 'box-fps': { 350 title: 'FPS', 351 type: TabPaneFps, 352 require: (param: SelectionParam) => param.hasFps, 353 }, 354 'box-cpu-child': { 355 title: '', 356 type: TabPaneBoxChild, 357 }, 358 'box-native-statstics': { 359 title: 'Statistics', 360 type: TabPaneNMStatstics, 361 require: (param: SelectionParam) => param.nativeMemory.length > 0, 362 }, 363 'box-native-statistic-analysis': { 364 title: 'Analysis', 365 type: TabPaneNMStatisticAnalysis, 366 require: (param: SelectionParam) => param.nativeMemory.length > 0 || param.nativeMemoryStatistic.length > 0, 367 }, 368 'box-native-calltree': { 369 title: 'Call Info', 370 type: TabpaneNMCalltree, 371 require: (param: SelectionParam) => param.nativeMemory.length > 0 || param.nativeMemoryStatistic.length > 0, 372 }, 373 'box-native-memory': { 374 title: 'Native Memory', 375 type: TabPaneNMemory, 376 require: (param: SelectionParam) => param.nativeMemory.length > 0, 377 }, 378 'box-native-sample': { 379 title: 'Snapshot List', 380 type: TabPaneNMSampleList, 381 require: (param: SelectionParam) => param.nativeMemory.length > 0, 382 }, 383 384 'box-live-processes-child': { 385 title: 'Live Processes', 386 type: TabPaneLiveProcesses, 387 require: (param: SelectionParam) => 388 param.cpuAbilityIds.length > 0 || 389 (param.memoryAbilityIds.length > 0 && param.diskAbilityIds.length > 0) || 390 param.networkAbilityIds.length > 0, 391 }, 392 'box-history-processes-child': { 393 title: 'Processes History', 394 type: TabPaneHistoryProcesses, 395 require: (param: SelectionParam) => 396 param.cpuAbilityIds.length > 0 || 397 param.memoryAbilityIds.length > 0 || 398 param.diskAbilityIds.length > 0 || 399 param.networkAbilityIds.length > 0, 400 }, 401 'box-system-cpu-child': { 402 title: 'System CPU Summary', 403 type: TabPaneCpuAbility, 404 require: (param: SelectionParam) => param.cpuAbilityIds.length > 0, 405 }, 406 'box-system-memory-child': { 407 title: 'System Memory Summary', 408 type: TabPaneMemoryAbility, 409 require: (param: SelectionParam) => param.memoryAbilityIds.length > 0, 410 }, 411 'box-system-diskIo-child': { 412 title: 'System Disk Summary', 413 type: TabPaneDiskAbility, 414 require: (param: SelectionParam) => param.diskAbilityIds.length > 0, 415 }, 416 'box-system-network-child': { 417 title: 'System Network Summary', 418 type: TabPaneNetworkAbility, 419 require: (param: SelectionParam) => param.networkAbilityIds.length > 0, 420 }, 421 'box-sdk-slice-child': { 422 title: 'Sdk Slice', 423 type: TabPaneSdkSlice, 424 require: (param: SelectionParam) => param.sdkSliceIds.length > 0, 425 }, 426 'box-system-counter-child': { 427 title: 'SDK Counter', 428 type: TabPaneSdkCounter, 429 require: (param: SelectionParam) => param.sdkCounterIds.length > 0, 430 }, 431 'box-counter-sample': { 432 title: 'Cpu State', 433 type: TabPaneCounterSample, 434 require: (param: SelectionParam) => param.cpuStateFilterIds.length > 0, 435 }, 436 437 'box-frequency-sample': { 438 title: 'Cpu Frequency', 439 type: TabPaneFrequencySample, 440 require: (param: SelectionParam) => param.cpuFreqFilterIds.length > 0, 441 }, 442 'box-anomaly-details': { 443 title: 'Anomaly details', 444 type: TabPaneEnergyAnomaly, 445 require: (param: SelectionParam) => param.anomalyEnergy.length > 0, 446 }, 447 'box-system-details': { 448 title: 'System Details', 449 type: TabPaneSystemDetails, 450 require: (param: SelectionParam) => param.systemEnergy.length > 0, 451 }, 452 'box-power-battery': { 453 title: 'Power Battery', 454 type: TabPanePowerBattery, 455 require: (param: SelectionParam) => param.powerEnergy.length > 0, 456 }, 457 'box-power-details': { 458 title: 'Power Details', 459 type: TabPanePowerDetails, 460 require: (param: SelectionParam) => param.powerEnergy.length > 0, 461 }, 462 'box-file-system-statistics': { 463 title: 'Filesystem statistics', 464 type: TabPaneFileStatistics, 465 require: (param: SelectionParam) => param.fileSystemType.length > 0, 466 }, 467 'box-file-system-statistics-analysis': { 468 title: 'Analysis', 469 type: TabPaneFilesystemStatisticsAnalysis, 470 require: (param: SelectionParam) => param.fileSystemType.length > 0, 471 }, 472 'box-file-system-calltree': { 473 title: 'Filesystem Calltree', 474 type: TabpaneFilesystemCalltree, 475 require: (param: SelectionParam) => param.fileSystemType.length > 0 || param.fsCount > 0, 476 }, 477 'box-file-system-event': { 478 title: 'Filesystem Events', 479 type: TabPaneFileSystemEvents, 480 require: (param: SelectionParam) => param.fileSystemType.length > 0, 481 }, 482 'box-file-system-desc-history': { 483 title: 'File Descriptor History', 484 type: TabPaneFileSystemDescHistory, 485 require: (param: SelectionParam) => param.fileSystemType.length > 0, 486 }, 487 'box-file-system-desc-time-slice': { 488 title: 'File Descriptor Time Slice', 489 type: TabPaneFileSystemDescTimeSlice, 490 require: (param: SelectionParam) => param.fileSystemType.length > 0, 491 }, 492 'box-virtual-memory-statistics': { 493 title: 'Page Fault Statistics', 494 type: TabPaneVirtualMemoryStatistics, 495 require: (param: SelectionParam) => param.fileSysVirtualMemory, 496 }, 497 'box-virtual-memory-statistics-analysis': { 498 title: 'Analysis', 499 type: TabPaneVirtualMemoryStatisticsAnalysis, 500 require: (param: SelectionParam) => param.fileSysVirtualMemory, 501 }, 502 'box-vm-calltree': { 503 title: 'Page Fault CallTree', 504 type: TabPaneVMCallTree, 505 require: (param: SelectionParam) => param.fileSysVirtualMemory || param.vmCount > 0, 506 }, 507 'box-vm-events': { 508 title: 'Page Fault Events', 509 type: TabPaneVirtualMemoryEvents, 510 require: (param: SelectionParam) => param.fileSysVirtualMemory, 511 }, 512 'box-io-tier-statistics': { 513 title: 'Disk I/O Tier Statistics', 514 type: TabPaneIOTierStatistics, 515 require: (param: SelectionParam) => param.diskIOLatency, 516 }, 517 'box-io-tier-statistics-analysis': { 518 title: 'Analysis', 519 type: TabPaneIOTierStatisticsAnalysis, 520 require: (param: SelectionParam) => param.diskIOLatency, 521 }, 522 'box-io-calltree': { 523 title: 'Disk I/O Latency Calltree', 524 type: TabPaneIOCallTree, 525 require: (param: SelectionParam) => param.diskIOLatency || param.diskIOipids.length > 0, 526 }, 527 'box-io-events': { 528 title: 'Trace Completion Times', 529 type: TabPaneIoCompletionTimes, 530 require: (param: SelectionParam) => param.diskIOLatency, 531 }, 532 'box-smaps-statistics': { 533 title: 'Smaps Statistic', 534 type: TabPaneSmapsStatistics, 535 require: (param: SelectionParam) => param.smapsType.length > 0, 536 }, 537 'box-smaps-sample': { 538 title: 'Smaps sample', 539 type: TabPaneSmapsSample, 540 require: (param: SelectionParam) => param.smapsType.length > 0, 541 }, 542 'box-smaps-comparison': { 543 title: 'Smaps Comparison', 544 type: TabPaneSmapsComparison, 545 }, 546 'box-smaps-record': { 547 title: 'Native Heap', 548 type: TabPaneSmapsRecord, 549 }, 550 'box-vmtracker-shm': { 551 title: 'SHM', 552 type: TabPaneVmTrackerShm, 553 require: (param: SelectionParam) => param.vmtrackershm.length > 0, 554 }, 555 'box-vmtracker-shm-selection': { 556 title: 'SHM Selection', 557 type: TabPaneVmTrackerShmSelection, 558 }, 559 'box-frames': { 560 title: 'Frames', 561 type: TabPaneFrames, 562 require: (param: SelectionParam) => param.jankFramesData.length > 0, 563 }, 564 'box-heap-summary': { 565 title: 'Summary', 566 type: TabPaneSummary, 567 require: (param: SelectionParam) => param.jsMemory.length > 0, 568 }, 569 'box-heap-comparison': { 570 title: 'Comparison', 571 type: TabPaneComparison, 572 }, // snapshot data click 573 'box-task-frames': { 574 title: 'Frames', 575 type: TabPaneTaskFrames, 576 require: (param: SelectionParam) => param.taskFramesData.length > 0, 577 }, 578 'box-frame-dynamic': { 579 title: 'Frame Dynamic', 580 type: TabPaneFrameDynamic, 581 require: (param: SelectionParam) => param.frameDynamic.length > 0, 582 }, 583 'box-frames-spacing': { 584 title: 'Frame spacing', 585 type: TabFrameSpacing, 586 require: (param: SelectionParam) => param.frameSpacing.length > 0, 587 }, 588 'box-js-Profiler-statistics': { 589 title: 'Js Profiler Statistics', 590 type: TabPaneJsCpuStatistics, 591 require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0, 592 }, 593 'box-js-Profiler-bottom-up': { 594 title: 'Js Profiler BottomUp', 595 type: TabPaneJsCpuBottomUp, 596 require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0, 597 }, 598 'box-js-Profiler-top-down': { 599 title: 'Js Profiler CallTree', 600 type: TabPaneJsCpuTopDown, 601 require: (param: SelectionParam) => param.jsCpuProfilerData.length > 0, 602 }, 603 'gpu-click-select': { 604 title: 'Gpu Dump Selection', 605 type: TabPaneGpuClickSelect, 606 }, 607 'gpu-gl-box-select': { 608 title: 'GL', 609 type: TabPaneGpuGL, 610 require: (param: SelectionParam) => param.gpu.gl, 611 }, 612 'gpu-graph-box-select': { 613 title: 'Graph', 614 type: TabPaneGpuGraph, 615 require: (param: SelectionParam) => param.gpu.graph, 616 }, 617 'gpu-total-box-select': { 618 title: 'Gpu Total', 619 type: TabPaneGpuTotalBoxSelect, 620 require: (param: SelectionParam) => param.gpu.gpuTotal, 621 }, 622 'gpu-window-box-select': { 623 title: 'Gpu Window', 624 type: TabPaneGpuWindowBoxSelect, 625 require: (param: SelectionParam) => param.gpu.gpuWindow, 626 }, 627 'box-purgeable-total': { 628 title: 'Purg Total', 629 type: TabPanePurgTotal, 630 require: (param: SelectionParam) => param.purgeableTotalAbility.length > 0 || param.purgeableTotalVM.length > 0, 631 }, 632 'box-purgeable-total-selection': { 633 title: 'Purg Total Selection', 634 type: TabPanePurgTotalSelection, 635 }, 636 'box-purgeable-pin': { 637 title: 'Purg Pin', 638 type: TabPanePurgPin, 639 require: (param: SelectionParam) => param.purgeablePinAbility.length > 0 || param.purgeablePinVM.length > 0, 640 }, 641 'box-purgeable-pin-selection': { 642 title: 'Purg Pin Selection', 643 type: TabPanePurgPinSelection, 644 }, 645 'box-purgeable-total-comparison-ability': { 646 title: 'Purg Total Comparison', 647 type: TabPanePurgTotalComparisonAbility, 648 }, 649 'box-purgeable-pin-comparison-ability': { 650 title: 'Purg Pin Comparison', 651 type: TabPanePurgPinComparisonAbility, 652 }, 653 'box-purgeable-total-comparison-vm': { 654 title: 'Purg Total Comparison', 655 type: TabPanePurgTotalComparisonVM, 656 }, 657 'box-purgeable-pin-comparison-vm': { 658 title: 'Purg Pin Comparison', 659 type: TabPanePurgPinComparisonVM, 660 }, 661 'box-dma-ability': { 662 title: 'DMA', 663 type: TabPaneDmaAbility, 664 require: (param: SelectionParam) => param.dmaAbilityData.length > 0, 665 }, 666 'box-dma-selection-ability': { 667 title: 'DMA Selection', 668 type: TabPaneDmaSelectAbility, 669 }, //DMA Ability click 670 'box-gpu-memory-ability': { 671 title: 'Gpu Memory', 672 type: TabPaneGpuMemoryAbility, 673 require: (param: SelectionParam) => param.gpuMemoryAbilityData.length > 0, 674 }, 675 'box-smaps-dma': { 676 title: 'DMA', 677 type: TabPaneDmaVmTracker, 678 require: (param: SelectionParam) => param.dmaVmTrackerData.length > 0, 679 }, 680 'box-smaps-gpu-memory': { 681 title: 'Gpu Memory', 682 type: TabPaneGpuMemoryVmTracker, 683 require: (param: SelectionParam) => param.gpuMemoryTrackerData.length > 0, 684 }, 685 'box-smaps-gpu-resource': { 686 title: 'Gpu Resource', 687 type: TabPaneGpuResourceVmTracker, 688 }, 689 'box-dma-selection-vmTracker': { 690 title: 'DMA Selection', 691 type: TabPaneDmaSelectVmTracker, 692 }, //DMA VmTracker click 693 'box-gpu-memory-selection-ability': { 694 title: 'Gpu Memory Selection', 695 type: TabPaneGpuMemorySelectAbility, 696 }, // Gpu Memory ability click 697 'box-gpu-memory-selection-vmTracker': { 698 title: 'Gpu Memory Selection', 699 type: TabPaneGpuMemorySelectVmTracker, 700 }, //Gpu Memory DMA VmTracker click 701 'box-dma-ability-comparison': { 702 title: 'DMA Comparison', 703 type: TabPaneDmaAbilityComparison, 704 }, // dma Comparison ability click 705 'box-gpu-memory-comparison': { 706 title: 'Gpu Memory Comparison', 707 type: TabPaneGpuMemoryComparison, 708 }, // Gpu Memory Comparison click 709 'box-vmTracker-comparison': { 710 title: 'DMA Comparison', 711 type: TabPaneDmaVmTrackerComparison, 712 }, // DMA Comparison click 713 'box-gpu-memory-vmTracker-comparison': { 714 title: 'Gpu Memory Comparison', 715 type: TabPaneGpuMemoryVmTrackerComparison, 716 }, // DMA Comparison click 717 'box-vmtracker-shm-comparison': { 718 title: 'SHM Comparison', 719 type: TabPaneVmTrackerShmComparison, 720 }, 721 'gpu-click-select-comparison': { 722 title: 'Gpu Dump Comparison', 723 type: TabPaneGpuClickSelectComparison, 724 }, 725 'box-hilogs': { 726 title: 'Hilogs', 727 type: TabPaneHiLogs, 728 require: (param: SelectionParam) => param.hiLogs.length > 0, 729 }, 730 'box-hilogs-summary': { 731 title: 'Summary', 732 type: TabPaneHiLogSummary, 733 require: (param: SelectionParam) => param.hiLogs.length > 0, 734 }, 735 'box-sched-priority': { 736 title: 'Sched Priority', 737 type: TabPaneSchedPriority, 738 require: (param: SelectionParam) => param.cpus.length > 0, 739 }, 740 'box-flag': { 741 title: 'Flags Selection', 742 type: TabPaneFlag, 743 }, 744 'tabpane-current': { 745 title: 'M Selection', 746 type: TabPaneCurrent, 747 require: (param: SelectionParam) => param.isCurrentPane, 748 }, //current selection 749 'tabpane-frequsage': { 750 title: 'Freq Usage', 751 type: TabPaneFreqUsage, 752 require: (param: SelectionParam) => param.threadIds.length > 0, 753 }, 754 'tab-hisysevents': { 755 title: 'HiSysevents', 756 type: TabPaneHisysEvents, 757 require: (param: SelectionParam) => param.hiSysEvents.length > 0, 758 }, 759 'tab-hisysevents-summary': { 760 title: 'Statistics', 761 type: TabPaneHiSysEventSummary, 762 require: (param: SelectionParam) => param.hiSysEvents.length > 0, 763 }, 764 'tabpane-gpufreq': { 765 title: 'Gpufreq Usage', 766 type: TabPaneGpufreq, 767 require: (param: SelectionParam) => param.clockMapData.size === 1 && param.clockMapData.has('gpufreq Frequency') === true, 768 }, 769 'tabpane-datacut': { 770 title: 'Data Cut', 771 type: TabPaneDataCut, 772 require: (param: SelectionParam) => param.threadIds.length > 0 || 773 (param.clockMapData.size > 0 && param.clockMapData.has('gpufreq Frequency') === true), 774 }, 775 'box-sample-instruction': { 776 title: 'Data Flow', 777 type: TabPaneSampleInstruction, 778 }, 779 'box-gpu-counter-selection': { 780 title: 'Gpu Counter', 781 type: TabPaneGpuCounterSelection, 782 require: (param: SelectionParam) => param.gpuCounter.length > 0, 783 }, 784 'box-gpu-counter': { 785 title: 'Gpu Counter', 786 type: TabPaneGpuCounter, 787 }, 788 'tabpane-time-parallel': { 789 title: 'Time Parallel', 790 type: TabPaneTimeParallel, 791 require: (param: SelectionParam) => param.threadIds.length > 0, 792 }, 793 'tabpane-mt-parallel': { 794 title: 'MT Parallel', 795 type: TabPaneMtParallel, 796 require: (param: SelectionParam) => param.threadIds.length > 0, 797 }, 798 'tab-pane-userplugin': { 799 title: 'User Plugin', 800 type: TabPaneUserPlugin, 801 }, 802 'tabpane-dmafrence': { 803 title: 'Dma Frence', 804 type: TabPaneDmaFence, 805 require: (param: SelectionParam) => param.dmaFenceNameData.length > 0, 806 }, 807 'box-slice-child': { 808 title: '', 809 type: TabPaneSliceChild, 810 }, 811 'tab-perf-func-asm': { 812 title: '', 813 type: TabPerfFuncAsm, 814 }, 815 'box-xpower-thread-info-selection': { 816 title: 'Thread Info Selection', 817 type: TabPaneXpowerThreadInfoSelection, 818 }, //xpower thread info click 819 'box-xpower-gpu-freq-selection': { 820 title: 'Gpu Freq Selection', 821 type: TabPaneXpowerGpuFreqSelection, 822 }, //xpower gpu freq click 823}; 824