Add additional decryption benchmark trace.

This commit is contained in:
Cody Henthorne
2026-03-06 16:12:33 -05:00
committed by jeffrey-signal
parent 13444136bd
commit 4f9e77e7cd
3 changed files with 11 additions and 3 deletions

View File

@@ -73,6 +73,7 @@ import org.whispersystems.signalservice.internal.push.Content
import org.whispersystems.signalservice.internal.push.Envelope
import org.whispersystems.signalservice.internal.push.PniSignatureMessage
import org.whispersystems.signalservice.internal.util.Util
import org.thoughtcrime.securesms.util.SignalTrace
import java.util.Optional
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.DurationUnit
@@ -154,7 +155,9 @@ object MessageDecryptor {
return try {
val startTimeNanos = System.nanoTime()
SignalTrace.beginSection("MessageDecryptor#cipherDecrypt")
val cipherResult: SignalServiceCipherResult? = cipher.decrypt(envelope, serverDeliveredTimestamp)
SignalTrace.endSection()
val endTimeNanos = System.nanoTime()
val envelope = if (cipherResult?.metadata?.sourceServiceId != null) {

View File

@@ -33,6 +33,11 @@ object BenchmarkMetrics {
TraceSectionMetric("DataMessageProcessor#postProcess", Mode.Average)
)
val messageDecryptor: List<TraceSectionMetric>
get() = listOf(
TraceSectionMetric("MessageDecryptor#cipherDecrypt", Mode.Average),
)
val messageContentProcessor: List<TraceSectionMetric>
get() = listOf(
TraceSectionMetric("MessageContentProcessor#handleMessage", Mode.Average)

View File

@@ -41,7 +41,7 @@ class GroupMessageProcessingBenchmarks {
private fun runGroupMessageReceive(withConversationOpen: Boolean) {
benchmarkRule.measureRepeated(
packageName = "org.thoughtcrime.securesms.benchmark",
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.groupDataMessageProcessor,
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageDecryptor + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.groupDataMessageProcessor,
iterations = 3,
compilationMode = CompilationMode.Partial(),
setupBlock = {
@@ -68,7 +68,7 @@ class GroupMessageProcessingBenchmarks {
private fun runGroupDeliveryReceipt(withConversationOpen: Boolean) {
benchmarkRule.measureRepeated(
packageName = "org.thoughtcrime.securesms.benchmark",
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.deliveryReceipt,
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageDecryptor + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.deliveryReceipt,
iterations = 3,
compilationMode = CompilationMode.Partial(),
setupBlock = {
@@ -94,7 +94,7 @@ class GroupMessageProcessingBenchmarks {
private fun runGroupReadReceipt(withConversationOpen: Boolean) {
benchmarkRule.measureRepeated(
packageName = "org.thoughtcrime.securesms.benchmark",
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.readReceipt,
metrics = BenchmarkMetrics.incomingMessageObserver + BenchmarkMetrics.messageDecryptor + BenchmarkMetrics.messageContentProcessor + BenchmarkMetrics.readReceipt,
iterations = 3,
compilationMode = CompilationMode.Partial(),
setupBlock = {