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 { CpuFreqLimitsStruct } from '../database/ui-worker/ProcedureWorkerCpuFreqLimits.js'; 17import { ClockStruct } from '../database/ui-worker/ProcedureWorkerClock.js'; 18import { IrqStruct } from '../database/ui-worker/ProcedureWorkerIrq.js'; 19import { FuncStruct } from '../database/ui-worker/ProcedureWorkerFunc.js'; 20 21export class SelectionParam { 22 recordStartNs: number = 0; 23 leftNs: number = 0; 24 rightNs: number = 0; 25 hasFps: boolean = false; 26 statisticsSelectData: any = undefined; 27 fileSystemVMData: any = undefined; 28 fileSystemIoData: any = undefined; 29 fileSystemFsData: any = undefined; 30 perfAll: boolean = false; 31 fileSysVirtualMemory: boolean = false; 32 diskIOLatency: boolean = false; 33 fsCount: number = 0; 34 vmCount: number = 0; 35 isCurrentPane: boolean = false; 36 startup: boolean = false; 37 staticInit: boolean = false; 38 39 cpus: Array<number> = []; 40 cpuStateFilterIds: Array<number> = []; 41 cpuFreqFilterIds: Array<number> = []; 42 cpuFreqLimitDatas: Array<Array<CpuFreqLimitsStruct>> = []; 43 threadIds: Array<number> = []; 44 processIds: Array<number> = []; 45 processTrackIds: Array<number> = []; 46 virtualTrackIds: Array<number> = []; 47 clockMapData: Map<string, Array<ClockStruct>> = new Map<string, Array<ClockStruct>>(); 48 irqMapData: Map<string, Array<IrqStruct>> = new Map<string, Array<IrqStruct>>(); 49 funTids: Array<number> = []; 50 funAsync: Array<{ name: string; pid: number }> = []; 51 nativeMemory: Array<String> = []; 52 nativeMemoryStatistic: Array<String> = []; 53 cpuAbilityIds: Array<string> = []; 54 memoryAbilityIds: Array<string> = []; 55 diskAbilityIds: Array<string> = []; 56 networkAbilityIds: Array<string> = []; 57 perfSampleIds: Array<number> = []; 58 perfCpus: Array<number> = []; 59 perfProcess: Array<number> = []; 60 perfThread: Array<number> = []; 61 fileSystemType: Array<number> = []; 62 sdkCounterIds: Array<string> = []; 63 sdkSliceIds: Array<string> = []; 64 diskIOipids: Array<number> = []; 65 diskIOReadIds: Array<number> = []; 66 diskIOWriteIds: Array<number> = []; 67 systemEnergy: Array<string> = []; 68 powerEnergy: Array<string> = []; 69 anomalyEnergy: Array<string> = []; 70 smapsType: Array<string> = []; 71 promiseList: Array<Promise<any>> = []; 72 jankFramesData: Array<any> = []; 73 jsMemory: Array<any> = []; 74 taskFramesData: Array<Array<FuncStruct>> = []; 75} 76 77export class BoxJumpParam { 78 leftNs: number = 0; 79 rightNs: number = 0; 80 state: string = ''; 81 processId: number = 0; 82 threadId: number = 0; 83} 84 85export class SelectionData { 86 name: string = ''; 87 process: string = ''; 88 pid: string = ''; 89 thread: string = ''; 90 tid: string = ''; 91 wallDuration: number = 0; 92 wallDurationFormat: string = ''; 93 avgDuration: string = ''; 94 occurrences: number = 0; 95 state: string = ''; 96 trackId: number = 0; 97 delta: string = ''; 98 rate: string = ''; 99 avgWeight: string = ''; 100 count: string = ''; 101 first: string = ''; 102 last: string = ''; 103 min: string = ''; 104 max: string = ''; 105 stateJX: string = ''; 106 cpu: number = 0; 107} 108 109export class Counter { 110 id: number = 0; 111 trackId: number = 0; 112 name: string = ''; 113 value: number = 0; 114 startTime: number = 0; 115} 116 117export class Fps { 118 startNS: number = 0; 119 timeStr: string = ''; 120 fps: number = 0; 121} 122