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"; 17 18export class SelectionParam { 19 recordStartNs:number = 0 20 leftNs: number = 0; 21 rightNs: number = 0; 22 hasFps: boolean = false; 23 statisticsSelectData: any = undefined 24 fileSystemVMData: any = undefined 25 perfAll: boolean = false; 26 fileSysVirtualMemory: boolean = false; 27 diskIOLatency:boolean = false; 28 29 cpus: Array<number> = []; 30 cpuStateFilterIds: Array<number> = []; 31 cpuFreqFilterIds: Array<number> = []; 32 cpuFreqLimitDatas:Array<Array<CpuFreqLimitsStruct>> = []; 33 threadIds: Array<number> = []; 34 processTrackIds: Array<number> = []; 35 virtualTrackIds: Array<number> = []; 36 funTids: Array<number> = []; 37 funAsync: Array<{name:string,pid:number}> = []; 38 heapIds: Array<number> = []; 39 nativeMemory: Array<String> = []; 40 cpuAbilityIds: Array<string> = [] 41 memoryAbilityIds: Array<string> = [] 42 diskAbilityIds: Array<string> = [] 43 networkAbilityIds: Array<string> = [] 44 perfSampleIds: Array<number> = []; 45 perfCpus: Array<number> = []; 46 perfProcess: Array<number> = []; 47 perfThread: Array<number> = []; 48 fileSystemType:Array<number> = []; 49 sdkCounterIds: Array<string> = []; 50 sdkSliceIds: Array<string> = []; 51 diskIOipids:Array<number> = []; 52 systemEnergy: Array<string> = [] 53 powerEnergy: Array<string> = [] 54 anomalyEnergy: Array<string> = [] 55 smapsType:Array<string> = []; 56} 57 58export class BoxJumpParam { 59 leftNs: number = 0; 60 rightNs: number = 0; 61 state: string = ""; 62 processId: number = 0; 63 threadId: number = 0; 64} 65 66export class SelectionData { 67 name: string = "" 68 process: string = "" 69 pid: string = "" 70 thread: string = "" 71 tid: string = "" 72 wallDuration: number = 0 73 avgDuration: string = "" 74 occurrences: number = 0 75 state: string = "" 76 trackId: number = 0 77 delta: string = "" 78 rate: string = "" 79 avgWeight: string = "" 80 count: string = "" 81 first: string = "" 82 last: string = "" 83 min: string = "" 84 max: string = "" 85 stateJX: string = "" 86} 87 88export class Counter { 89 id: number = 0 90 trackId: number = 0 91 name: string = "" 92 value: number = 0 93 startTime: number = 0 94} 95 96export class Fps { 97 startNS: number = 0 98 timeStr: string = "" 99 fps: number = 0 100}