| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 #ifndef RUNTIME_VM_PROFILER_SERVICE_H_ | 5 #ifndef RUNTIME_VM_PROFILER_SERVICE_H_ |
| 6 #define RUNTIME_VM_PROFILER_SERVICE_H_ | 6 #define RUNTIME_VM_PROFILER_SERVICE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/code_observers.h" | 9 #include "vm/code_observers.h" |
| 10 #include "vm/globals.h" | 10 #include "vm/globals.h" |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 return (kind == kExclusiveCode) || (kind == kInclusiveCode); | 368 return (kind == kExclusiveCode) || (kind == kInclusiveCode); |
| 369 } | 369 } |
| 370 | 370 |
| 371 static bool IsFunctionTrie(TrieKind kind) { return !IsCodeTrie(kind); } | 371 static bool IsFunctionTrie(TrieKind kind) { return !IsCodeTrie(kind); } |
| 372 | 372 |
| 373 explicit Profile(Isolate* isolate); | 373 explicit Profile(Isolate* isolate); |
| 374 | 374 |
| 375 // Build a filtered model using |filter| with the specified |tag_order|. | 375 // Build a filtered model using |filter| with the specified |tag_order|. |
| 376 void Build(Thread* thread, | 376 void Build(Thread* thread, |
| 377 SampleFilter* filter, | 377 SampleFilter* filter, |
| 378 SampleBuffer* sample_buffer, |
| 378 TagOrder tag_order, | 379 TagOrder tag_order, |
| 379 intptr_t extra_tags = 0); | 380 intptr_t extra_tags = 0); |
| 380 | 381 |
| 381 // After building: | 382 // After building: |
| 382 int64_t min_time() const { return min_time_; } | 383 int64_t min_time() const { return min_time_; } |
| 383 int64_t max_time() const { return max_time_; } | 384 int64_t max_time() const { return max_time_; } |
| 384 int64_t GetTimeSpan() const { return max_time() - min_time(); } | 385 int64_t GetTimeSpan() const { return max_time() - min_time(); } |
| 385 intptr_t sample_count() const { return sample_count_; } | 386 intptr_t sample_count() const { return sample_count_; } |
| 386 | 387 |
| 387 intptr_t NumFunctions() const; | 388 intptr_t NumFunctions() const; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 int64_t time_extent_micros); | 494 int64_t time_extent_micros); |
| 494 | 495 |
| 495 static void ClearSamples(); | 496 static void ClearSamples(); |
| 496 | 497 |
| 497 private: | 498 private: |
| 498 static void PrintJSONImpl(Thread* thread, | 499 static void PrintJSONImpl(Thread* thread, |
| 499 JSONStream* stream, | 500 JSONStream* stream, |
| 500 Profile::TagOrder tag_order, | 501 Profile::TagOrder tag_order, |
| 501 intptr_t extra_tags, | 502 intptr_t extra_tags, |
| 502 SampleFilter* filter, | 503 SampleFilter* filter, |
| 504 SampleBuffer* sample_buffer, |
| 503 bool as_timline); | 505 bool as_timline); |
| 504 }; | 506 }; |
| 505 | 507 |
| 506 } // namespace dart | 508 } // namespace dart |
| 507 | 509 |
| 508 #endif // RUNTIME_VM_PROFILER_SERVICE_H_ | 510 #endif // RUNTIME_VM_PROFILER_SERVICE_H_ |
| OLD | NEW |