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 |