Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // | 1 // |
| 2 // TODO(turnidge): Finish writing an idl description of the service protocol. | 2 // TODO(turnidge): Finish writing an idl description of the service protocol. |
| 3 // | 3 // |
| 4 | 4 |
| 5 interface Service { | 5 interface Service { |
| 6 // Returns the list of breakpoints for an isolate. | 6 // Returns the list of breakpoints for an isolate. |
| 7 getBreakpoints(isolateId string) BreakpointList | 7 getBreakpoints(isolateId string) BreakpointList |
| 8 | 8 |
| 9 // Adds a breakpoint at the specified line. | 9 // Adds a breakpoint at the specified line. |
| 10 // | 10 // |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 // Returns a full cpu profile for an isolate. | 38 // Returns a full cpu profile for an isolate. |
| 39 // | 39 // |
| 40 // <code>tagSelector</code> is optional with default 'UserVM'. | 40 // <code>tagSelector</code> is optional with default 'UserVM'. |
| 41 getCpuProfile(isolateId string, tags TagSelector) CpuProfile | 41 getCpuProfile(isolateId string, tags TagSelector) CpuProfile |
| 42 | 42 |
| 43 | 43 |
| 44 // Returns a simple tag-based profile for an isolate. | 44 // Returns a simple tag-based profile for an isolate. |
| 45 getTagProfile(isolateId string) TagProfile | 45 getTagProfile(isolateId string) TagProfile |
| 46 | 46 |
| 47 // Returns an allocation profile for an isolate. | 47 // Returns an allocation profile for an isolate. |
| 48 // | 48 // |
| 49 // <code>reset</code> is optional and indicates whether allocation | 49 // <code>reset</code> is optional and indicates whether allocation |
| 50 // accumulators should be reset. | 50 // accumulators should be reset. |
| 51 // | 51 // |
| 52 // <code>gc</code> is optional and indicates whether a full | 52 // <code>gc</code> is optional and indicates whether a full |
| 53 getAllocationProfile(isolateId string, | 53 getAllocationProfile(isolateId string, |
| 54 reset bool, | 54 reset bool, |
| 55 gc GCOption) AllocationProfile | 55 gc GCOption) AllocationProfile |
| 56 | 56 |
| 57 // Returns the heap map for an isolate. | 57 // Returns the heap map for an isolate. |
| 58 getHeapMap(isolateId string) HeapMap | 58 getHeapMap(isolateId string) HeapMap |
| 59 | 59 |
| 60 // Returns how many bytes are retained by some target Class or Instance. | 60 // Returns how many bytes are retained by some target Class or Instance. |
| 61 getRetainedSize(isolateId string, targetId string) InstanceRef | 61 getRetainedSize(isolateId string, targetId string) InstanceRef |
| 62 | 62 |
| 63 // Returns a path demonstrating why an object is retained in memory. | 63 // Returns a path demonstrating why an object is retained in memory. |
| 64 // | 64 // |
| 65 // TODO(turnidge): Make limit an int instead of a string. | 65 // TODO(turnidge): Make limit an int instead of a string. |
| 66 getRetainingPath(isolateId string, | 66 getRetainingPath(isolateId string, |
| 67 targetId string, | 67 targetId string, |
| 68 limit int) RetainingPath | 68 limit int) RetainingPath |
| 69 | 69 |
| 70 // Returns a collection of inbound references to some object. | 70 // Returns a collection of inbound references to some object. |
| 71 // | 71 // |
| 72 // TODO(turnidge): Make limit an int instead of a string. | 72 // TODO(turnidge): Make limit an int instead of a string. |
| 73 getInboundReferences(isolateId string, | 73 getInboundReferences(isolateId string, |
| 74 targetId string, | 74 targetId string, |
| 75 limit int) InboundReferences | 75 limit int) InboundReferences |
| 76 | |
| 77 getClassList(isolateId string) ClassList | |
| 76 } | 78 } |
| 77 | 79 |
| 78 | 80 |
| 79 // Every top level response returned by the Service interface extends | 81 // Every top level response returned by the Service interface extends |
| 80 // <code>Response</code>. This allows the client to distinguish | 82 // <code>Response</code>. This allows the client to distinguish |
| 81 // between different kinds of responses by using the <code>type</code> | 83 // between different kinds of responses by using the <code>type</code> |
| 82 // property. | 84 // property. |
| 83 struct Response { | 85 struct Response { |
| 84 // Every response returned by the VM Service has the | 86 // Every response returned by the VM Service has the |
| 85 // <code>type</code> property. This allows the client distinguish | 87 // <code>type</code> property. This allows the client distinguish |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 id string | 127 id string |
| 126 } | 128 } |
| 127 | 129 |
| 128 | 130 |
| 129 // A <code>CodeRef</code> encodes a reference to a <code>Code</code> object. | 131 // A <code>CodeRef</code> encodes a reference to a <code>Code</code> object. |
| 130 struct CodeRef extends ObjectRef { | 132 struct CodeRef extends ObjectRef { |
| 131 placeholder int | 133 placeholder int |
| 132 } | 134 } |
| 133 | 135 |
| 134 | 136 |
| 137 struct ClassRef extends ObjectRef { | |
| 138 placeholder int | |
| 139 } | |
| 140 | |
| 141 | |
| 135 // A <code>FunctionRef</code> encodes a reference to a <code>Function</code> obj ect. | 142 // A <code>FunctionRef</code> encodes a reference to a <code>Function</code> obj ect. |
| 136 struct FunctionRef extends ObjectRef { | 143 struct FunctionRef extends ObjectRef { |
| 137 placeholder int | 144 placeholder int |
| 138 } | 145 } |
| 139 | 146 |
| 140 | 147 |
| 141 // A <code>FieldRef</code> encodes a reference to a <code>Field</code> object. | 148 // A <code>FieldRef</code> encodes a reference to a <code>Field</code> object. |
| 142 struct FieldRef extends ObjectRef { | 149 struct FieldRef extends ObjectRef { |
| 143 placeholder int | 150 placeholder int |
| 144 } | 151 } |
| 145 | 152 |
| 146 | 153 |
| 147 // A <code>InstanceRef</code> encodes a reference to a <code>Instance</code> obj ect. | 154 // A <code>InstanceRef</code> encodes a reference to a <code>Instance</code> obj ect. |
| 148 struct InstanceRef extends ObjectRef { | 155 struct InstanceRef extends ObjectRef { |
| 149 placeholder int | 156 placeholder int |
| 150 } | 157 } |
| 151 | 158 |
| 152 | 159 |
| 153 // A <code>ScriptRef</code> encodes a reference to a <code>Script</code> object. | 160 // A <code>ScriptRef</code> encodes a reference to a <code>Script</code> object. |
| 154 struct ScriptRef extends ObjectRef { | 161 struct ScriptRef extends ObjectRef { |
| 155 placeholder int | 162 placeholder int |
| 156 } | 163 } |
| 157 | 164 |
| 158 | 165 |
| 166 struct Class extends Object { | |
| 167 placeholder int | |
| 168 } | |
| 169 | |
| 170 | |
| 159 // A <code>Location</code> encodes a location withing a dart script. | 171 // A <code>Location</code> encodes a location withing a dart script. |
| 160 // | 172 // |
| 161 // TODO(turnidge): Should this really be broken out as its own type? | 173 // TODO(turnidge): Should this really be broken out as its own type? |
| 162 // If so, we should use it more consistently in the api. For example, | 174 // If so, we should use it more consistently in the api. For example, |
| 163 // in Frame. | 175 // in Frame. |
| 164 struct Location { | 176 struct Location { |
| 165 script ScriptRef | 177 script ScriptRef |
| 166 tokenPos int | 178 tokenPos int |
| 167 } | 179 } |
| 168 | 180 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 265 | 277 |
| 266 | 278 |
| 267 // TODO(koda): slot can actually be a string, and integer or a | 279 // TODO(koda): slot can actually be a string, and integer or a |
| 268 // FieldRef. Fix this to be consistent with RetainingPathElement. | 280 // FieldRef. Fix this to be consistent with RetainingPathElement. |
| 269 struct InboundReference { | 281 struct InboundReference { |
| 270 source InstanceRef | 282 source InstanceRef |
| 271 slot int | 283 slot int |
| 272 } | 284 } |
| 273 | 285 |
| 274 | 286 |
| 287 struct ClassList { | |
| 288 classes []Class | |
|
turnidge
2015/02/03 17:59:09
Class -> ClassRef
Cutch
2015/02/03 17:59:56
Done.
| |
| 289 } | |
| 290 | |
| 291 | |
| 275 // A <code>GCOption</code> is used to indicate which form of garbage | 292 // A <code>GCOption</code> is used to indicate which form of garbage |
| 276 // collection is requested. | 293 // collection is requested. |
| 277 enum GCOption { | 294 enum GCOption { |
| 278 full | 295 full |
| 279 } | 296 } |
| 280 | 297 |
| 281 // A <code>StepOption</code> is used to indicate which form of | 298 // A <code>StepOption</code> is used to indicate which form of |
| 282 // single-stepping is requested. | 299 // single-stepping is requested. |
| 283 enum StepOption { | 300 enum StepOption { |
| 284 into | 301 into |
| 285 over | 302 over |
| 286 out | 303 out |
| 287 } | 304 } |
| 288 | 305 |
| 289 // A <code>TagSelector</code> is used to indicate which sets of tags | 306 // A <code>TagSelector</code> is used to indicate which sets of tags |
| 290 // should take precedence in a cpu profile. | 307 // should take precedence in a cpu profile. |
| 291 enum TagSelector { | 308 enum TagSelector { |
| 292 UserVM | 309 UserVM |
| 293 UserOnly | 310 UserOnly |
| 294 VMUser | 311 VMUser |
| 295 VMOnly | 312 VMOnly |
| 296 None | 313 None |
| 297 } | 314 } |
| 298 | 315 |
| OLD | NEW |