package org.gridkit.jvmtool.stacktrace.analytics;
import java.lang.Thread.State;
public interface ThreadDumpAggregatorFactory {
public static CommonFactory COMMON = new CommonFactory();
public ThreadDumpAggregator newInstance();
public static class CommonFactory {
public ThreadDumpAggregatorFactory maxTimestamp() {
return new MaxTimestampAggregatorFactory();
}
public ThreadDumpAggregatorFactory minTimestamp() {
return new MinTimestampAggregatorFactory();
}
public ThreadDumpAggregatorFactory count() {
return new CountAggregatorFactory();
}
public ThreadDumpAggregatorFactory cpu() {
return new CpuAggregatorFactory();
}
public ThreadDumpAggregatorFactory alloc() {
return new AllocAggregatorFactory();
}
public ThreadDumpAggregatorFactory threadState(State state) {
return new ThreadStateAggregatorFactory(state);
}
public ThreadDumpAggregatorFactory threadFilter(ThreadSnapshotFilter filter) {
return new FilterAggregatorFactory(filter);
}
public ThreadDumpAggregatorFactory waitCalls() {
return new WaitCallsAggregatorFactory();
}
public ThreadDumpAggregatorFactory inNative() {
return new NativeAggregatorFactory();
}
public ThreadDumpAggregatorFactory frequency() {
return new FrequencyAggregatorFactory();
}
public ThreadDumpAggregatorFactory periodCHM() {
return new PeriodCHMAggregatorFactory();
}
public ThreadDumpAggregatorFactory frequencyHM() {
return new FrequencyHMAggregatorFactory();
}
public ThreadDumpAggregatorFactory name() {
return new ThreadNameAggregatorFactory(32);
}
public ThreadDumpAggregatorFactory name(int length) {
return new ThreadNameAggregatorFactory(length);
}
public ThreadDumpAggregatorFactory threadId() {
return new ThreadIdAggregatorFactory();
}
}
}