• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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';
20import { FrameDynamicStruct } from '../database/ui-worker/ProcedureWorkerFrameDynamic.js';
21import { FrameAnimationStruct } from '../database/ui-worker/ProcedureWorkerFrameAnimation.js';
22import { FrameSpacingStruct } from '../database/ui-worker/ProcedureWorkerFrameSpacing.js';
23import { JsCpuProfilerChartFrame } from './JsStruct.js';
24
25export class SelectionParam {
26  recordStartNs: number = 0;
27  leftNs: number = 0;
28  rightNs: number = 0;
29  hasFps: boolean = false;
30  statisticsSelectData: any = undefined;
31  fileSystemVMData: any = undefined;
32  fileSystemIoData: any = undefined;
33  fileSystemFsData: any = undefined;
34  perfAll: boolean = false;
35  fileSysVirtualMemory: boolean = false;
36  diskIOLatency: boolean = false;
37  fsCount: number = 0;
38  vmCount: number = 0;
39  isCurrentPane: boolean = false;
40  startup: boolean = false;
41  staticInit: boolean = false;
42
43  cpus: Array<number> = [];
44  cpuStateFilterIds: Array<number> = [];
45  cpuFreqFilterIds: Array<number> = [];
46  cpuFreqLimitDatas: Array<Array<CpuFreqLimitsStruct>> = [];
47  threadIds: Array<number> = [];
48  processIds: Array<number> = [];
49  processTrackIds: Array<number> = [];
50  virtualTrackIds: Array<number> = [];
51  clockMapData: Map<string, Array<ClockStruct>> = new Map<string, Array<ClockStruct>>();
52  irqMapData: Map<string, Array<IrqStruct>> = new Map<string, Array<IrqStruct>>();
53  funTids: Array<number> = [];
54  funAsync: Array<{ name: string; pid: number }> = [];
55  nativeMemory: Array<String> = [];
56  nativeMemoryStatistic: Array<String> = [];
57  cpuAbilityIds: Array<string> = [];
58  memoryAbilityIds: Array<string> = [];
59  diskAbilityIds: Array<string> = [];
60  networkAbilityIds: Array<string> = [];
61  perfSampleIds: Array<number> = [];
62  perfCpus: Array<number> = [];
63  perfProcess: Array<number> = [];
64  perfThread: Array<number> = [];
65  fileSystemType: Array<number> = [];
66  sdkCounterIds: Array<string> = [];
67  sdkSliceIds: Array<string> = [];
68  diskIOipids: Array<number> = [];
69  diskIOReadIds: Array<number> = [];
70  diskIOWriteIds: Array<number> = [];
71  systemEnergy: Array<string> = [];
72  powerEnergy: Array<string> = [];
73  anomalyEnergy: Array<string> = [];
74  smapsType: Array<string> = [];
75  vmtrackershm: Array<string> = [];
76  promiseList: Array<Promise<any>> = [];
77  jankFramesData: Array<any> = [];
78  jsMemory: Array<any> = [];
79  taskFramesData: Array<FuncStruct> = [];
80  frameDynamic: Array<FrameDynamicStruct> = [];
81  frameAnimation: Array<FrameAnimationStruct> = [];
82  frameSpacing: Array<FrameSpacingStruct> = [];
83  jsCpuProfilerData: Array<JsCpuProfilerChartFrame> = [];
84  gpu: {
85    gl:boolean,
86    gpuTotal: boolean,
87    gpuWindow: boolean
88  } = {
89    gl: false,
90    gpuWindow:false,
91    gpuTotal: false
92  }
93  purgeableTotalAbility: Array<any> = [];
94  purgeableTotalVM: Array<any> = [];
95  purgeablePinAbility: Array<any> = [];
96  purgeablePinVM: Array<any> = [];
97  purgeableTotalSelection: Array<any> = [];
98  purgeablePinSelection: Array<any> = [];
99  dmaAbilityData: Array<any> = [];
100  gpuMemoryAbilityData: Array<any> = [];
101  dmaVmTrackerData: Array<any> = [];
102  gpuMemoryTrackerData: Array<any> = [];
103}
104
105export class BoxJumpParam {
106  leftNs: number = 0;
107  rightNs: number = 0;
108  state: string = '';
109  processId: number = 0;
110  threadId: number = 0;
111}
112
113export class SelectionData {
114  name: string = '';
115  process: string = '';
116  pid: string = '';
117  thread: string = '';
118  tid: string = '';
119  wallDuration: number = 0;
120  wallDurationFormat: string = '';
121  avgDuration: string = '';
122  occurrences: number = 0;
123  state: string = '';
124  trackId: number = 0;
125  delta: string = '';
126  rate: string = '';
127  avgWeight: string = '';
128  count: string = '';
129  first: string = '';
130  last: string = '';
131  min: string = '';
132  max: string = '';
133  stateJX: string = '';
134  cpu: number = 0;
135}
136
137export class Counter {
138  id: number = 0;
139  trackId: number = 0;
140  name: string = '';
141  value: number = 0;
142  startTime: number = 0;
143}
144
145export class Fps {
146  startNS: number = 0;
147  timeStr: string = '';
148  fps: number = 0;
149}
150