Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2830ace1 authored by Xiaoyu Jin's avatar Xiaoyu Jin
Browse files

Log CallStats for more api calls

+ CALL_TYPE_SET_SCHEMA
+ CALL_TYPE_GET_DOCUMENTS
+ CALL_TYPE_REMOVE_DOCUMENTS
+ CALL_TYPE_FLUSH

Bug: b/173532925
Test: ./gradlew  -Pandroidx.allWarningsAsErrors
appsearch: appsearch:build appsearch:appsearch-compiler:build
appsearch: appsearch-local-storage:build  icing:build
icing: nativeLib:build appsearch:appsearch:connectedCheck
appsearch: appsearch-local-storage:connectedCheck
appsearch: appsearch:lintDebug
appsearch: appsearch-local-storage:lintDebug
Change-Id: Ib1521b0920d40828f30a7ee00e6996ab032c9ef6
parent ef7ebb5e
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -350,6 +350,7 @@ public final class AppSearchSession implements Closeable {
                    new ArrayList<>(request.getIds()),
                    request.getProjectionsInternal(),
                    mUserId,
                    /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                    new IAppSearchBatchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchBatchResultParcel resultParcel) {
@@ -563,6 +564,7 @@ public final class AppSearchSession implements Closeable {
        try {
            mService.removeByDocumentId(mPackageName, mDatabaseName, request.getNamespace(),
                    new ArrayList<>(request.getIds()), mUserId,
                    /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                    new IAppSearchBatchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchBatchResultParcel resultParcel) {
@@ -613,6 +615,7 @@ public final class AppSearchSession implements Closeable {
        try {
            mService.removeByQuery(mPackageName, mDatabaseName, queryExpression,
                    searchSpec.getBundle(), mUserId,
                    /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                    new IAppSearchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
@@ -672,7 +675,8 @@ public final class AppSearchSession implements Closeable {
    public void close() {
        if (mIsMutated && !mIsClosed) {
            try {
                mService.persistToDisk(mUserId);
                mService.persistToDisk(mUserId,
                        /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime());
                mIsClosed = true;
            } catch (RemoteException e) {
                Log.e(TAG, "Unable to close the AppSearchSession", e);
@@ -702,6 +706,7 @@ public final class AppSearchSession implements Closeable {
                    request.isForceOverride(),
                    request.getVersion(),
                    mUserId,
                    /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                    new IAppSearchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
@@ -789,6 +794,7 @@ public final class AppSearchSession implements Closeable {
                        /*forceOverride=*/ false,
                        request.getVersion(),
                        mUserId,
                        /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                        new IAppSearchResultCallback.Stub() {
                            @Override
                            public void onResult(AppSearchResultParcel resultParcel) {
@@ -840,6 +846,7 @@ public final class AppSearchSession implements Closeable {
                                /*forceOverride=*/ true,
                                request.getVersion(),
                                mUserId,
                                /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                                new IAppSearchResultCallback.Stub() {
                                    @Override
                                    public void onResult(AppSearchResultParcel resultParcel) {
+3 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.app.appsearch.aidl.AppSearchResultParcel;
import android.app.appsearch.aidl.IAppSearchManager;
import android.app.appsearch.aidl.IAppSearchResultCallback;
import android.os.RemoteException;
import android.os.SystemClock;
import android.util.Log;

import com.android.internal.util.Preconditions;
@@ -182,7 +183,8 @@ public class GlobalSearchSession implements Closeable {
    public void close() {
        if (mIsMutated && !mIsClosed) {
            try {
                mService.persistToDisk(mUserId);
                mService.persistToDisk(mUserId,
                        /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime());
                mIsClosed = true;
            } catch (RemoteException e) {
                Log.e(TAG, "Unable to close the GlobalSearchSession", e);
+10 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ interface IAppSearchManager {
     *     incompatible documents will be deleted.
     * @param schemaVersion  The overall schema version number of the request.
     * @param userId Id of the calling user
     * @param binderCallStartTimeMillis start timestamp of binder call in Millis
     * @param callback {@link IAppSearchResultCallback#onResult} will be called with an
     *     {@link AppSearchResult}&lt;{@link Bundle}&gt;, where the value are
     *     {@link SetSchemaResponse} bundle.
@@ -50,6 +51,7 @@ interface IAppSearchManager {
        boolean forceOverride,
        in int schemaVersion,
        in int userId,
        in long binderCallStartTimeMillis,
        in IAppSearchResultCallback callback);

    /**
@@ -115,6 +117,7 @@ interface IAppSearchManager {
     * @param typePropertyPaths A map of schema type to a list of property paths to return in the
     *     result.
     * @param userId Id of the calling user
     * @param binderCallStartTimeMillis start timestamp of binder call in Millis
     * @param callback
     *     If the call fails to start, {@link IAppSearchBatchResultCallback#onSystemError}
     *     will be called with the cause throwable. Otherwise,
@@ -129,6 +132,7 @@ interface IAppSearchManager {
        in List<String> ids,
        in Map<String, List<String>> typePropertyPaths,
        in int userId,
        in long binderCallStartTimeMillis,
        in IAppSearchBatchResultCallback callback);

    /**
@@ -269,6 +273,7 @@ interface IAppSearchManager {
     * @param namespace    Namespace of the document to remove.
     * @param ids The IDs of the documents to delete
     * @param userId Id of the calling user
     * @param binderCallStartTimeMillis start timestamp of binder call in Millis
     * @param callback
     *     If the call fails to start, {@link IAppSearchBatchResultCallback#onSystemError}
     *     will be called with the cause throwable. Otherwise,
@@ -283,6 +288,7 @@ interface IAppSearchManager {
        in String namespace,
        in List<String> ids,
        in int userId,
        in long binderCallStartTimeMillis,
        in IAppSearchBatchResultCallback callback);

    /**
@@ -293,6 +299,7 @@ interface IAppSearchManager {
     * @param queryExpression String to search for
     * @param searchSpecBundle SearchSpec bundle
     * @param userId Id of the calling user
     * @param binderCallStartTimeMillis start timestamp of binder call in Millis
     * @param callback {@link IAppSearchResultCallback#onResult} will be called with an
     *     {@link AppSearchResult}&lt;{@link Void}&gt;.
     */
@@ -302,6 +309,7 @@ interface IAppSearchManager {
        in String queryExpression,
        in Bundle searchSpecBundle,
        in int userId,
        in long binderCallStartTimeMillis,
        in IAppSearchResultCallback callback);

    /**
@@ -324,8 +332,9 @@ interface IAppSearchManager {
     * Persists all update/delete requests to the disk.
     *
     * @param userId Id of the calling user
     * @param binderCallStartTimeMillis start timestamp of binder call in Millis
     */
    void persistToDisk(in int userId);
    void persistToDisk(in int userId, in long binderCallStartTimeMillis);

    /**
     * Creates and initializes AppSearchImpl for the calling app.
+168 −4

File changed.

Preview size limit exceeded, changes collapsed.

+9 −4
Original line number Diff line number Diff line
@@ -661,7 +661,8 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
        public void setSchema(String packageName, String databaseName, List<Bundle> schemaBundles,
                List<String> schemasNotPlatformSurfaceable,
                Map<String, List<Bundle>> schemasPackageAccessibleBundles, boolean forceOverride,
                int userId, int version, IAppSearchResultCallback callback) throws RemoteException {
                int userId, int version, long binderCallStartTimeMillis,
                IAppSearchResultCallback callback) throws RemoteException {
            for (Map.Entry<String, List<Bundle>> entry :
                    schemasPackageAccessibleBundles.entrySet()) {
                final String key = entry.getKey();
@@ -721,6 +722,7 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
        @Override
        public void getDocuments(String packageName, String databaseName, String namespace,
                List<String> ids, Map<String, List<String>> typePropertyPaths, int userId,
                long binderCallStartTimeMillis,
                IAppSearchBatchResultCallback callback) throws RemoteException {
            final AppSearchBatchResult.Builder<String, Bundle> builder =
                    new AppSearchBatchResult.Builder<>();
@@ -820,7 +822,8 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {

        @Override
        public void removeByDocumentId(String packageName, String databaseName, String namespace,
                List<String> ids, int userId, IAppSearchBatchResultCallback callback)
                List<String> ids, int userId, long binderCallStartTimeMillis,
                IAppSearchBatchResultCallback callback)
                throws RemoteException {
            final AppSearchBatchResult.Builder<String, Void> builder =
                    new AppSearchBatchResult.Builder<>();
@@ -847,7 +850,8 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {

        @Override
        public void removeByQuery(String packageName, String databaseName, String queryExpression,
                Bundle searchSpecBundle, int userId, IAppSearchResultCallback callback)
                Bundle searchSpecBundle, int userId, long binderCallStartTimeMillis,
                IAppSearchResultCallback callback)
                throws RemoteException {
            final String key = getKey(userId, databaseName);
            if (!mDocumentMap.containsKey(key)) {
@@ -867,7 +871,8 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
        }

        @Override
        public void persistToDisk(int userId) throws RemoteException {
        public void persistToDisk(int userId, long binderCallStartTimeMillis)
                throws RemoteException {

        }