Now more easily R-parseable.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5737 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2011-05-03 19:30:50 +00:00
parent 5bade81c6d
commit ad8c786b2d
1 changed files with 12 additions and 9 deletions

View File

@ -57,6 +57,7 @@ public class AnalyzeMemoryConsumption extends LocusWalker<LocusContext,Long> {
public void initialize() { public void initialize() {
monitor = ManagementFactory.getMemoryMXBean(); monitor = ManagementFactory.getMemoryMXBean();
out.println("contig\tlocus\tref (bytes)\tref (% of max)\treads (count)\treads (bytes)\treads (% of max)\tRODs (bytes)\tRODs (% of max heap)\tHeap Used (bytes)\tHeap Used (% of max)\tMax Heap");
} }
public LocusContext map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext reads) { public LocusContext map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext reads) {
@ -77,20 +78,22 @@ public class AnalyzeMemoryConsumption extends LocusWalker<LocusContext,Long> {
sum++; sum++;
if(sum % frequency == 0) { if(sum % frequency == 0) {
long refSize = Sizeof.getObjectGraphSize(locusContext.reference); long refSizeInBytes = Sizeof.getObjectGraphSize(locusContext.reference);
long readsSize = Sizeof.getObjectGraphSize(locusContext.alignedReads); long numReads = locusContext.alignedReads.size();
long trackerSize = Sizeof.getObjectGraphSize(locusContext.referenceOrderedData); long readsSizeInBytes = Sizeof.getObjectGraphSize(locusContext.alignedReads);
long trackerSizeInBytes = Sizeof.getObjectGraphSize(locusContext.referenceOrderedData);
MemoryUsage memoryUsage = monitor.getHeapMemoryUsage(); MemoryUsage memoryUsage = monitor.getHeapMemoryUsage();
long memoryUsed = memoryUsage.getUsed(); long memoryUsed = memoryUsage.getUsed();
long maxMemory = memoryUsage.getMax(); long maxMemory = memoryUsage.getMax();
out.printf("site: %s: reference: %d bytes (%f%% of max), reads: %d bytes (%f%% of max), reference-ordered data: %d bytes (%f%% of max); heap used = %d bytes (%f%% of max); max heap = %d bytes.%n", out.printf("%s\t%s\t%d\t%.3f\t%d\t%d\t%.3f\t%d\t%.3f\t%d\t%.3f\t%d%n",
locusContext.reference.getLocus(), locusContext.reference.getLocus().getContig(),
refSize,refSize*100.0/maxMemory, locusContext.reference.getLocus().getStart(),
readsSize,readsSize*100.0/maxMemory, refSizeInBytes,refSizeInBytes*100.0/maxMemory,
trackerSize,trackerSize*100.0/maxMemory, numReads,readsSizeInBytes,readsSizeInBytes*100.0/maxMemory,
memoryUsed,((float)memoryUsed)/maxMemory, trackerSizeInBytes,trackerSizeInBytes*100.0/maxMemory,
memoryUsed,memoryUsed*100.0/maxMemory,
maxMemory); maxMemory);
} }