Search code examples
androidgoogle-developer-toolsgoogle-developers-consolestetho

Android stetho Google Developer tools resources truncated


Using Stetho and Stetho Realm.

Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(RealmInspectorModulesProvider.builder(this).build())
                        .build());

I am able to see Realm DB content with Google Developer Console, but the maximum index is 249, all values after that are truncated -

enter image description here

How can I force it to show all the values?


Solution

  • The reason for this is the limit inside Stetho. In the class

    com.facebook.stetho.inspector.protocol.module.Database

    https://github.com/facebook/stetho/blob/36aa5bd356d9cf5893b9424b06a83dda9ec5e44f/stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Database.java

    There is this info -

      /**
       * The protocol doesn't offer an efficient means of pagination or anything like that so
       * we'll just cap the result list to some arbitrarily large number that I think folks will
       * actually need in practice.
       * <p>
       * Note that when this limit is exceeded, a dummy row will be introduced that indicates
       * truncation occurred.
       */
      private static final int MAX_EXECUTE_RESULTS = 250;
    

    And in case for Realm Stetho, it is possible to change the limit in this way-

    Stetho.initialize(
                    Stetho.newInitializerBuilder(this)
                            .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                            .enableWebKitInspector(RealmInspectorModulesProvider.builder(this)
                                    .withFolder(getCacheDir())
                                    .withMetaTables()
                                    .withDescendingOrder()
                                    .withLimit(100000)
                                    .build())
                            .build());