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_ciexport interface BinderGroup {
16fb726d48Sopenharmony_ci  title: string | null | undefined;
17fb726d48Sopenharmony_ci  totalCount: number;
18fb726d48Sopenharmony_ci  binderAsyncRcvCount?: number;
19fb726d48Sopenharmony_ci  binderReplyCount?: number;
20fb726d48Sopenharmony_ci  binderTransactionAsyncCount?: number;
21fb726d48Sopenharmony_ci  binderTransactionCount?: number;
22fb726d48Sopenharmony_ci  tid: number;
23fb726d48Sopenharmony_ci  pid: number;
24fb726d48Sopenharmony_ci  children?: Array<BinderGroup>;
25fb726d48Sopenharmony_ci  status?: boolean;
26fb726d48Sopenharmony_ci}
27fb726d48Sopenharmony_ci
28fb726d48Sopenharmony_ciexport class CycleBinderItem {
29fb726d48Sopenharmony_ci  title: string = '';
30fb726d48Sopenharmony_ci  tid: number = 0;
31fb726d48Sopenharmony_ci  pid: number = 0;
32fb726d48Sopenharmony_ci  durNs: number = 0;
33fb726d48Sopenharmony_ci  tsNs: number = 0;
34fb726d48Sopenharmony_ci  cycleDur: number = 0;
35fb726d48Sopenharmony_ci  cycleStartTime: number = 0;
36fb726d48Sopenharmony_ci  totalCount: number = 0;
37fb726d48Sopenharmony_ci  binderTransactionCount: number = 0;
38fb726d48Sopenharmony_ci  binderAsyncRcvCount: number = 0;
39fb726d48Sopenharmony_ci  binderReplyCount: number = 0;
40fb726d48Sopenharmony_ci  binderTransactionAsyncCount: number = 0;
41fb726d48Sopenharmony_ci  idx: number = -1;
42fb726d48Sopenharmony_ci  type: string = 'Cycle';
43fb726d48Sopenharmony_ci}
44fb726d48Sopenharmony_ci
45fb726d48Sopenharmony_ciexport interface ThreadBinderItem {
46fb726d48Sopenharmony_ci  title: string;
47fb726d48Sopenharmony_ci  tid: number;
48fb726d48Sopenharmony_ci  pid: number;
49fb726d48Sopenharmony_ci  totalCount: number;
50fb726d48Sopenharmony_ci  type: string;
51fb726d48Sopenharmony_ci  children: Array<CycleBinderItem>;
52fb726d48Sopenharmony_ci}
53fb726d48Sopenharmony_ci
54fb726d48Sopenharmony_ciexport interface ProcessBinderItem {
55fb726d48Sopenharmony_ci  title: string;
56fb726d48Sopenharmony_ci  pid: number;
57fb726d48Sopenharmony_ci  totalCount: number;
58fb726d48Sopenharmony_ci  type: string;
59fb726d48Sopenharmony_ci  children: Array<ThreadBinderItem>;
60fb726d48Sopenharmony_ci}
61fb726d48Sopenharmony_ci
62fb726d48Sopenharmony_ciexport interface DataSource {
63fb726d48Sopenharmony_ci  xName: string;
64fb726d48Sopenharmony_ci  yAverage: number;
65fb726d48Sopenharmony_ci}
66fb726d48Sopenharmony_ci
67fb726d48Sopenharmony_ciexport interface FunctionItem {
68fb726d48Sopenharmony_ci  cycleStartTime: number;
69fb726d48Sopenharmony_ci  cycleDur: number;
70fb726d48Sopenharmony_ci  dur: number;
71fb726d48Sopenharmony_ci  id: number;
72fb726d48Sopenharmony_ci  tid: number;
73fb726d48Sopenharmony_ci  pid: number;
74fb726d48Sopenharmony_ci}
75fb726d48Sopenharmony_ci
76fb726d48Sopenharmony_ciexport class FuncNameCycle {
77fb726d48Sopenharmony_ci  funcName: string = '';
78fb726d48Sopenharmony_ci  cycleStartTime: number = 0;
79fb726d48Sopenharmony_ci  cycleDur: number = 0;
80fb726d48Sopenharmony_ci  startTime: number = 0;
81fb726d48Sopenharmony_ci  endTime: number = 0;
82fb726d48Sopenharmony_ci  id: number = 0;
83fb726d48Sopenharmony_ci  tid: number = 0;
84fb726d48Sopenharmony_ci  pid: number = 0;
85fb726d48Sopenharmony_ci}
86fb726d48Sopenharmony_ci
87fb726d48Sopenharmony_ciexport interface BinderDataStruct {
88fb726d48Sopenharmony_ci  name: string;
89fb726d48Sopenharmony_ci  value: number;
90fb726d48Sopenharmony_ci  dur: number;
91fb726d48Sopenharmony_ci  startNS: number;
92fb726d48Sopenharmony_ci  cycle: number;
93fb726d48Sopenharmony_ci  depth?: number;
94fb726d48Sopenharmony_ci}
95fb726d48Sopenharmony_ci
96fb726d48Sopenharmony_ciexport interface BinderItem {
97fb726d48Sopenharmony_ci  name: string;
98fb726d48Sopenharmony_ci  ts: number;
99fb726d48Sopenharmony_ci  dur: number;
100fb726d48Sopenharmony_ci  tid: number;
101fb726d48Sopenharmony_ci  pid: number;
102fb726d48Sopenharmony_ci}
103