1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_ciimport { CompareStruct } from '../component/trace/sheet/SheetUtils'; 17fb726d48Sopenharmony_ci 18fb726d48Sopenharmony_ciexport class SystemCpuSummary { 19fb726d48Sopenharmony_ci startTime: number = -1; 20fb726d48Sopenharmony_ci startTimeStr: string = ''; 21fb726d48Sopenharmony_ci duration: number = -1; 22fb726d48Sopenharmony_ci durationStr: string = ''; 23fb726d48Sopenharmony_ci totalLoad: number = -1; 24fb726d48Sopenharmony_ci totalLoadStr: string = ''; 25fb726d48Sopenharmony_ci userLoad: number = -1; 26fb726d48Sopenharmony_ci userLoadStr: string = ''; 27fb726d48Sopenharmony_ci systemLoad: number = -1; 28fb726d48Sopenharmony_ci systemLoadStr: string = ''; 29fb726d48Sopenharmony_ci threads: number = -1; 30fb726d48Sopenharmony_ci threadsStr: string = ''; 31fb726d48Sopenharmony_ci} 32fb726d48Sopenharmony_ci 33fb726d48Sopenharmony_ciexport class SystemDiskIOSummary { 34fb726d48Sopenharmony_ci startTime: number = -1; 35fb726d48Sopenharmony_ci startTimeStr: string = ''; 36fb726d48Sopenharmony_ci duration: number = -1; 37fb726d48Sopenharmony_ci durationStr: string = ''; 38fb726d48Sopenharmony_ci dataRead: number = -1; 39fb726d48Sopenharmony_ci dataReadStr: string = ''; 40fb726d48Sopenharmony_ci dataReadSec: number = -1; 41fb726d48Sopenharmony_ci dataReadSecStr: string = ''; 42fb726d48Sopenharmony_ci dataWrite: number = -1; 43fb726d48Sopenharmony_ci dataWriteStr: string = ''; 44fb726d48Sopenharmony_ci dataWriteSec: number = -1; 45fb726d48Sopenharmony_ci dataWriteSecStr: string = ''; 46fb726d48Sopenharmony_ci readsIn: number = -1; 47fb726d48Sopenharmony_ci readsInStr: string = ''; 48fb726d48Sopenharmony_ci readsInSec: number = -1; 49fb726d48Sopenharmony_ci readsInSecStr: string = ''; 50fb726d48Sopenharmony_ci writeOut: number = -1; 51fb726d48Sopenharmony_ci writeOutStr: string = ''; 52fb726d48Sopenharmony_ci writeOutSec: number = -1; 53fb726d48Sopenharmony_ci writeOutSecStr: string = ''; 54fb726d48Sopenharmony_ci} 55fb726d48Sopenharmony_ci 56fb726d48Sopenharmony_ciexport class ProcessHistory { 57fb726d48Sopenharmony_ci processId: number = -1; 58fb726d48Sopenharmony_ci alive: string = ''; // 0 alive and 1 dead 59fb726d48Sopenharmony_ci firstSeen: string = ''; 60fb726d48Sopenharmony_ci firstSeenNumber: number = -1; 61fb726d48Sopenharmony_ci lastSeen: string = ''; 62fb726d48Sopenharmony_ci lastSeenNumber: number = -1; 63fb726d48Sopenharmony_ci processName: string = ''; 64fb726d48Sopenharmony_ci responsibleProcess: string = ''; 65fb726d48Sopenharmony_ci userName: string = ''; 66fb726d48Sopenharmony_ci cpuTime: string = ''; 67fb726d48Sopenharmony_ci cpuTimeNumber: number = -1; 68fb726d48Sopenharmony_ci pss: number = -1; 69fb726d48Sopenharmony_ci} 70fb726d48Sopenharmony_ci 71fb726d48Sopenharmony_ciexport class LiveProcess { 72fb726d48Sopenharmony_ci processId: number = -1; 73fb726d48Sopenharmony_ci processName: string = ''; 74fb726d48Sopenharmony_ci responsibleProcess: string = ''; 75fb726d48Sopenharmony_ci userName: string = ''; 76fb726d48Sopenharmony_ci cpu: string = ''; 77fb726d48Sopenharmony_ci threads: number = -1; 78fb726d48Sopenharmony_ci memory: string = ''; 79fb726d48Sopenharmony_ci memoryNumber: number = -1; 80fb726d48Sopenharmony_ci diskWrite: number = -1; 81fb726d48Sopenharmony_ci diskReads: number = -1; 82fb726d48Sopenharmony_ci cpuTime: string = ''; 83fb726d48Sopenharmony_ci cpuTimeNumber: number = -1; 84fb726d48Sopenharmony_ci} 85fb726d48Sopenharmony_ci 86fb726d48Sopenharmony_ciexport class SystemNetworkSummary { 87fb726d48Sopenharmony_ci startTime: number = -1; 88fb726d48Sopenharmony_ci startTimeStr: string = ''; 89fb726d48Sopenharmony_ci duration: number = -1; 90fb726d48Sopenharmony_ci durationStr: string = ''; 91fb726d48Sopenharmony_ci dataReceived: number = -1; 92fb726d48Sopenharmony_ci dataReceivedStr: string = ''; 93fb726d48Sopenharmony_ci dataReceivedSec: number = -1; 94fb726d48Sopenharmony_ci dataReceivedSecStr: string = ''; 95fb726d48Sopenharmony_ci dataSend: number = -1; 96fb726d48Sopenharmony_ci dataSendStr: string = ''; 97fb726d48Sopenharmony_ci dataSendSec: number = -1; 98fb726d48Sopenharmony_ci dataSendSecStr: string = ''; 99fb726d48Sopenharmony_ci packetsIn: number = -1; 100fb726d48Sopenharmony_ci packetsInStr: string = ''; 101fb726d48Sopenharmony_ci packetsInSec: number = -1; 102fb726d48Sopenharmony_ci packetsInSecStr: string = ''; 103fb726d48Sopenharmony_ci packetsOut: number = -1; 104fb726d48Sopenharmony_ci packetsOutStr: string = ''; 105fb726d48Sopenharmony_ci packetsOutSec: number = -1; 106fb726d48Sopenharmony_ci packetsOutSecStr: string = ''; 107fb726d48Sopenharmony_ci} 108fb726d48Sopenharmony_ci 109fb726d48Sopenharmony_ciexport class SystemMemorySummary { 110fb726d48Sopenharmony_ci startTimeStr: string = '0'; 111fb726d48Sopenharmony_ci durationStr: string = '0'; 112fb726d48Sopenharmony_ci durationNumber: number = -1; 113fb726d48Sopenharmony_ci memoryTotal: string = '0'; 114fb726d48Sopenharmony_ci memFree: string = '0'; 115fb726d48Sopenharmony_ci buffers: string = '0'; 116fb726d48Sopenharmony_ci cached: string = '0'; 117fb726d48Sopenharmony_ci shmem: string = '0'; 118fb726d48Sopenharmony_ci slab: string = '0'; 119fb726d48Sopenharmony_ci swapTotal: string = '0'; 120fb726d48Sopenharmony_ci swapFree: string = '0'; 121fb726d48Sopenharmony_ci mapped: string = '0'; 122fb726d48Sopenharmony_ci vmallocUsed: string = '0'; 123fb726d48Sopenharmony_ci pageTables: string = '0'; 124fb726d48Sopenharmony_ci kernelStack: string = '0'; 125fb726d48Sopenharmony_ci active: string = '0'; 126fb726d48Sopenharmony_ci inactive: string = '0'; 127fb726d48Sopenharmony_ci unevictable: string = '0'; 128fb726d48Sopenharmony_ci vmallocTotal: string = '0'; 129fb726d48Sopenharmony_ci sUnreclaim: string = '0'; 130fb726d48Sopenharmony_ci kReclaimable: string = '0'; 131fb726d48Sopenharmony_ci cmaTotal: string = '0'; 132fb726d48Sopenharmony_ci cmaFree: string = '0'; 133fb726d48Sopenharmony_ci zram: string = '0'; 134fb726d48Sopenharmony_ci} 135fb726d48Sopenharmony_ci 136fb726d48Sopenharmony_ciexport class Dma { 137fb726d48Sopenharmony_ci processId: number = -1; 138fb726d48Sopenharmony_ci timeStamp: string = ''; 139fb726d48Sopenharmony_ci startNs: number = -1; 140fb726d48Sopenharmony_ci expTaskComm: string | number = ''; 141fb726d48Sopenharmony_ci avgSize: number = 0; 142fb726d48Sopenharmony_ci minSize: number = -1; 143fb726d48Sopenharmony_ci maxSize: number = -1; 144fb726d48Sopenharmony_ci bufName: string | number = ''; 145fb726d48Sopenharmony_ci expName: string | number = ''; 146fb726d48Sopenharmony_ci size: number = -1; 147fb726d48Sopenharmony_ci processName: string = ''; 148fb726d48Sopenharmony_ci process: string = ''; //processName + processId 149fb726d48Sopenharmony_ci fd: number = -1; 150fb726d48Sopenharmony_ci ino: number = -1; 151fb726d48Sopenharmony_ci expPid: number = -1; 152fb726d48Sopenharmony_ci flag: number = -1; 153fb726d48Sopenharmony_ci avgSizes: string = ''; 154fb726d48Sopenharmony_ci minSizes: string = ''; 155fb726d48Sopenharmony_ci maxSizes: string = ''; 156fb726d48Sopenharmony_ci sizes: string = ''; 157fb726d48Sopenharmony_ci sumSize: number = -1; 158fb726d48Sopenharmony_ci sumSizes: string = ''; 159fb726d48Sopenharmony_ci} 160fb726d48Sopenharmony_ci 161fb726d48Sopenharmony_ciexport class GpuMemory { 162fb726d48Sopenharmony_ci processId: number = -1; 163fb726d48Sopenharmony_ci threadId: number = -1; 164fb726d48Sopenharmony_ci timeStamp: string = ''; 165fb726d48Sopenharmony_ci expTaskComm: string = ''; 166fb726d48Sopenharmony_ci startNs: number = -1; 167fb726d48Sopenharmony_ci avgSize: number = -1; 168fb726d48Sopenharmony_ci minSize: number = -1; 169fb726d48Sopenharmony_ci maxSize: number = -1; 170fb726d48Sopenharmony_ci gpuName: string = ''; 171fb726d48Sopenharmony_ci gpuNameId: number = -1; 172fb726d48Sopenharmony_ci processName: string = ''; 173fb726d48Sopenharmony_ci process: string = ''; //processName + processId 174fb726d48Sopenharmony_ci threadName: string = ''; 175fb726d48Sopenharmony_ci thread: string = ''; //threadName + threadI 176fb726d48Sopenharmony_ci size: number = -1; 177fb726d48Sopenharmony_ci avgSizes: string = ''; 178fb726d48Sopenharmony_ci minSizes: string = ''; 179fb726d48Sopenharmony_ci maxSizes: string = ''; 180fb726d48Sopenharmony_ci sizes: string = ''; 181fb726d48Sopenharmony_ci sumSize: number = -1; 182fb726d48Sopenharmony_ci sumSizes: string = ''; 183fb726d48Sopenharmony_ci} 184fb726d48Sopenharmony_ci 185fb726d48Sopenharmony_ciexport class DmaComparison extends CompareStruct { 186fb726d48Sopenharmony_ci processId: number = -1; 187fb726d48Sopenharmony_ci processName: string = ''; 188fb726d48Sopenharmony_ci process: string = ''; //processName + processId 189fb726d48Sopenharmony_ci sizes: string = ''; 190fb726d48Sopenharmony_ci thread: string = ''; 191fb726d48Sopenharmony_ci 192fb726d48Sopenharmony_ci constructor(process: string, value: number) { 193fb726d48Sopenharmony_ci super(process, value); 194fb726d48Sopenharmony_ci this.process = process; 195fb726d48Sopenharmony_ci } 196fb726d48Sopenharmony_ci 197fb726d48Sopenharmony_ci clone(isBase?: boolean): DmaComparison { 198fb726d48Sopenharmony_ci const value = isBase ? this.value : -this.value; 199fb726d48Sopenharmony_ci return new DmaComparison(this.process, value); 200fb726d48Sopenharmony_ci } 201fb726d48Sopenharmony_ci} 202fb726d48Sopenharmony_ci 203fb726d48Sopenharmony_ciexport class GpuMemoryComparison extends CompareStruct { 204fb726d48Sopenharmony_ci processId: number = -1; 205fb726d48Sopenharmony_ci processName: string = ''; 206fb726d48Sopenharmony_ci process: string = ''; //processName + processId 207fb726d48Sopenharmony_ci sizes: string = ''; 208fb726d48Sopenharmony_ci gpuNameId: number = -1; 209fb726d48Sopenharmony_ci gpuName: string = ''; 210fb726d48Sopenharmony_ci threadName: string = ''; 211fb726d48Sopenharmony_ci threadId: number = -1; 212fb726d48Sopenharmony_ci thread: string = ''; 213fb726d48Sopenharmony_ci 214fb726d48Sopenharmony_ci constructor(process: string, thread: string, gpuName: string, value: number) { 215fb726d48Sopenharmony_ci super(process + '' + thread + '' + gpuName, value); 216fb726d48Sopenharmony_ci this.process = process; 217fb726d48Sopenharmony_ci this.gpuName = gpuName; 218fb726d48Sopenharmony_ci this.thread = thread; 219fb726d48Sopenharmony_ci } 220fb726d48Sopenharmony_ci 221fb726d48Sopenharmony_ci clone(isBase?: boolean): GpuMemoryComparison { 222fb726d48Sopenharmony_ci const value = isBase ? this.value : -this.value; 223fb726d48Sopenharmony_ci return new GpuMemoryComparison(this.process, this.thread, this.gpuName, value); 224fb726d48Sopenharmony_ci } 225fb726d48Sopenharmony_ci} 226