More accurate timings of conversation-open component.

fork-5.53.8
Greyson Parrelli 2022-03-16 23:22:26 -04:00 zatwierdzone przez Cody Henthorne
rodzic 604f6709db
commit cb906edd11
3 zmienionych plików z 9 dodań i 2 usunięć

Wyświetl plik

@ -340,6 +340,8 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
disposables.add(conversationViewModel.getChatColors().subscribe(recyclerViewColorizer::setChatColors));
disposables.add(conversationViewModel.getMessageData().subscribe(messageData -> {
SignalLocalMetrics.ConversationOpen.onDataPostedToMain();
ConversationAdapter adapter = getListAdapter();
if (adapter != null) {
List<ConversationMessage> messages = messageData.getMessages();
@ -695,7 +697,6 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
public void onItemRangeInserted(int positionStart, int itemCount) {
adapter.unregisterAdapterDataObserver(this);
startupStopwatch.split("data-set");
SignalLocalMetrics.ConversationOpen.onDataLoaded();
list.post(() -> {
startupStopwatch.split("first-render");
startupStopwatch.stop(TAG);

Wyświetl plik

@ -185,7 +185,8 @@ public class ConversationViewModel extends ViewModel {
return pagedData.getData();
})
.observeOn(Schedulers.io())
.withLatestFrom(conversationMetadata, (messages, metadata) -> new MessageData(metadata, messages));
.withLatestFrom(conversationMetadata, (messages, metadata) -> new MessageData(metadata, messages))
.doOnNext(a -> SignalLocalMetrics.ConversationOpen.onDataLoaded());
Observable<Recipient> liveRecipient = recipientId.distinctUntilChanged().switchMap(id -> Recipient.live(id).asObservable());

Wyświetl plik

@ -75,6 +75,7 @@ public final class SignalLocalMetrics {
private static final String SPLIT_VIEWMODEL_INIT = "viewmodel-init";
private static final String SPLIT_METADATA_LOADED = "metadata-loaded";
private static final String SPLIT_DATA_LOADED = "data-loaded";
private static final String SPLIT_DATA_POSTED = "data-posted";
private static final String SPLIT_RENDER = "render";
private static String id;
@ -96,6 +97,10 @@ public final class SignalLocalMetrics {
LocalMetrics.getInstance().split(id, SPLIT_DATA_LOADED);
}
public static void onDataPostedToMain() {
LocalMetrics.getInstance().split(id, SPLIT_DATA_POSTED);
}
public static void onRenderFinished() {
LocalMetrics.getInstance().split(id, SPLIT_RENDER);
LocalMetrics.getInstance().end(id);