public static DiskStorageCache buildDiskStorageCache( DiskCacheConfig diskCacheConfig, DiskStorage diskStorage, Executor executorForBackgroundInit) { DiskStorageCache.Params params = new DiskStorageCache.Params( diskCacheConfig.getMinimumSizeLimit(), diskCacheConfig.getLowDiskSpaceSizeLimit(), diskCacheConfig.getDefaultSizeLimit()); return new DiskStorageCache( diskStorage, diskCacheConfig.getEntryEvictionComparatorSupplier(), params, diskCacheConfig.getCacheEventListener(), diskCacheConfig.getCacheErrorLogger(), diskCacheConfig.getDiskTrimmableRegistry(), diskCacheConfig.getContext(), executorForBackgroundInit, diskCacheConfig.getIndexPopulateAtStartupEnabled()); }
private void diskcache(FileCache cache, String title, PrintStream writer, List<String> args) throws DumpException { DiskStorage.DiskDumpInfo intDiskDumpInfo; try { intDiskDumpInfo = cache.getDumpInfo(); } catch (IOException e) { throw new DumpException(e.getMessage()); } if (!args.isEmpty() && args.get(0).equals("-s")) { writeDiskDumpInfoScriptReadable(writer, intDiskDumpInfo); } else { writer.println(); writer.println(title + " disk cache contents:"); writeDiskDumpInfo(writer, intDiskDumpInfo); } }
private void writeDiskDumpInfo(PrintStream writer, DiskStorage.DiskDumpInfo dumpInfo) { if (dumpInfo.entries.isEmpty()) { writer.println("Empty"); return; } SparseArray<Integer> histogram = emptyHistogram(); float total = 0f; for (DiskStorage.DiskDumpInfoEntry entry : dumpInfo.entries) { writeDiskDumpEntry(writer, entry); addToHistogram(histogram, entry); total += entry.size; } writer.println(); writer.println(formatStrLocaleSafe("Total size: %.1f MB", total / 1024 / KB)); printFileTypes(writer, dumpInfo); printHistogram(writer, histogram); }
@Override public DiskStorage get(DiskCacheConfig diskCacheConfig) { return new DynamicDefaultDiskStorage( diskCacheConfig.getVersion(), diskCacheConfig.getBaseDirectoryPathSupplier(), diskCacheConfig.getBaseDirectoryName(), diskCacheConfig.getCacheErrorLogger()); }
private void printFileTypes(PrintStream writer, DiskStorage.DiskDumpInfo dumpInfo) { writer.println(); writer.println("File Type Counts:"); for (String type : dumpInfo.typeCounts.keySet()) { writer.println(formatStrLocaleSafe( "%4s: %5d", type, dumpInfo.typeCounts.get(type))); } }
private void addToHistogram( SparseArray<Integer> histogram, DiskStorage.DiskDumpInfoEntry entry) { for (int i = 0; i < histogram.size(); i++) { int key = histogram.keyAt(i); if (entry.size / KB < key) { histogram.put(key, histogram.get(key) + 1); return; } } // big histogram.put((int) (entry.size / KB), 1); }
private void writeDiskDumpEntry(PrintStream writer, DiskStorage.DiskDumpInfoEntry entry) { if (entry.firstBits != null && !entry.firstBits.isEmpty()) { writer.println("Undefined: " + entry.firstBits); } writer.println(formatStrLocaleSafe( "type: %5s size: %7.2fkB path: %9s", entry.type, entry.size / KB, entry.path)); }
public static DiskStorageCache buildDiskStorageCache( DiskCacheConfig diskCacheConfig, DiskStorage diskStorage) { return buildDiskStorageCache(diskCacheConfig, diskStorage, Executors.newSingleThreadExecutor()); }
private void writeDiskDumpInfoScriptReadable( PrintStream writer, DiskStorage.DiskDumpInfo dumpInfo) { for (DiskStorage.DiskDumpInfoEntry entry : dumpInfo.entries) { writeDiskDumpEntryScriptReadable(writer, entry); } }
private void writeDiskDumpEntryScriptReadable( PrintStream writer, DiskStorage.DiskDumpInfoEntry entry) { writer.println(formatStrLocaleSafe("%s\t%s", entry.type, entry.path)); }
@Override public DiskStorage.DiskDumpInfo getDumpInfo() throws IOException { return null; }
DiskStorage get(DiskCacheConfig diskCacheConfig);