/* * * Copyright 2011 Performize-IT LTD. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.performizeit.threadtop; import java.util.List; import com.lexicalscope.jewel.cli.CommandLineInterface; import com.lexicalscope.jewel.cli.Option; import com.lexicalscope.jewel.cli.Unparsed; /** * * @author yadidh */ @CommandLineInterface(application = "threadTop") public interface ThreadTopOptions { @Option(defaultValue = "5000", shortName = "m", description = "Set amount of time to measure in milliseconds [default:5000]") long getTimeToMeasure(); @Option(defaultValue = "1", shortName = "i", description = "Number of iterations [default:1]") int getIterations(); @Option(defaultValue = "10", shortName = "n", description = "Number of top threads to show[default:10]") long getNum(); @Option(shortName = "c") boolean isMeasureThreadCPU(); @Option(shortName = "d") boolean isMeasureThreadContention(); @Option(shortName = "w") boolean isAddAllThreadsAndWindowsPerfMonData(); @Option(shortName = "a") boolean isMeasureThreadAlloc(); @Option(defaultValue = "CPU", shortName = "s", description = "Sort by (C)PU/CONTEN(D)/(A)LLOC/(N)AME [default:C]") String getSort(); @Option(defaultToNull = true, shortName = "u", description = "Set user for remote connect [optional]") String getUser(); @Option(defaultToNull = true, shortName = "p", description = "Set password for remote connect [optional]") String getPassword(); @Option(defaultValue = ".*", shortName = "r", description = "Thread name regex filter [default:.*]") public String getRegExp(); @Unparsed(description = "pid | host:port ") List<String> getConectionStringList(); @Option(defaultToNull = false, shortName = "t", description = "grab stack trace for each thread and present thread stack top [optional]") boolean isPrintStackTrace(); @Option(defaultValue = "0", shortName = "x", description = "number of stack trace entries to display [default:1]") int getStackTraceEntriesNo(); }