Improve conversation open benchmark test.

This commit is contained in:
Cody Henthorne
2023-07-10 19:39:06 -04:00
committed by Clark Chen
parent 7e909f2bee
commit aee0b5268f
7 changed files with 38 additions and 9 deletions

View File

@@ -148,6 +148,7 @@ object TestMessages {
1024,
1024,
Optional.empty(),
Optional.empty(),
Optional.of("/not-there.jpg"),
false,
false,
@@ -169,6 +170,7 @@ object TestMessages {
1024,
1024,
Optional.empty(),
Optional.empty(),
Optional.of("/not-there.aac"),
true,
false,

View File

@@ -65,7 +65,7 @@ object TestUsers {
).blockingGet()
ServiceResponseProcessor.DefaultProcessor(response).resultOrThrow
SignalStore.kbsValues().optOut()
SignalStore.svr().optOut()
RegistrationUtil.maybeMarkRegistrationComplete()
SignalDatabase.recipients.setProfileName(Recipient.self().id, ProfileName.fromParts("Tester", "McTesterson"))

View File

@@ -292,7 +292,6 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
this.locale = Locale.getDefault();
startupStopwatch = new Stopwatch("conversation-open");
SignalLocalMetrics.ConversationOpen.start();
SignalTrace.beginSection("ConversationOpen");
}
@Override
@@ -405,7 +404,6 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
startupStopwatch.stop(TAG);
SignalLocalMetrics.ConversationOpen.onRenderFinished();
listener.onFirstRender();
SignalTrace.endSection();
return Unit.INSTANCE;
});
}

View File

@@ -82,29 +82,41 @@ public final class SignalLocalMetrics {
private static String id;
public static void start() {
SignalTrace.beginSection("6-ConversationOpen");
id = NAME + "-" + System.currentTimeMillis();
LocalMetrics.getInstance().start(id, NAME);
SignalTrace.beginSection("1-ConversationOpen-ViewModel-Init");
}
public static void onMetadataLoadStarted() {
SignalTrace.endSection();
LocalMetrics.getInstance().split(id, SPLIT_VIEWMODEL_INIT);
SignalTrace.beginSection("2-ConversationOpen-Metadata-Loaded");
}
public static void onMetadataLoaded() {
SignalTrace.endSection();
LocalMetrics.getInstance().split(id, SPLIT_METADATA_LOADED);
SignalTrace.beginSection("3-ConversationOpen-Data-Loaded");
}
public static void onDataLoaded() {
SignalTrace.endSection();
LocalMetrics.getInstance().split(id, SPLIT_DATA_LOADED);
SignalTrace.beginSection("4-ConversationOpen-Data-Posted");
}
public static void onDataPostedToMain() {
SignalTrace.endSection();
LocalMetrics.getInstance().split(id, SPLIT_DATA_POSTED);
SignalTrace.beginSection("5-ConversationOpen-Render");
}
public static void onRenderFinished() {
SignalTrace.endSection();
LocalMetrics.getInstance().split(id, SPLIT_RENDER);
LocalMetrics.getInstance().end(id);
SignalTrace.endSection();
}
}

View File

@@ -1,15 +1,21 @@
package org.thoughtcrime.securesms.util
import org.thoughtcrime.securesms.BuildConfig
import java.util.concurrent.Executors
import androidx.tracing.Trace as AndroidTrace
object SignalTrace {
private val executor by lazy(LazyThreadSafetyMode.NONE) {
Executors.newSingleThreadExecutor()
}
@JvmStatic
fun beginSection(methodName: String) {
if (!BuildConfig.TRACING_ENABLED) {
return
}
AndroidTrace.beginSection(methodName)
executor.execute { AndroidTrace.beginSection(methodName) }
}
@JvmStatic
@@ -17,6 +23,6 @@ object SignalTrace {
if (!BuildConfig.TRACING_ENABLED) {
return
}
AndroidTrace.endSection()
executor.execute { AndroidTrace.endSection() }
}
}