| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file | 3 // BSD-style license that can be found in the LICENSE file |
| 4 | 4 |
| 5 part of models; | 5 part of models; |
| 6 | 6 |
| 7 enum ProfileTreeDirection { | 7 enum ProfileTreeDirection { |
| 8 inclusive, | 8 inclusive, |
| 9 exclusive | 9 exclusive |
| 10 } | 10 } |
| 11 | 11 |
| 12 abstract class SampleProfile { | 12 abstract class SampleProfile { |
| 13 int get sampleCount; | 13 int get sampleCount; |
| 14 int get stackDepth; | 14 int get stackDepth; |
| 15 double get sampleRate; | 15 double get sampleRate; |
| 16 double get timeSpan; | 16 double get timeSpan; |
| 17 Iterable<ProfileCode> get codes; |
| 18 Iterable<ProfileFunction> get functions; |
| 17 | 19 |
| 18 FunctionCallTree loadFunctionTree(ProfileTreeDirection direction); | 20 FunctionCallTree loadFunctionTree(ProfileTreeDirection direction); |
| 19 CodeCallTree loadCodeTree(ProfileTreeDirection direction); | 21 CodeCallTree loadCodeTree(ProfileTreeDirection direction); |
| 20 } | 22 } |
| 21 | 23 |
| 22 abstract class Profile { | 24 abstract class Profile { |
| 23 double get normalizedExclusiveTicks; | 25 double get normalizedExclusiveTicks; |
| 24 double get normalizedInclusiveTicks; | 26 double get normalizedInclusiveTicks; |
| 25 } | 27 } |
| 26 | 28 |
| 27 abstract class ProfileCode extends Profile { | 29 abstract class ProfileCode extends Profile { |
| 28 CodeRef get code; | 30 CodeRef get code; |
| 31 Map<ProfileCode, int> get callers; |
| 32 Map<ProfileCode, int> get callees; |
| 29 } | 33 } |
| 30 | 34 |
| 31 abstract class ProfileFunction extends Profile { | 35 abstract class ProfileFunction extends Profile { |
| 32 FunctionRef get function; | 36 FunctionRef get function; |
| 37 Map<ProfileFunction, int> get callers; |
| 38 Map<ProfileFunction, int> get callees; |
| 33 } | 39 } |
| 34 | 40 |
| 35 typedef bool CallTreeNodeFilter(CallTreeNode); | 41 typedef bool CallTreeNodeFilter(CallTreeNode); |
| 36 | 42 |
| 37 abstract class CallTree { | 43 abstract class CallTree { |
| 38 CallTree filtered(CallTreeNodeFilter filter); | 44 CallTree filtered(CallTreeNodeFilter filter); |
| 39 } | 45 } |
| 40 | 46 |
| 41 abstract class CodeCallTree extends CallTree { | 47 abstract class CodeCallTree extends CallTree { |
| 42 CodeCallTreeNode get root; | 48 CodeCallTreeNode get root; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 55 | 61 |
| 56 abstract class CodeCallTreeNode extends CallTreeNode { | 62 abstract class CodeCallTreeNode extends CallTreeNode { |
| 57 ProfileCode get profileCode; | 63 ProfileCode get profileCode; |
| 58 Iterable<CodeCallTreeNode> get children; | 64 Iterable<CodeCallTreeNode> get children; |
| 59 } | 65 } |
| 60 | 66 |
| 61 abstract class FunctionCallTreeNode extends CallTreeNode { | 67 abstract class FunctionCallTreeNode extends CallTreeNode { |
| 62 ProfileFunction get profileFunction; | 68 ProfileFunction get profileFunction; |
| 63 Iterable<FunctionCallTreeNode> get children; | 69 Iterable<FunctionCallTreeNode> get children; |
| 64 } | 70 } |
| OLD | NEW |