1// Copyright (c) 2021 Huawei Device Co., Ltd.
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
5//
6//     http://www.apache.org/licenses/LICENSE-2.0
7//
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13
14export const CHART_OFFSET_LEFT = 248;
15export enum QueryEnum {
16  ClearMemoryCache = -1,
17  CpuData = 0,
18  CpuStateData = 1,
19  CpuFreqData = 2,
20  CpuFreqLimitData = 3,
21  HangData = 3.5,
22  ClockData = 4,
23  IrqData = 5,
24  ProcessData = 6,
25  ProcessMemData = 7,
26  ProcessStartupData = 8,
27  ProcessSoInitData = 9,
28  HiSysEventData = 10,
29  HilogData = 11,
30  VirtualMemoryData = 12,
31  EnergySystemData = 13,
32  EnergyStateData = 14,
33  EnergyAnomalyData = 15,
34  FrameExpectedData = 16,
35  FrameActualData = 17,
36  FrameAnimationData = 18,
37  FrameDynamicData = 19,
38  FrameSpacingData = 20,
39  EnergyPowerData = 47,
40  FileSystemData = 48,
41  DiskIoData = 49,
42  EBPFVm = 50,
43  VmTrackerSmapsData = 81,
44  VmTrackerDmaData = 82,
45  VmTrackerGpuMemoryData = 83,
46  VmTrackerGpuData = 84,
47  VmTrackerGpuResourceData = 85,
48  VmTrackerGpuTotalData = 86,
49  VmTrackerGpuWindowData = 87,
50  VmTrackerShmData = 88,
51  VmTrackerPurgeableData = 89,
52  AbilityMemoryUsedData = 90,
53  CpuAbilityUserData = 91,
54  CpuAbilitySystemData = 92,
55  CpuAbilityMonitorData = 93,
56  AbilityBytesReadData = 94,
57  AbilityBytesWrittenData = 95,
58  AbilityReadOpsData = 96,
59  AbilityWrittenOpsData = 97,
60  AbilityBytesInTraceData = 98,
61  AbilityBytesOutTraceData = 99,
62  AbilityPacketInTraceData = 100,
63  AbilityPacketsOutTraceData = 101,
64  AbilityCachedFilesData,
65  AbilityCompressedData,
66  AbilityPurgeableData = 151,
67  AbilityGpuMemoryData = 152,
68  AbilityDmaData = 153,
69  ThreadData = 30,
70  FuncData = 31,
71  HiperfCpuData = 200,
72  HiperfProcessData = 201,
73  HiperfThreadData = 202,
74  HiperfCallChart = 203,
75  HiperfCallStack = 204,
76  NativeMemoryChartData = 205,
77  NativeMemoryChartCacheNormal = 206,
78  NativeMemoryChartCacheStatistic = 207,
79  processExpectedData = 26,
80  processActualData = 27,
81  processDeliverInputEventData = 28,
82  processTouchEventDispatchData = 29,
83  HeapTimelineData = 160,
84  HeapSnapshotData = 161,
85  CpuProfilerData = 162,
86  SearchCpuData = 163,
87  LostFrameData = 164,
88  HitchTime = 165,
89  dmaFenceData = 166,
90  SliceData = 300,
91  SliceSPTData = 301,
92  SliceChildBoxData = 302,
93  ThreadNearData = 303,
94  XpowerData = 304,
95}
96export const MAX_COUNT = 2000;
97export enum TraficEnum {
98  Memory,
99  SharedArrayBuffer,
100  TransferArrayBuffer,
101  ProtoBuffer,
102}
103
104export function threadStateToNumber(state: string): number {
105  return threadStateArray.findIndex((it) => it === state);
106}
107export function threadStateToString(state: number): string {
108  if (state === -1) {
109    return '';
110  } else {
111    return threadStateArray[state];
112  }
113}
114const threadStateArray = ['D-NIO', 'DK-NIO', 'D-IO', 'DK-IO', 'D', 'DK', 'R', 'R+', 'R-B', 'I', 'Running', 'S'];
115