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