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_ciconst ROW_TYPE = 'hiperf'; 17fb726d48Sopenharmony_ci 18fb726d48Sopenharmony_ciexport class PerfFireChartStruct { 19fb726d48Sopenharmony_ci thread_id: number; 20fb726d48Sopenharmony_ci name: string; 21fb726d48Sopenharmony_ci depth: number; 22fb726d48Sopenharmony_ci selfTime: number; 23fb726d48Sopenharmony_ci totalTime: number; 24fb726d48Sopenharmony_ci id: number; 25fb726d48Sopenharmony_ci 26fb726d48Sopenharmony_ci constructor(id: number, name: string, depth: number, selfTime: number, totalTime: number, thread_id: number) { 27fb726d48Sopenharmony_ci this.id = id; 28fb726d48Sopenharmony_ci this.name = name; 29fb726d48Sopenharmony_ci this.depth = depth; 30fb726d48Sopenharmony_ci this.selfTime = selfTime; 31fb726d48Sopenharmony_ci this.totalTime = totalTime; 32fb726d48Sopenharmony_ci this.thread_id = thread_id; 33fb726d48Sopenharmony_ci } 34fb726d48Sopenharmony_ci} 35fb726d48Sopenharmony_ci 36fb726d48Sopenharmony_ci// 绘图所需树结构模板 37fb726d48Sopenharmony_ciexport class HiPerfChartFrame extends PerfFireChartStruct { 38fb726d48Sopenharmony_ci startTime: number; 39fb726d48Sopenharmony_ci endTime: number; 40fb726d48Sopenharmony_ci children: Array<HiPerfChartFrame>; 41fb726d48Sopenharmony_ci isSelect: boolean = false; 42fb726d48Sopenharmony_ci line: number = 0; 43fb726d48Sopenharmony_ci column: number = 0; 44fb726d48Sopenharmony_ci thread_id: number = 0; 45fb726d48Sopenharmony_ci 46fb726d48Sopenharmony_ci constructor( 47fb726d48Sopenharmony_ci id: number, 48fb726d48Sopenharmony_ci name: string, 49fb726d48Sopenharmony_ci startTime: number, 50fb726d48Sopenharmony_ci endTime: number, 51fb726d48Sopenharmony_ci totalTime: number, 52fb726d48Sopenharmony_ci depth: number, 53fb726d48Sopenharmony_ci thread_id: number 54fb726d48Sopenharmony_ci ) { 55fb726d48Sopenharmony_ci super(id, name, depth, 0, totalTime, thread_id); 56fb726d48Sopenharmony_ci this.id = id; 57fb726d48Sopenharmony_ci this.startTime = startTime; 58fb726d48Sopenharmony_ci this.endTime = endTime; 59fb726d48Sopenharmony_ci this.thread_id = thread_id; 60fb726d48Sopenharmony_ci this.children = new Array<HiPerfChartFrame>(); 61fb726d48Sopenharmony_ci } 62fb726d48Sopenharmony_ci} 63