Refine message send bench milestones.

This commit is contained in:
Matthew Chen 2021-09-08 11:19:23 -03:00
parent 5e7636ec62
commit 5de4cb26c5
3 changed files with 10 additions and 21 deletions

View File

@ -39,10 +39,14 @@ public class CVCell: UICollectionViewCell, CVItemCell, CVRootComponentHost {
componentView?.setIsCellVisible(isCellVisible)
if isCellVisible {
if let renderItem = renderItem,
let outgoingMessage = renderItem.interaction as? TSOutgoingMessage {
BenchManager.completeEvent(eventId: "sendMessageSentDidAppear-\(outgoingMessage.timestamp)")
}
if let renderItem = renderItem,
let outgoingMessage = renderItem.interaction as? TSOutgoingMessage,
outgoingMessage.messageState != .sending {
BenchManager.completeEvent(eventId: "sendMessageSentDisplayed-\(outgoingMessage.timestamp)")
BenchManager.completeEvent(eventId: "sendMessageSentDidAppearSent-\(outgoingMessage.timestamp)")
}
guard let renderItem = renderItem,

View File

@ -573,8 +573,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate {
}
}()
var benchEventIdsToComplete = [String]()
let batchUpdatesBlock = {
AssertIsOnMainThread()
@ -583,15 +581,12 @@ extension ConversationViewController: CVLoadCoordinatorDelegate {
if !DebugFlags.reduceLogChatter {
Logger.verbose("\(item.logSafeDescription)")
}
switch item.updateType {
case .delete(let oldIndex):
let indexPath = IndexPath(row: oldIndex, section: section)
self.collectionView.deleteItems(at: [indexPath])
case .insert(let newIndex):
if let outgoingMessage = item.value.interaction as? TSOutgoingMessage, outgoingMessage.messageState == .sending {
benchEventIdsToComplete.append("sendMessageSending-\(outgoingMessage.timestamp)")
}
let indexPath = IndexPath(row: newIndex, section: section)
self.collectionView.insertItems(at: [indexPath])
case .move(let oldIndex, let newIndex):
@ -599,10 +594,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate {
let newIndexPath = IndexPath(row: newIndex, section: section)
self.collectionView.moveItem(at: oldIndexPath, to: newIndexPath)
case .update(let oldIndex, _):
if let outgoingMessage = item.value.interaction as? TSOutgoingMessage, outgoingMessage.messageState != .sending {
benchEventIdsToComplete.append("sendMessagePostNetwork-\(outgoingMessage.timestamp)")
benchEventIdsToComplete.append("sendMessageSent-\(outgoingMessage.timestamp)")
}
let indexPath = IndexPath(row: oldIndex, section: section)
self.collectionView.reloadItems(at: [indexPath])
}
@ -616,8 +607,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate {
return
}
BenchManager.completeEvents(eventIds: benchEventIdsToComplete)
// If the scroll action is not animated, perform it _before_
// updateViewToReflectLoad().
if !scrollAction.isAnimated {

View File

@ -39,16 +39,12 @@ public extension ThreadUtil {
let message: TSOutgoingMessage = outgoingMessagePreparer.unpreparedMessage
BenchManager.startEvent(
title: "Send Message Milestone: Sending (\(message.timestamp))",
eventId: "sendMessageSending-\(message.timestamp)"
title: "Send Message Milestone: Did Appear (\(message.timestamp))",
eventId: "sendMessageSentDidAppear-\(message.timestamp)"
)
BenchManager.startEvent(
title: "Send Message Milestone: Sent (\(message.timestamp))",
eventId: "sendMessageSent-\(message.timestamp)"
)
BenchManager.startEvent(
title: "Send Message Milestone: Sent Displayed (\(message.timestamp))",
eventId: "sendMessageSentDisplayed-\(message.timestamp)"
title: "Send Message Milestone: Did Appear Sent (\(message.timestamp))",
eventId: "sendMessageSentDidAppearSent-\(message.timestamp)"
)
BenchManager.benchAsync(title: "Send Message Milestone: Enqueue \(message.timestamp)") { benchmarkCompletion in
Self.enqueueSendAsyncWrite { writeTransaction in