.heapDumpFile(heapDumpFile) .referenceKey(trackedReference.key) .referenceName(trackedReference.name) .excludedRefs(heapDumpBuilder.excludedRefs) .reachabilityInspectorClasses(heapDumpBuilder.reachabilityInspectorClasses) .build();
HeapDump heapDump = heapDumpBuilder.heapDumpFile(heapDumpFile).referenceKey(reference.key) .referenceName(reference.name) .watchDurationMs(watchDurationMs) .gcDurationMs(gcDurationMs) .heapDumpDurationMs(heapDumpDurationMs) .build();
heapDumpBuilder.excludedRefs(defaultExcludedRefs()); heapDumpBuilder.reachabilityInspectorClasses(defaultReachabilityInspectorClasses());
private HeapDump renameHeapdump(HeapDump heapDump) { String fileName = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss_SSS'.hprof'", Locale.US).format(new Date()); File newFile = new File(heapDump.heapDumpFile.getParent(), fileName); boolean renamed = heapDump.heapDumpFile.renameTo(newFile); if (!renamed) { CanaryLog.d("Could not rename heap dump file %s to %s", heapDump.heapDumpFile.getPath(), newFile.getPath()); } return heapDump.buildUpon().heapDumpFile(newFile).build(); }
/** * Calls {@link #HeapDump(Builder)} with computeRetainedHeapSize set to true. * * @deprecated Use {@link #HeapDump(Builder)} instead. */ @Deprecated public HeapDump(File heapDumpFile, String referenceKey, String referenceName, ExcludedRefs excludedRefs, long watchDurationMs, long gcDurationMs, long heapDumpDurationMs) { this(new Builder().heapDumpFile(heapDumpFile) .referenceKey(referenceKey) .referenceName(referenceName) .excludedRefs(excludedRefs) .computeRetainedHeapSize(true) .watchDurationMs(watchDurationMs) .gcDurationMs(gcDurationMs) .heapDumpDurationMs(heapDumpDurationMs)); }
public RefWatcherBuilder() { heapDumpBuilder = new HeapDump.Builder(); }
public Builder buildUpon() { return new Builder(this); }
public static Builder builder() { return new Builder(); }
/** * Whether LeakCanary should compute the retained heap size when a leak is detected. False by * default, because computing the retained heap size takes a long time. */ public final T computeRetainedHeapSize(boolean computeRetainedHeapSize) { heapDumpBuilder.computeRetainedHeapSize(computeRetainedHeapSize); return self(); }
/** @see Reachability.Inspector */ public final T stethoscopeClasses( List<Class<? extends Reachability.Inspector>> stethoscopeClasses) { heapDumpBuilder.reachabilityInspectorClasses(stethoscopeClasses); return self(); }
/** @see ExcludedRefs */ public final T excludedRefs(ExcludedRefs excludedRefs) { heapDumpBuilder.excludedRefs(excludedRefs); return self(); }