For #17816: add profiler marker for onPreDraw via HomeActivity.onStart.

This may be useful for MAIN start up to determine when the user begins
seeing content.
upstream-sync
Michael Comella 3 years ago committed by Michael Comella
parent 4de49c7585
commit b3ef8a11e8

@ -92,6 +92,7 @@ import org.mozilla.fenix.library.history.HistoryFragmentDirections
import org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragmentDirections
import org.mozilla.fenix.perf.Performance
import org.mozilla.fenix.perf.PerformanceInflater
import org.mozilla.fenix.perf.ProfilerMarkers
import org.mozilla.fenix.perf.StartupTimeline
import org.mozilla.fenix.search.SearchDialogFragmentDirections
import org.mozilla.fenix.session.PrivateNotificationService
@ -327,6 +328,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
breadcrumb(
message = "onStart()"
)
ProfilerMarkers.homeActivityOnStart(rootContainer, components.core.engine.profiler)
}
override fun onStop() {

@ -0,0 +1,22 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.perf
import android.view.View
import androidx.core.view.doOnPreDraw
import mozilla.components.concept.base.profiler.Profiler
/**
* A container for functions for when adding a profiler marker is less readable
* (e.g. multiple lines, more advanced logic).
*/
object ProfilerMarkers {
fun homeActivityOnStart(rootContainer: View, profiler: Profiler?) {
rootContainer.doOnPreDraw {
profiler?.addMarker("onPreDraw", "expected first frame via HomeActivity.onStart")
}
}
}
Loading…
Cancel
Save