diff --git a/common/apex_update_listener/apex_update_listener.cc b/common/apex_update_listener/apex_update_listener.cc
index 24f38bc..d450c65 100644
--- a/common/apex_update_listener/apex_update_listener.cc
+++ b/common/apex_update_listener/apex_update_listener.cc
@@ -147,6 +147,7 @@
   // Maximum number of events to read at a time
   constexpr int event_number = 16;
   std::vector<struct inotify_event> events(event_number);
+  pthread_setname_np(pthread_self(), "ApexListener");
   do {
     auto length = read(file_descriptor_, events.data(),
                        event_number * sizeof(inotify_event));
diff --git a/common/hal/aidl_service/aidl_service.cc b/common/hal/aidl_service/aidl_service.cc
index 2739f46..8cbb352 100644
--- a/common/hal/aidl_service/aidl_service.cc
+++ b/common/hal/aidl_service/aidl_service.cc
@@ -31,6 +31,7 @@
 #include <utils/Errors.h>
 
 #include <cinttypes>
+#include <ctime>
 
 #include "aidl_camera_build_version.h"
 #include "aidl_camera_provider.h"
@@ -48,6 +49,8 @@
 
 int main() {
   ALOGI("Google camera provider service is starting.");
+  timespec start_time;
+  clock_gettime(CLOCK_BOOTTIME, &start_time);
   mallopt(M_DECAY_TIME, 1);
   android::hardware::configureRpcThreadpool(/*maxThreads=*/6,
                                             /*callerWillJoin=*/true);
@@ -98,6 +101,14 @@
       return android::NO_INIT;
     }
   }
+  timespec end_time;
+  clock_gettime(CLOCK_BOOTTIME, &end_time);
+  const uint32_t timestamp_start = static_cast<uint32_t>(
+      start_time.tv_sec * 1000 + (start_time.tv_nsec / 1000000L));
+  const uint32_t timestamp_stop = static_cast<uint32_t>(
+      end_time.tv_sec * 1000 + (end_time.tv_nsec / 1000000L));
+  ALOGI("Google camera provider start time: %d ms",
+        timestamp_stop - timestamp_start);
   androidSetThreadName("google.camera.provider");
   ABinderProcess_joinThreadPool();
 
