diff --git a/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java b/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java
index 641be85..f24b3cd 100644
--- a/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java
+++ b/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java
@@ -46,6 +46,8 @@
       return;
     }
 
+    LogUtil.enterBlock("MissedCallNotificationReceiver.onReceive");
+
     int count =
         intent.getIntExtra(
             EXTRA_NOTIFICATION_COUNT, CallLogNotificationsService.UNKNOWN_MISSED_CALL_COUNT);
diff --git a/java/com/android/dialer/app/calllog/MissedCallNotifier.java b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
index 80901ce..158ae2b 100644
--- a/java/com/android/dialer/app/calllog/MissedCallNotifier.java
+++ b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
@@ -106,6 +106,8 @@
   @VisibleForTesting
   @WorkerThread
   void updateMissedCallNotification(int count, @Nullable String number) {
+    LogUtil.enterBlock("MissedCallNotifier.updateMissedCallNotification");
+
     final int titleResId;
     CharSequence expandedText; // The text in the notification's line 1 and 2.
 
@@ -137,6 +139,7 @@
     if (count == CallLogNotificationsService.UNKNOWN_MISSED_CALL_COUNT) {
       // If the intent did not contain a count, and we are unable to get a count from the
       // call log, then no notification can be shown.
+      LogUtil.i("MissedCallNotifier.updateMissedCallNotification", "unknown missed call count");
       return;
     }
 
@@ -144,6 +147,9 @@
     boolean useCallList = newCalls != null;
 
     if (count == 1) {
+      LogUtil.i(
+          "MissedCallNotifier.updateMissedCallNotification",
+          "1 missed call, looking up contact info");
       NewCall call =
           useCallList
               ? newCalls.get(0)
@@ -188,6 +194,8 @@
       expandedText = context.getString(R.string.notification_missedCallsMsg, count);
     }
 
+    LogUtil.i("MissedCallNotifier.updateMissedCallNotification", "preparing notification");
+
     // Create a public viewable version of the notification, suitable for display when sensitive
     // notification content is hidden.
     Notification.Builder publicSummaryBuilder = createNotificationBuilder();
