Skip to content

Commit

Permalink
Merge pull request #18 from bdarfler/class_loading_stats
Browse files Browse the repository at this point in the history
Tracks class loading and unloading stats
  • Loading branch information
ajsquared committed Jul 2, 2015
2 parents 73ba397 + 5a0f0a4 commit 0f15862
Showing 1 changed file with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import com.etsy.statsd.profiler.Profiler;
import com.etsy.statsd.profiler.reporter.Reporter;

import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
import java.lang.management.*;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
Expand All @@ -24,11 +21,13 @@ public class MemoryProfiler extends Profiler {
private MemoryMXBean memoryMXBean;
private List<GarbageCollectorMXBean> gcMXBeans;
private HashMap<GarbageCollectorMXBean, AtomicLong> gcTimes = new HashMap<>();
private ClassLoadingMXBean classLoadingMXBean;

public MemoryProfiler(Reporter reporter, Arguments arguments) {
super(reporter, arguments);
memoryMXBean = ManagementFactory.getMemoryMXBean();
gcMXBeans = ManagementFactory.getGarbageCollectorMXBeans();
classLoadingMXBean = ManagementFactory.getClassLoadingMXBean();

for (GarbageCollectorMXBean b : gcMXBeans) gcTimes.put(b, new AtomicLong());
}
Expand Down Expand Up @@ -83,6 +82,14 @@ private void recordStats() {

if (runtime > 0) gcTimes.get(gcMXBean).set(time);
}

int loadedClassCount = classLoadingMXBean.getLoadedClassCount();
long totalLoadedClassCount = classLoadingMXBean.getTotalLoadedClassCount();
long unloadedClassCount = classLoadingMXBean.getUnloadedClassCount();

recordGaugeValue("loaded-class-count", loadedClassCount);
recordGaugeValue("total-loaded-class-count", totalLoadedClassCount);
recordGaugeValue("unloaded-class-count", unloadedClassCount);
}

/**
Expand Down

0 comments on commit 0f15862

Please sign in to comment.