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