Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Unified Diff: runtime/vm/timeline.h

Issue 1960483002: Include thread CPU time in Timeline (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/timeline.h
diff --git a/runtime/vm/timeline.h b/runtime/vm/timeline.h
index f78b5160a1d77daaee06dfe4e9f36563cc97472c..1646d99efe29fbc19dc2399c1941a94afadf0c57 100644
--- a/runtime/vm/timeline.h
+++ b/runtime/vm/timeline.h
@@ -156,20 +156,27 @@ class TimelineEvent {
int64_t micros = OS::GetCurrentMonotonicMicros());
void DurationBegin(const char* label,
- int64_t micros = OS::GetCurrentMonotonicMicros());
- void DurationEnd(int64_t micros = OS::GetCurrentMonotonicMicros());
+ int64_t micros = OS::GetCurrentMonotonicMicros(),
+ int64_t thread_micros = OS::GetCurrentThreadCPUMicros());
+ void DurationEnd(int64_t micros = OS::GetCurrentMonotonicMicros(),
+ int64_t thread_micros = OS::GetCurrentThreadCPUMicros());
+
void Instant(const char* label,
int64_t micros = OS::GetCurrentMonotonicMicros());
void Duration(const char* label,
int64_t start_micros,
- int64_t end_micros);
+ int64_t end_micros,
+ int64_t thread_start_micros = -1,
+ int64_t thread_end_micros = -1);
void Begin(const char* label,
- int64_t micros = OS::GetCurrentMonotonicMicros());
+ int64_t micros = OS::GetCurrentMonotonicMicros(),
+ int64_t thread_micros = OS::GetCurrentThreadCPUMicros());
void End(const char* label,
- int64_t micros = OS::GetCurrentMonotonicMicros());
+ int64_t micros = OS::GetCurrentMonotonicMicros(),
+ int64_t thread_micros = OS::GetCurrentThreadCPUMicros());
void Counter(const char* label,
int64_t micros = OS::GetCurrentMonotonicMicros());
@@ -204,6 +211,10 @@ class TimelineEvent {
return (event_type() == kDuration) && (timestamp1_ > timestamp0_);
}
+ bool HasThreadCPUTime() const;
+ int64_t ThreadCPUTimeDuration() const;
+ int64_t ThreadCPUTimeOrigin() const;
+
int64_t TimeOrigin() const;
int64_t AsyncId() const;
int64_t TimeDuration() const;
@@ -311,6 +322,16 @@ class TimelineEvent {
timestamp1_ = value;
}
+ void set_thread_timestamp0(int64_t value) {
+ ASSERT(thread_timestamp0_ == -1);
+ thread_timestamp0_ = value;
+ }
+
+ void set_thread_timestamp1(int64_t value) {
+ ASSERT(thread_timestamp1_ == -1);
+ thread_timestamp1_ = value;
+ }
+
bool pre_serialized_json() const {
return PreSerializedJSON::decode(state_);
}
@@ -337,6 +358,8 @@ class TimelineEvent {
int64_t timestamp0_;
int64_t timestamp1_;
+ int64_t thread_timestamp0_;
+ int64_t thread_timestamp1_;
TimelineEventArgument* arguments_;
intptr_t arguments_length_;
uword state_;
@@ -486,6 +509,7 @@ class TimelineDurationScope : public TimelineEventScope {
private:
int64_t timestamp_;
+ int64_t thread_timestamp_;
DISALLOW_COPY_AND_ASSIGN(TimelineDurationScope);
};
« runtime/vm/os_macos.cc ('K') | « runtime/vm/os_win.cc ('k') | runtime/vm/timeline.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698