summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author shawnlin <shawnlin@google.com> 2019-04-09 15:48:43 +0800
committer shawnlin <shawnlin@google.com> 2019-04-10 11:17:48 +0800
commita06573a201492a687a37a54e19c8f3a4bfa32921 (patch)
tree0c4811c855c868c93b1ba159de3050f831dadb67
parent1ab79483a77d57e8dbcff8f24d1b1f21089b290f (diff)
Migrate to new statsd mechanism for mainline module
Test: atest DocumentsUITests Test: adb shell cmd stats print-logs then check the log while operating DocumentsUI Test: make DocumentsUI DocumentsUIGoogle ArcDocumentsUI Fixes: 130203187 Change-Id: Ie108c2b943c1100452e70f4db5ee0b4e6e6802f1
-rw-r--r--Android.bp17
-rw-r--r--build_apk.mk3
-rw-r--r--src/com/android/documentsui/Metrics.java80
-rw-r--r--src/com/android/documentsui/ScopedAccessMetrics.java4
4 files changed, 69 insertions, 35 deletions
diff --git a/Android.bp b/Android.bp
index 915b515a2..7991dcd45 100644
--- a/Android.bp
+++ b/Android.bp
@@ -45,9 +45,24 @@ filegroup {
name: "DocumentsUI-srcs",
srcs: [
"src/**/*.java",
+ ":statslog-docsui-java-gen",
],
}
+java_library {
+ name: "docsui-statsd",
+ srcs: [
+ ":statslog-docsui-java-gen",
+ ],
+}
+
+genrule {
+ name: "statslog-docsui-java-gen",
+ tools: ["stats-log-api-gen"],
+ cmd: "$(location stats-log-api-gen) --java $(out) --module docsui --javaPackage com.android.documentsui --javaClass DocumentsStatsLog",
+ out: ["com/android/documentsui/DocumentsStatsLog.java"],
+}
+
android_library {
name: "DocumentsUI-res-lib",
@@ -78,7 +93,7 @@ android_app {
manifest: "AndroidManifest.xml",
srcs: [
- "src/**/*.java",
+ ":DocumentsUI-srcs",
],
resource_dirs: [
diff --git a/build_apk.mk b/build_apk.mk
index 1c9394cc1..b66e66e57 100644
--- a/build_apk.mk
+++ b/build_apk.mk
@@ -2,7 +2,8 @@ LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES += guava \
- apache-commons-compress
+ apache-commons-compress \
+ docsui-statsd
LOCAL_STATIC_ANDROID_LIBRARIES := \
androidx.legacy_legacy-support-core-ui \
diff --git a/src/com/android/documentsui/Metrics.java b/src/com/android/documentsui/Metrics.java
index 63442406c..125a9fa91 100644
--- a/src/com/android/documentsui/Metrics.java
+++ b/src/com/android/documentsui/Metrics.java
@@ -20,7 +20,6 @@ import static android.content.ContentResolver.wrap;
import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow;
-import androidx.annotation.Nullable;
import android.content.ContentProviderClient;
import android.content.Context;
import android.content.Intent;
@@ -30,9 +29,10 @@ import android.os.RemoteException;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Path;
import android.provider.DocumentsProvider;
-import android.util.DocumentsStatsLog;
import android.util.Log;
+import androidx.annotation.Nullable;
+
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.Providers;
import com.android.documentsui.base.RootInfo;
@@ -60,7 +60,8 @@ public final class Metrics {
*/
public static void logActivityLaunch(State state, Intent intent) {
Uri uri = intent.getData();
- DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), false,
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED,
+ toMetricsAction(state.action), false,
sanitizeMime(intent.getType()), sanitizeRoot(uri));
}
@@ -72,7 +73,8 @@ public final class Metrics {
* support {@link DocumentsProvider#findDocumentPath(String, String)}
*/
public static void logLaunchAtLocation(State state, @Nullable Uri rootUri) {
- DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), true,
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED,
+ toMetricsAction(state.action), true,
MetricConsts.MIME_UNKNOWN, sanitizeRoot(rootUri));
}
@@ -83,7 +85,7 @@ public final class Metrics {
* @param info
*/
public static void logRootVisited(@MetricConsts.ContextScope int scope, RootInfo info) {
- DocumentsStatsLog.logRootVisited(scope, sanitizeRoot(info));
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_ROOT_VISITED, scope, sanitizeRoot(info));
}
/**
@@ -93,7 +95,9 @@ public final class Metrics {
* @param info
*/
public static void logAppVisited(ResolveInfo info) {
- DocumentsStatsLog.logRootVisited(MetricConsts.PICKER_SCOPE, sanitizeRoot(info));
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_ROOT_VISITED,
+ MetricConsts.PICKER_SCOPE, sanitizeRoot(info));
}
/**
@@ -128,11 +132,11 @@ public final class Metrics {
@OpType int operationType, @MetricConsts.FileOpMode int approach) {
switch (operationType) {
case FileOperationService.OPERATION_COPY:
- DocumentsStatsLog.logFileOperationCopyMoveMode(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED,
MetricConsts.FILEOP_COPY, approach);
break;
case FileOperationService.OPERATION_MOVE:
- DocumentsStatsLog.logFileOperationCopyMoveMode(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED,
MetricConsts.FILEOP_MOVE, approach);
break;
}
@@ -144,7 +148,7 @@ public final class Metrics {
* logged under COUNT_FILEOP_SYSTEM. Call this when a create directory operation has completed.
*/
public static void logCreateDirOperation() {
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR);
}
@@ -154,7 +158,7 @@ public final class Metrics {
* COUNT_FILEOP_SYSTEM. Call this when a rename file operation has completed.
*/
public static void logRenameFileOperation() {
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME);
}
@@ -190,10 +194,14 @@ public final class Metrics {
break;
}
if (counts.systemProvider > 0) {
- DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_SYSTEM, opCode);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
+ MetricConsts.PROVIDER_SYSTEM, opCode);
}
if (counts.externalProvider > 0) {
- DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_EXTERNAL, opCode);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
+ MetricConsts.PROVIDER_EXTERNAL, opCode);
}
}
@@ -202,19 +210,27 @@ public final class Metrics {
final String authority = docUri.getAuthority();
switch (authority) {
case Providers.AUTHORITY_MEDIA:
- DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MEDIA, subFileOp);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE,
+ MetricConsts.AUTH_MEDIA, subFileOp);
break;
case Providers.AUTHORITY_STORAGE:
logStorageFileOperationFailure(context, subFileOp, docUri);
break;
case Providers.AUTHORITY_DOWNLOADS:
- DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_DOWNLOADS, subFileOp);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE,
+ MetricConsts.AUTH_DOWNLOADS, subFileOp);
break;
case Providers.AUTHORITY_MTP:
- DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MTP, subFileOp);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE,
+ MetricConsts.AUTH_MTP, subFileOp);
break;
default:
- DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_OTHER, subFileOp);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE,
+ MetricConsts.AUTH_OTHER, subFileOp);
break;
}
}
@@ -225,7 +241,7 @@ public final class Metrics {
* create directory operation fails.
*/
public static void logCreateDirError() {
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR_ERROR);
}
@@ -235,7 +251,7 @@ public final class Metrics {
* when a rename file operation fails.
*/
public static void logRenameFileError() {
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME_ERROR);
}
@@ -245,7 +261,8 @@ public final class Metrics {
* @param operationType
*/
public static void logFileOperationCancelled(@OpType int operationType) {
- DocumentsStatsLog.logFileOperationCanceled(toMetricsOpType(operationType));
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_FILE_OP_CANCELED, toMetricsOpType(operationType));
}
/**
@@ -254,7 +271,7 @@ public final class Metrics {
* @param startupMs Startup time in milliseconds.
*/
public static void logStartupMs(int startupMs) {
- DocumentsStatsLog.logStartupMs(startupMs);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_STARTUP_MS, startupMs);
}
private static void logInterProviderFileOps(
@@ -262,12 +279,13 @@ public final class Metrics {
DocumentInfo dst,
@OpType int operationType) {
if (operationType == FileOperationService.OPERATION_DELETE) {
- DocumentsStatsLog.logFileOperation(providerType, MetricConsts.FILEOP_DELETE);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
+ providerType, MetricConsts.FILEOP_DELETE);
} else {
assert(dst != null);
@MetricConsts.Provider int opProviderType = isSystemProvider(dst.authority)
? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL;
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
providerType, getOpCode(operationType, opProviderType));
}
}
@@ -275,7 +293,7 @@ public final class Metrics {
private static void logIntraProviderFileOps(String authority, @OpType int operationType) {
@MetricConsts.Provider int providerType = isSystemProvider(authority)
? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL;
- DocumentsStatsLog.logFileOperation(
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP,
providerType, getOpCode(operationType, MetricConsts.PROVIDER_INTRA));
}
@@ -285,24 +303,26 @@ public final class Metrics {
* @param userAction
*/
public static void logUserAction(@MetricConsts.UserAction int userAction) {
- DocumentsStatsLog.logUserAction(userAction);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_USER_ACTION_REPORTED, userAction);
}
public static void logPickerLaunchedFrom(String packgeName) {
- DocumentsStatsLog.logPickerLaunchedFrom(packgeName);
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED, packgeName);
}
public static void logSearchType(int searchType) {
- // TODO:waiting for search history implementation, it's one of the search types.
- DocumentsStatsLog.logSearchType(searchType);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_TYPE_REPORTED, searchType);
}
public static void logSearchMode(boolean isKeywordSearch, boolean isChipsSearch) {
- DocumentsStatsLog.logSearchMode(getSearchMode(isKeywordSearch, isChipsSearch));
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_MODE_REPORTED,
+ getSearchMode(isKeywordSearch, isChipsSearch));
}
public static void logPickResult(PickResult result) {
- DocumentsStatsLog.logFilePick(
+ DocumentsStatsLog.write(
+ DocumentsStatsLog.DOCS_UI_PICK_RESULT_REPORTED,
result.getActionCount(),
result.getDuration(),
result.getFileCount(),
@@ -330,7 +350,7 @@ public final class Metrics {
}
@MetricConsts.MetricsAuth final int authority = isInternal
? MetricConsts.AUTH_STORAGE_INTERNAL : MetricConsts.AUTH_STORAGE_EXTERNAL;
- DocumentsStatsLog.logFileOperationFailure(authority, subFileOp);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, authority, subFileOp);
}
/**
diff --git a/src/com/android/documentsui/ScopedAccessMetrics.java b/src/com/android/documentsui/ScopedAccessMetrics.java
index c4b86278e..832112ed8 100644
--- a/src/com/android/documentsui/ScopedAccessMetrics.java
+++ b/src/com/android/documentsui/ScopedAccessMetrics.java
@@ -16,8 +16,6 @@
package com.android.documentsui;
-import android.util.DocumentsStatsLog;
-
/**
* Methods for logging scoped directory access metrics.
*/
@@ -25,6 +23,6 @@ public final class ScopedAccessMetrics {
private static final String TAG = "ScopedAccessMetrics";
public static void logInvalidScopedAccessRequest(@MetricConsts.InvalidScopedAccess int type) {
- DocumentsStatsLog.logInvalidScopedAccessRequest(type);
+ DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST, type);
}
}