• Home
  • Raw
  • Download

Lines Matching refs:node

93   private getNodeValue(node: ChartStruct): number {
96 return node.drawSize || node.size;
98 return node.drawCount || node.count;
100 return node.drawDur || node.dur;
102 return node.drawEventCount || node.eventCount;
134 for (const node of this.currentData!) { constant
135 this.rootNode.children.push(node);
136 this.rootNode.count += node.drawCount || node.count;
137 this.rootNode.size += node.drawSize || node.size;
138 this.rootNode.dur += node.drawDur || node.dur;
139 this.rootNode.eventCount += node.drawEventCount || node.eventCount;
140 node.parent = this.rootNode;
168 const node = ChartStruct.selectFuncStruct; constant
169 if (node) {
171 node.drawCount = 0;
172 node.drawDur = 0;
173 node.drawSize = 0;
174 node.drawEventCount = 0;
175 for (let child of node.children) {
176 node.drawCount += child.searchCount;
177 node.drawDur += child.searchDur;
178 node.drawSize += child.searchSize;
179 node.drawEventCount += child.searchEventCount;
181 module.count = node.drawCount = node.drawCount || node.count;
182 module.dur = node.drawDur = node.drawDur || node.dur;
183 module.size = node.drawSize = node.drawSize || node.size;
184 module.eventCount = node.drawEventCount = node.drawEventCount || node.eventCount;
186 this.setParentDisplayInfo(node, module, true);
187 this.setChildrenDisplayInfo(node);
224 private initData(node: ChartStruct, depth: number, calDisplay: boolean): void {
225 node.depth = depth;
228 this.clearDisplayInfo(node);
229 if (node.isSearch && calDisplay) {
231 module.size = node.drawSize = node.searchSize = node.size;
232 module.count = node.drawCount = node.searchCount = node.count;
233 module.dur = node.drawDur = node.searchDur = node.dur;
234 module.eventCount = node.drawEventCount = node.searchEventCount = node.eventCount;
235 this.setParentDisplayInfo(node, module, false);
240 if (node.children && node.children.length > 0) {
241 for (const children of node.children) {
242 children.parent = node;
251 private setParentDisplayInfo(node: ChartStruct, module: NodeValue, isSelect?: boolean): void {
252 const parent = node.parent;
283 private setChildrenDisplayInfo(node: ChartStruct): void {
284 if (node.children.length < 0) {
287 for (const children of node.children) {
296 private clearDisplayInfo(node: ChartStruct): void {
297 node.drawCount = 0;
298 node.drawDur = 0;
299 node.drawSize = 0;
300 node.drawEventCount = 0;
301 node.searchCount = 0;
302 node.searchDur = 0;
303 node.searchSize = 0;
304 node.searchEventCount = 0;
427 private setFrameData(node: ChartStruct): void {
428 if (node.children.length > 0) {
429 for (const children of node.children) {
430 node.isDraw = false;
460 private calEffectNode(node: ChartStruct, effectChildList: Array<ChartStruct>): number {
462 for (const children of node.children) {
467 if (node.isChartSelect || this.isSearch(node)) {
492 private isSearch(node: ChartStruct): boolean {
495 return node.searchSize > 0;
497 return node.searchCount > 0;
499 return node.searchDur > 0;
501 return node.searchEventCount > 0;
509 private drawFrameChart(node: ChartStruct): void {
511 const nodeValue = this.getNodeValue(node);
513 if (node.children && node.children.length > 0) {
514 const ignoreValue = this.calEffectNode(node, effectChildList);
515 let x = node.frame!.x;
520 children.frame!.width = (childrenValue / (nodeValue - ignoreValue)) * node.frame!.width;
528 const firstChildren = node.children[0];
529 firstChildren.frame!.x = node.frame!.x;
531 firstChildren.frame!.width = node.frame!.width * (ignoreValue / nodeValue);
547 for (const node of nodes) { constant
548 if (node.frame?.contains(canvasX, canvasY)) {
549 return node;
551 const result = this.searchDataByCoord(node.children, canvasX, canvasY);
589 private setSelectStatusRecursive(node: ChartStruct | undefined, isSelect: boolean): void {
590 if (!node) {
593 node.isChartSelect = isSelect;
596 const stack: ChartStruct[] = [node]; // 使用栈来实现循环处理
608 while (node?.parent) {
609 node.parent.isChartSelect = isSelect;
610 node.parent.isChartSelectParent = isSelect;
611 node = node.parent;
732 private nodeInCanvas(node: ChartStruct): boolean {
733 if (!node.frame) {
736 return node.frame.x + node.frame.width >= 0 && node.frame.x < this.canvas.clientWidth;
834 private getCurrentPercent(node: ChartStruct, isThread: boolean): string {
835 const parentNode = this.findCurrentNode(node, isThread);
837 return ((this.getNodeValue(node) / this.getNodeValue(parentNode)) * 100).toFixed(2);
842 private findCurrentNode(node: ChartStruct, isThread: boolean): ChartStruct | null {
843 while (node.parent) {
844 if ((isThread && node.parent.isThread) || (!isThread && node.parent.isProcess)) {
845 return node.parent;
847 node = node.parent;
852 private getCurrentPercentOfThread(node: ChartStruct): string {
853 return this.getCurrentPercent(node, true);
856 private getCurrentPercentOfProcess(node: ChartStruct): string {
857 return this.getCurrentPercent(node, false);