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

Unified Diff: base/android/java/src/org/chromium/base/EarlyTraceEvent.java

Issue 2886763002: android: Record early toplevel Looper events in tracing. (Closed)
Patch Set: . Created 3 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
« no previous file with comments | « no previous file | base/android/java/src/org/chromium/base/TraceEvent.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/android/java/src/org/chromium/base/EarlyTraceEvent.java
diff --git a/base/android/java/src/org/chromium/base/EarlyTraceEvent.java b/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
index 6aa62210a1262d773a7c90a13555448812bae02c..727fc7ac0329ba65efc2271c18dbc9c0323c80be 100644
--- a/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
+++ b/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
@@ -81,6 +81,7 @@ public class EarlyTraceEvent {
*/
@SuppressFBWarnings("DMI_HARDCODED_ABSOLUTE_FILENAME")
static void maybeEnable() {
+ ThreadUtils.assertOnUiThread();
boolean shouldEnable = false;
// Checking for the trace config filename touches the disk.
StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
@@ -126,6 +127,16 @@ public class EarlyTraceEvent {
}
}
+ /**
+ * Returns whether early tracing is currently active.
+ *
+ * Active means that Early Tracing is either enabled or waiting to complete pending events.
+ */
+ static boolean isActive() {
+ int state = sState;
+ return (state == STATE_ENABLED || state == STATE_FINISHING);
+ }
+
/** @see {@link TraceEvent#begin()}. */
public static void begin(String name) {
// begin() and end() are going to be called once per TraceEvent, this avoids entering a
@@ -145,10 +156,9 @@ public class EarlyTraceEvent {
/** @see {@link TraceEvent#end()}. */
public static void end(String name) {
- int state = sState;
- if (state != STATE_ENABLED && state != STATE_FINISHING) return;
+ if (!isActive()) return;
synchronized (sLock) {
- if (sState != STATE_ENABLED && sState != STATE_FINISHING) return;
+ if (!isActive()) return;
Event event = sPendingEvents.remove(name);
if (event == null) return;
event.end();
« no previous file with comments | « no previous file | base/android/java/src/org/chromium/base/TraceEvent.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698