From 4f2b93012de1c9092cd7b3cfc488e794b45cbdd7 Mon Sep 17 00:00:00 2001 From: zachh Date: Mon, 7 May 2018 17:31:16 -0700 Subject: Added getLoggingName() to CallLogDataSource and PhoneLookup interfaces. Use it when logging performance metrics. Unfortunately the class names returned by Class#getSimpleName() are obfuscated by proguard and make viewing the metrics difficult to impossible. TEST=none Test: none PiperOrigin-RevId: 195749831 Change-Id: I40320f388d34e059c9a913e2b72a1acf1a727f60 --- java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java | 7 +++---- java/com/android/dialer/calllog/datasources/CallLogDataSource.java | 7 +++++++ .../calllog/datasources/phonelookup/PhoneLookupDataSource.java | 5 +++++ .../calllog/datasources/systemcalllog/SystemCallLogDataSource.java | 5 +++++ .../dialer/calllog/datasources/voicemail/VoicemailDataSource.java | 5 +++++ 5 files changed, 25 insertions(+), 4 deletions(-) (limited to 'java/com/android/dialer/calllog') diff --git a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java index 32c278838..fb3700efe 100644 --- a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java +++ b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java @@ -156,8 +156,7 @@ public class RefreshAnnotatedCallLogWorker { for (CallLogDataSource dataSource : dataSources.getDataSourcesIncludingSystemCallLog()) { ListenableFuture dataSourceDirty = dataSource.isDirty(); isDirtyFutures.add(dataSourceDirty); - String eventName = - String.format(Metrics.IS_DIRTY_TEMPLATE, dataSource.getClass().getSimpleName()); + String eventName = String.format(Metrics.IS_DIRTY_TEMPLATE, dataSource.getLoggingName()); futureTimer.applyTiming(dataSourceDirty, eventName, LogCatMode.LOG_VALUES); } // Simultaneously invokes isDirty on all data sources, returning as soon as one returns true. @@ -242,7 +241,7 @@ public class RefreshAnnotatedCallLogWorker { private static String eventNameForFill(CallLogDataSource dataSource, boolean isBuilt) { return String.format( !isBuilt ? Metrics.INITIAL_FILL_TEMPLATE : Metrics.FILL_TEMPLATE, - dataSource.getClass().getSimpleName()); + dataSource.getLoggingName()); } private static String eventNameForOverallFill(boolean isBuilt) { @@ -255,7 +254,7 @@ public class RefreshAnnotatedCallLogWorker { !isBuilt ? Metrics.INITIAL_ON_SUCCESSFUL_FILL_TEMPLATE : Metrics.ON_SUCCESSFUL_FILL_TEMPLATE, - dataSource.getClass().getSimpleName()); + dataSource.getLoggingName()); } private static String eventNameForOverallOnSuccessfulFill(boolean isBuilt) { diff --git a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java index f6796c767..75f06d5f6 100644 --- a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java @@ -113,4 +113,11 @@ public interface CallLogDataSource { */ @MainThread ListenableFuture clearData(); + + /** + * The name of this daa source for logging purposes. This is generally the same as the class name + * (but should not use methods from {@link Class} because the class names are generally obfuscated + * by Proguard. + */ + String getLoggingName(); } diff --git a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java index 0de987308..66d29a7ef 100644 --- a/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java +++ b/java/com/android/dialer/calllog/datasources/phonelookup/PhoneLookupDataSource.java @@ -320,6 +320,11 @@ public final class PhoneLookupDataSource implements CallLogDataSource { MoreExecutors.directExecutor()); } + @Override + public String getLoggingName() { + return "PhoneLookupDataSource"; + } + private static ImmutableSet queryDistinctDialerPhoneNumbersFromAnnotatedCallLog(Context appContext) { ImmutableSet.Builder numbers = ImmutableSet.builder(); diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java index b5067daac..a08b50eb8 100644 --- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java @@ -147,6 +147,11 @@ public class SystemCallLogDataSource implements CallLogDataSource { MoreExecutors.directExecutor()); } + @Override + public String getLoggingName() { + return "SystemCallLogDataSource"; + } + @Override public ListenableFuture isDirty() { return backgroundExecutorService.submit(this::isDirtyInternal); diff --git a/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java b/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java index ab9288a1e..7a230220e 100644 --- a/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java +++ b/java/com/android/dialer/calllog/datasources/voicemail/VoicemailDataSource.java @@ -121,4 +121,9 @@ public class VoicemailDataSource implements CallLogDataSource { public ListenableFuture clearData() { return Futures.immediateFuture(null); } + + @Override + public String getLoggingName() { + return "VoicemailDataSource"; + } } -- cgit v1.2.3