Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21555aba authored by Chris Craik's avatar Chris Craik
Browse files

New log format, Manual log generation, plus logging of invalidates

bug:5062896

Added features to TileProfiler, updated jni interface to allow querying of
arbitrary log data via strings. Depends on the following webkit change:

https://android-git.corp.google.com/g/#change,122779

For new logging jni interface, and logging of invalidates.

Change-Id: I80ba6702b87e86ec76e5b0eafde45f4ef3a80ad3
parent d2ceb321
Loading
Loading
Loading
Loading
+6 −16
Original line number Diff line number Diff line
@@ -9119,20 +9119,12 @@ public class WebView extends AbsoluteLayout
        return nativeTileProfilingNumTilesInFrame(frame);
    }
    /** @hide only used by profiling tests */
    public int tileProfilingGetX(int frame, int tile) {
        return nativeTileProfilingGetX(frame, tile);
    public int tileProfilingGetInt(int frame, int tile, String key) {
        return nativeTileProfilingGetInt(frame, tile, key);
    }
    /** @hide only used by profiling tests */
    public int tileProfilingGetY(int frame, int tile) {
        return nativeTileProfilingGetY(frame, tile);
    }
    /** @hide only used by profiling tests */
    public boolean tileProfilingGetReady(int frame, int tile) {
        return nativeTileProfilingGetReady(frame, tile);
    }
    /** @hide only used by profiling tests */
    public int tileProfilingGetLevel(int frame, int tile) {
        return nativeTileProfilingGetLevel(frame, tile);
    public float tileProfilingGetFloat(int frame, int tile, String key) {
        return nativeTileProfilingGetFloat(frame, tile, key);
    }

    private native int nativeCacheHitFramePointer();
@@ -9262,10 +9254,8 @@ public class WebView extends AbsoluteLayout
    private native void     nativeTileProfilingClear();
    private native int      nativeTileProfilingNumFrames();
    private native int      nativeTileProfilingNumTilesInFrame(int frame);
    private native int      nativeTileProfilingGetX(int frame, int tile);
    private native int      nativeTileProfilingGetY(int frame, int tile);
    private native boolean  nativeTileProfilingGetReady(int frame, int tile);
    private native int      nativeTileProfilingGetLevel(int frame, int tile);
    private native int      nativeTileProfilingGetInt(int frame, int tile, String key);
    private native float    nativeTileProfilingGetFloat(int frame, int tile, String key);
    // Never call this version except by updateCachedTextfield(String) -
    // we always want to pass in our generation number.
    private native void     nativeUpdateCachedTextfield(String updatedText,
+4 −2
Original line number Diff line number Diff line
@@ -7,14 +7,16 @@
                 android:label="@string/app_name"
                 android:hardwareAccelerated="true">
        <activity android:name=".ProfileActivity"
                  android:label="@string/profile_activity">
                  android:label="@string/profile_activity"
                  android:theme="@android:style/Theme.Holo.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".PlaybackActivity"
                  android:label="@string/playback_activity">
                  android:label="@string/playback_activity"
                  android:theme="@android:style/Theme.Holo.NoActionBar">
        </activity>
    </application>
</manifest>
+16 −3
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <Button
            android:id="@+id/inspect"
        <Spinner
            android:id="@+id/movement"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/inspect_log"
            android:prompt="@string/movement_method"
            />
        <Spinner
            android:id="@+id/velocity"
@@ -36,6 +36,13 @@
            android:gravity="center_horizontal"
            android:prompt="@string/desired_scroll_velocity"
            />
        <ToggleButton
            android:id="@+id/capture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textOn="@string/capture_stop"
            android:textOff="@string/capture_start"
            />
        <EditText
            android:id="@+id/url"
            android:layout_width="0dip"
@@ -44,6 +51,12 @@
            android:imeOptions="actionGo"
            android:layout_weight="1"
            />
        <Button
            android:id="@+id/inspect"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/inspect_log"
            />
    </LinearLayout>
    <com.test.tilebenchmark.ProfiledWebView
        android:id="@+id/web"
+13 −4
Original line number Diff line number Diff line
@@ -18,8 +18,17 @@
    <color name="ready_tile">#ff4ac230</color>
    <!-- The color of tiles with stale / invalid textures -->
    <color name="unready_tile">#ff744400</color>
    <!-- Background color for logged URLs -->
    <color name="finished_url">#ff004000</color>
    <!-- Background color for URLs with logging in progress -->
    <color name="unfinished_url">#ff400000</color>
    <!-- Viewport overlay in playback -->
    <color name="view">#50000050</color>
    <!-- Invalidated region overlay in playback - start color -->
    <color name="inval_region_start">#80ff0000</color>
    <!-- Invalidated region overlay in playback - stop color-->
    <color name="inval_region_stop">#80ffffff</color>

    <!-- Background color for not testing -->
    <color name="background_not_testing">#ff000000</color>
    <!-- Background color for during testing -->
    <color name="background_start_testing">#ff400000</color>
    <!-- Background color for testing complete -->
    <color name="background_stop_testing">#ff004000</color>
</resources>
+23 −1
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@
    <string name="loadbutton">Load</string>
    <!-- Button, opens the playback activity [CHAR LIMIT=20] -->
    <string name="inspect_log">Inspect Log</string>
    <!-- ToggleButton label when pressing starts capture [CHAR LIMIT=15] -->
    <string name="capture_start">Start Capture</string>
    <!-- ToggleButton label when pressing stops capture [CHAR LIMIT=15] -->
    <string name="capture_stop">Stop Capture</string>
    <!-- The speed of auto-scrolling [CHAR LIMIT=30] -->
    <string name="desired_scroll_velocity">Choose Scroll Velocity</string>
    <!-- Pixels moved per frame [CHAR LIMIT=10] -->
@@ -39,6 +43,21 @@
        <item>200</item>
        <item>400</item>
    </string-array>
    <!-- Drop down menu for selecting scrolling vs manual navigation for
    capturing [CHAR LIMIT=15] -->
    <string name="movement_method">Movement Method</string>
    <!-- Drop down menu entry - automatically scroll to the end of the page
    with scrollBy() [CHAR LIMIT=15] -->
    <string name="movement_auto_scroll">Auto-scroll</string>
    <!-- Drop down menu entry -  [CHAR LIMIT=15] -->
    <string name="movement_auto_fling">Auto-fling</string>
    <!-- Drop down menu entry - manually navigate the page(s), hit 'capture'
    button [CHAR LIMIT=15] -->
    <string name="movement_manual">Manual</string>

    <!-- Error popup indicating log data couldn't be loaded [CHAR LIMIT=60] -->
    <string name="error_no_data">Error: log data could not be loaded.</string>

    <!-- 25th percentile - 25% of frames fall below this value [CHAR LIMIT=12]
    -->
    <string name="percentile_25">25%ile</string>
@@ -56,7 +75,7 @@
    <string name="format_stat">%4.4f</string>
    <!-- Format string for displaying aggregate stats+values (nr of valid tiles,
    etc.) [CHAR LIMIT=20] -->
    <string name="format_stat_name">%1$9s %2$3d</string>
    <string name="format_stat_name">%1$-20s %2$3d</string>
    <!-- Text hovering over canvas, number of tiles ready [CHAR LIMIT=15] -->
    <string name="ready_tiles">Ready Tiles</string>
    <!-- Text hovering over canvas, number tiles not ready [CHAR LIMIT=15] -->
@@ -64,4 +83,7 @@
    <!-- Text hovering over canvas, number of tiles that haven't been
    allocated to a place on the page [CHAR LIMIT=15] -->
    <string name="unplaced_tiles">Unplaced Tiles</string>
    <!-- Text hovering over canvas, number of invalidated regions this frame
    [CHAR LIMIT=15] -->
    <string name="number_invalidates">Invalidates</string>
</resources>
Loading