New issue
Advanced search Search tips

Issue 822816 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocking:
issue 819794



Sign in to add a comment

Add TraceEvents to WebappSplashScreenController

Project Member Reported by dskiba@chromium.org, Mar 16 2018

Issue description

WebappSplashScreenController is invisible in traces. This makes it hard to reason about it.

Add TraceEvents to answer two questions:

1. Where splash screen was added/removed.

2. How log it was visible.
 
Owner: mheikal@chromium.org

Comment 2 by dskiba@chromium.org, Mar 23 2018

Blocking: 819794
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a22e371f6f88999c040a88e152f02063e27290d

commit 2a22e371f6f88999c040a88e152f02063e27290d
Author: Mohamed Heikal <mheikal@google.com>
Date: Mon Mar 26 18:23:46 2018

[Android] Add TraceEvents to WebappSplashScreenController

Adds Async TraceEvents to track the splashscreen and how long it is
visible.

Bug:  822816 
Change-Id: I9a75001830d36cb7f0a35d0cb4d04511242d74fd
Reviewed-on: https://chromium-review.googlesource.com/978453
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Dmitry Skiba <dskiba@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545843}
[modify] https://crrev.com/2a22e371f6f88999c040a88e152f02063e27290d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappSplashScreenController.java

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16d1560d57698f2ec9b041dde1468890dc5c3471

commit 16d1560d57698f2ec9b041dde1468890dc5c3471
Author: Mohamed Heikal <mheikal@google.com>
Date: Tue Mar 27 14:39:43 2018

[Android] Async Tracing now defers to EarlyTraceEvent until native starts

Async Tracing (using TraceEvent.startAsync/finishAsync) used to be a
no-op if native has not loaded yet. Now they are deferred to
EarlyTraceEvent and stored on the java side until native is loaded then
are sent ala TraceEvent.begin/end

Bug:  822816 
Change-Id: I612d03213b832cc6d381d98203bc5c9aca4ab12b
Reviewed-on: https://chromium-review.googlesource.com/971763
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Dmitry Skiba <dskiba@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546108}
[modify] https://crrev.com/16d1560d57698f2ec9b041dde1468890dc5c3471/base/android/early_trace_event_binding.cc
[modify] https://crrev.com/16d1560d57698f2ec9b041dde1468890dc5c3471/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
[modify] https://crrev.com/16d1560d57698f2ec9b041dde1468890dc5c3471/base/android/java/src/org/chromium/base/TraceEvent.java
[modify] https://crrev.com/16d1560d57698f2ec9b041dde1468890dc5c3471/base/android/javatests/src/org/chromium/base/EarlyTraceEventTest.java
[modify] https://crrev.com/16d1560d57698f2ec9b041dde1468890dc5c3471/base/trace_event/common/trace_event_common.h

Status: Fixed (was: Assigned)
Status: Assigned (was: Fixed)
Trace events don't match on the trace UI if the start trace event used early async trace and the end trace event used normal async trace (due to having different categories java vs earlyjava). I am reopening this bug.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8fe388ec38a7a345147e93800cf9a027c6cbacf5

commit 8fe388ec38a7a345147e93800cf9a027c6cbacf5
Author: Mohamed Heikal <mheikal@google.com>
Date: Tue Apr 24 15:58:14 2018

[Android] WebappSplashScreenController trace events now have an id

WebappSplashScreenController is just using 0 for the async trace event
ids. This is not a proper id and has been changed to hashCode().

Bug:  822816 
Change-Id: I4e0bb42f76e920d3a57a2f1c13d7edb349390c33
Reviewed-on: https://chromium-review.googlesource.com/1024774
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553141}
[modify] https://crrev.com/8fe388ec38a7a345147e93800cf9a027c6cbacf5/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappSplashScreenController.java

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14c5d49cfb5674793fe0d5223cc4cf257732a8ff

commit 14c5d49cfb5674793fe0d5223cc4cf257732a8ff
Author: Mohamed Heikal <mheikal@google.com>
Date: Wed Apr 25 20:18:05 2018

[Android] Fix bug where Early Async Trace Events dont match up

Currently if an Async Trace event was processed by early tracing it is
given the category (EarlyJava) and if the finish of that same event
happened after native has loaded and regular tracing has started then it
is given a different category (Java).

This CL fixes this bug by keeping track of all async events started
during early tracing and making sure the finish event is also sent from
early tracing.

Bug:  822816 
Change-Id: Idaec00c243b9b77195b91e8409e99076be158853
Reviewed-on: https://chromium-review.googlesource.com/1024911
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553714}
[modify] https://crrev.com/14c5d49cfb5674793fe0d5223cc4cf257732a8ff/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
[modify] https://crrev.com/14c5d49cfb5674793fe0d5223cc4cf257732a8ff/base/android/javatests/src/org/chromium/base/EarlyTraceEventTest.java

Status: Fixed (was: Assigned)

Sign in to add a comment