package org.gridkit.jvmtool.stacktrace.analytics; import org.gridkit.jvmtool.stacktrace.ThreadSnapshot; class ThreadNameAggregatorFactory implements ThreadDumpAggregator, ThreadDumpAggregatorFactory { int lengthLimit; public ThreadNameAggregatorFactory(int lengthLimit) { this.lengthLimit = lengthLimit; } @Override public ThreadDumpAggregator newInstance() { return new ThreadNameAggregatorFactory(lengthLimit); } String name = null; @Override public void aggregate(ThreadSnapshot threadInfo) { name = threadInfo.threadName(); if (name != null && name.length() > lengthLimit) { name = name.substring(0, lengthLimit); } } @Override public Object info() { return name; } }