Commit 5d7c4150 authored by shengnan hu's avatar shengnan hu
Browse files

init

parents
Pipeline #4715 failed with stage
in 30 seconds
package com.taobao.arthas.core.command.model;
/**
* @author gongdewei 2020/4/15
*/
public class OptionVO {
private int level;
private String type;
private String name;
private String value;
private String summary;
private String description;
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
package com.taobao.arthas.core.command.model;
import java.util.List;
/**
* @author gongdewei 2020/4/15
*/
public class OptionsModel extends ResultModel{
private List<OptionVO> options;
private ChangeResultVO changeResult;
public OptionsModel() {
}
public OptionsModel(List<OptionVO> options) {
this.options = options;
}
public OptionsModel(ChangeResultVO changeResult) {
this.changeResult = changeResult;
}
@Override
public String getType() {
return "options";
}
public List<OptionVO> getOptions() {
return options;
}
public void setOptions(List<OptionVO> options) {
this.options = options;
}
public ChangeResultVO getChangeResult() {
return changeResult;
}
public void setChangeResult(ChangeResultVO changeResult) {
this.changeResult = changeResult;
}
}
package com.taobao.arthas.core.command.model;
import java.util.List;
/**
* Model of 'perfcounter'
*
* @author gongdewei 2020/4/27
*/
public class PerfCounterModel extends ResultModel {
private List<PerfCounterVO> perfCounters;
private boolean details;
public PerfCounterModel() {
}
public PerfCounterModel(List<PerfCounterVO> perfCounters, boolean details) {
this.perfCounters = perfCounters;
this.details = details;
}
@Override
public String getType() {
return "perfcounter";
}
public List<PerfCounterVO> getPerfCounters() {
return perfCounters;
}
public void setPerfCounters(List<PerfCounterVO> perfCounters) {
this.perfCounters = perfCounters;
}
public boolean isDetails() {
return details;
}
public void setDetails(boolean details) {
this.details = details;
}
}
package com.taobao.arthas.core.command.model;
/**
* VO for PerfCounterCommand
*
* @author gongdewei 2020/4/27
*/
public class PerfCounterVO {
private String name;
private String units;
private String variability;
private Object value;
public PerfCounterVO() {
}
public PerfCounterVO(String name, Object value) {
this.name = name;
this.value = value;
}
public PerfCounterVO(String name, String units, String variability, Object value) {
this.name = name;
this.units = units;
this.variability = variability;
this.value = value;
}
public void setName(String name) {
this.name = name;
}
public void setUnits(String units) {
this.units = units;
}
public void setVariability(String variability) {
this.variability = variability;
}
public void setValue(Object value) {
this.value = value;
}
public String getName() {
return name;
}
public String getUnits() {
return units;
}
public String getVariability() {
return variability;
}
public Object getValue() {
return value;
}
}
package com.taobao.arthas.core.command.model;
import java.util.Collection;
/**
* Data model of ProfilerCommand
* @author gongdewei 2020/4/27
*/
public class ProfilerModel extends ResultModel {
private String action;
private String actionArg;
private String executeResult;
private Collection<String> supportedActions;
private String outputFile;
private Long duration;
public ProfilerModel() {
}
public ProfilerModel(Collection<String> supportedActions) {
this.supportedActions = supportedActions;
}
@Override
public String getType() {
return "profiler";
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getActionArg() {
return actionArg;
}
public void setActionArg(String actionArg) {
this.actionArg = actionArg;
}
public Collection<String> getSupportedActions() {
return supportedActions;
}
public void setSupportedActions(Collection<String> supportedActions) {
this.supportedActions = supportedActions;
}
public String getExecuteResult() {
return executeResult;
}
public void setExecuteResult(String executeResult) {
this.executeResult = executeResult;
}
public String getOutputFile() {
return outputFile;
}
public void setOutputFile(String outputFile) {
this.outputFile = outputFile;
}
public Long getDuration() {
return duration;
}
public void setDuration(Long duration) {
this.duration = duration;
}
}
package com.taobao.arthas.core.command.model;
/**
* @author gongdewei 2020/5/11
*/
public class PwdModel extends ResultModel {
private String workingDir;
public PwdModel() {
}
public PwdModel(String workingDir) {
this.workingDir = workingDir;
}
@Override
public String getType() {
return "pwd";
}
public String getWorkingDir() {
return workingDir;
}
public void setWorkingDir(String workingDir) {
this.workingDir = workingDir;
}
}
package com.taobao.arthas.core.command.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* @author gongdewei 2020/4/16
*/
public class RedefineModel extends ResultModel {
private int redefinitionCount;
private List<String> redefinedClasses;
private Collection<ClassLoaderVO> matchedClassLoaders;
private String classLoaderClass;
public RedefineModel() {
redefinedClasses = new ArrayList<String>();
}
public void addRedefineClass(String className) {
redefinedClasses.add(className);
redefinitionCount++;
}
public int getRedefinitionCount() {
return redefinitionCount;
}
public void setRedefinitionCount(int redefinitionCount) {
this.redefinitionCount = redefinitionCount;
}
public List<String> getRedefinedClasses() {
return redefinedClasses;
}
public void setRedefinedClasses(List<String> redefinedClasses) {
this.redefinedClasses = redefinedClasses;
}
public String getClassLoaderClass() {
return classLoaderClass;
}
public RedefineModel setClassLoaderClass(String classLoaderClass) {
this.classLoaderClass = classLoaderClass;
return this;
}
public Collection<ClassLoaderVO> getMatchedClassLoaders() {
return matchedClassLoaders;
}
public RedefineModel setMatchedClassLoaders(Collection<ClassLoaderVO> matchedClassLoaders) {
this.matchedClassLoaders = matchedClassLoaders;
return this;
}
@Override
public String getType() {
return "redefine";
}
}
package com.taobao.arthas.core.command.model;
import com.taobao.arthas.core.util.affect.EnhancerAffect;
/**
* @author gongdewei 2020/6/22
*/
public class ResetModel extends ResultModel {
private EnhancerAffectVO affect;
public ResetModel(EnhancerAffectVO affect) {
this.affect = affect;
}
public ResetModel(EnhancerAffect affect) {
this.affect = new EnhancerAffectVO(affect);
}
@Override
public String getType() {
return "reset";
}
public ResetModel affect(EnhancerAffect affect) {
this.affect = new EnhancerAffectVO(affect);
return this;
}
public EnhancerAffectVO getAffect() {
return affect;
}
}
package com.taobao.arthas.core.command.model;
/**
* Command execute result
*
* @author gongdewei 2020-03-26
*/
public abstract class ResultModel {
private int jobId;
/**
* Command type (name)
*
* @return
*/
public abstract String getType();
public int getJobId() {
return jobId;
}
public void setJobId(int jobId) {
this.jobId = jobId;
}
}
package com.taobao.arthas.core.command.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import com.taobao.arthas.core.command.klass100.RetransformCommand.RetransformEntry;
/**
*
* @author hengyunabc 2021-01-06
*
*/
public class RetransformModel extends ResultModel {
private int retransformCount;
private List<String> retransformClasses;
private Collection<ClassLoaderVO> matchedClassLoaders;
private String classLoaderClass;
private List<RetransformEntry> retransformEntries;
private RetransformEntry deletedRetransformEntry;
// private List<ClassVO> trigger
// List<ClassVO> classVOs = ClassUtils.createClassVOList(matchedClasses);
public RetransformModel() {
}
public void addRetransformClass(String className) {
if (retransformClasses == null) {
retransformClasses = new ArrayList<String>();
}
retransformClasses.add(className);
retransformCount++;
}
public int getRetransformCount() {
return retransformCount;
}
public void setRetransformCount(int retransformCount) {
this.retransformCount = retransformCount;
}
public List<String> getRetransformClasses() {
return retransformClasses;
}
public void setRetransformClasses(List<String> retransformClasses) {
this.retransformClasses = retransformClasses;
}
public String getClassLoaderClass() {
return classLoaderClass;
}
public RetransformModel setClassLoaderClass(String classLoaderClass) {
this.classLoaderClass = classLoaderClass;
return this;
}
public Collection<ClassLoaderVO> getMatchedClassLoaders() {
return matchedClassLoaders;
}
public RetransformModel setMatchedClassLoaders(Collection<ClassLoaderVO> matchedClassLoaders) {
this.matchedClassLoaders = matchedClassLoaders;
return this;
}
public List<RetransformEntry> getRetransformEntries() {
return retransformEntries;
}
public void setRetransformEntries(List<RetransformEntry> retransformEntries) {
this.retransformEntries = retransformEntries;
}
public RetransformEntry getDeletedRetransformEntry() {
return deletedRetransformEntry;
}
public void setDeletedRetransformEntry(RetransformEntry deletedRetransformEntry) {
this.deletedRetransformEntry = deletedRetransformEntry;
}
@Override
public String getType() {
return "retransform";
}
}
package com.taobao.arthas.core.command.model;
import com.taobao.arthas.core.util.affect.RowAffect;
/**
* @author gongdewei 2020/4/8
*/
public class RowAffectModel extends ResultModel {
private RowAffect affect;
public RowAffectModel() {
}
public RowAffectModel(RowAffect affect) {
this.affect = affect;
}
@Override
public String getType() {
return "row_affect";
}
public int getRowCount() {
return affect.rCnt();
}
public RowAffect affect() {
return affect;
}
}
package com.taobao.arthas.core.command.model;
/**
* Dashboard - Runtime
*
* @author gongdewei 2020/4/22
*/
public class RuntimeInfoVO {
private String osName;
private String osVersion;
private String javaVersion;
private String javaHome;
private double systemLoadAverage;
private int processors;
private long uptime;
private long timestamp;
public RuntimeInfoVO() {
}
public String getOsName() {
return osName;
}
public void setOsName(String osName) {
this.osName = osName;
}
public String getOsVersion() {
return osVersion;
}
public void setOsVersion(String osVersion) {
this.osVersion = osVersion;
}
public String getJavaVersion() {
return javaVersion;
}
public void setJavaVersion(String javaVersion) {
this.javaVersion = javaVersion;
}
public String getJavaHome() {
return javaHome;
}
public void setJavaHome(String javaHome) {
this.javaHome = javaHome;
}
public double getSystemLoadAverage() {
return systemLoadAverage;
}
public void setSystemLoadAverage(double systemLoadAverage) {
this.systemLoadAverage = systemLoadAverage;
}
public int getProcessors() {
return processors;
}
public void setProcessors(int processors) {
this.processors = processors;
}
public long getUptime() {
return uptime;
}
public void setUptime(long uptime) {
this.uptime = uptime;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
}
package com.taobao.arthas.core.command.model;
import java.util.Collection;
import java.util.List;
/**
* Class info of SearchClassCommand
* @author gongdewei 2020/04/08
*/
public class SearchClassModel extends ResultModel {
private ClassDetailVO classInfo;
private boolean withField;
private boolean detailed;
private List<String> classNames;
private int segment;
private Collection<ClassLoaderVO> matchedClassLoaders;
private String classLoaderClass;
public SearchClassModel() {
}
public SearchClassModel(ClassDetailVO classInfo, boolean detailed, boolean withField) {
this.classInfo = classInfo;
this.detailed = detailed;
this.withField = withField;
}
public SearchClassModel(List<String> classNames, int segment) {
this.classNames = classNames;
this.segment = segment;
}
@Override
public String getType() {
return "sc";
}
public ClassDetailVO getClassInfo() {
return classInfo;
}
public void setClassInfo(ClassDetailVO classInfo) {
this.classInfo = classInfo;
}
public List<String> getClassNames() {
return classNames;
}
public void setClassNames(List<String> classNames) {
this.classNames = classNames;
}
public int getSegment() {
return segment;
}
public void setSegment(int segment) {
this.segment = segment;
}
public boolean isDetailed() {
return detailed;
}
public boolean isWithField() {
return withField;
}
public String getClassLoaderClass() {
return classLoaderClass;
}
public SearchClassModel setClassLoaderClass(String classLoaderClass) {
this.classLoaderClass = classLoaderClass;
return this;
}
public Collection<ClassLoaderVO> getMatchedClassLoaders() {
return matchedClassLoaders;
}
public SearchClassModel setMatchedClassLoaders(Collection<ClassLoaderVO> matchedClassLoaders) {
this.matchedClassLoaders = matchedClassLoaders;
return this;
}
}
package com.taobao.arthas.core.command.model;
import java.util.Collection;
/**
* Model of SearchMethodCommand
* @author gongdewei 2020/4/9
*/
public class SearchMethodModel extends ResultModel {
private MethodVO methodInfo;
private boolean detail;
private Collection<ClassLoaderVO> matchedClassLoaders;
private String classLoaderClass;
public SearchMethodModel() {
}
public SearchMethodModel(MethodVO methodInfo, boolean detail) {
this.methodInfo = methodInfo;
this.detail = detail;
}
public MethodVO getMethodInfo() {
return methodInfo;
}
public void setMethodInfo(MethodVO methodInfo) {
this.methodInfo = methodInfo;
}
public boolean isDetail() {
return detail;
}
public void setDetail(boolean detail) {
this.detail = detail;
}
public String getClassLoaderClass() {
return classLoaderClass;
}
public SearchMethodModel setClassLoaderClass(String classLoaderClass) {
this.classLoaderClass = classLoaderClass;
return this;
}
public Collection<ClassLoaderVO> getMatchedClassLoaders() {
return matchedClassLoaders;
}
public SearchMethodModel setMatchedClassLoaders(Collection<ClassLoaderVO> matchedClassLoaders) {
this.matchedClassLoaders = matchedClassLoaders;
return this;
}
@Override
public String getType() {
return "sm";
}
}
package com.taobao.arthas.core.command.model;
/**
* Session command result model
*
* @author gongdewei 2020/03/27
*/
public class SessionModel extends ResultModel {
private long javaPid;
private String sessionId;
private String agentId;
private String tunnelServer;
private String statUrl;
private boolean tunnelConnected;
@Override
public String getType() {
return "session";
}
public long getJavaPid() {
return javaPid;
}
public void setJavaPid(long javaPid) {
this.javaPid = javaPid;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
public String getTunnelServer() {
return tunnelServer;
}
public void setTunnelServer(String tunnelServer) {
this.tunnelServer = tunnelServer;
}
public String getStatUrl() {
return statUrl;
}
public void setStatUrl(String statUrl) {
this.statUrl = statUrl;
}
public boolean isTunnelConnected() {
return tunnelConnected;
}
public void setTunnelConnected(boolean tunnelConnected) {
this.tunnelConnected = tunnelConnected;
}
}
package com.taobao.arthas.core.command.model;
/**
* @author gongdewei 2020/6/22
*/
public class ShutdownModel extends ResultModel {
private boolean graceful;
private String message;
public ShutdownModel(boolean graceful, String message) {
this.graceful = graceful;
this.message = message;
}
@Override
public String getType() {
return "shutdown";
}
public boolean isGraceful() {
return graceful;
}
public String getMessage() {
return message;
}
}
package com.taobao.arthas.core.command.model;
import java.util.Date;
/**
* StackCommand result model
* @author gongdewei 2020/4/13
*/
public class StackModel extends ResultModel {
private Date ts;
private double cost;
private String traceId;
private String rpcId;
private String threadName;
private String threadId;
private boolean daemon;
private int priority;
/* Thread Current ClassLoader */
private String classloader;
private StackTraceElement[] stackTrace;
@Override
public String getType() {
return "stack";
}
public Date getTs() {
return ts;
}
public void setTs(Date ts) {
this.ts = ts;
}
public double getCost() {
return cost;
}
public void setCost(double cost) {
this.cost = cost;
}
public String getThreadName() {
return threadName;
}
public void setThreadName(String threadName) {
this.threadName = threadName;
}
public String getThreadId() {
return threadId;
}
public void setThreadId(String threadId) {
this.threadId = threadId;
}
public boolean isDaemon() {
return daemon;
}
public void setDaemon(boolean daemon) {
this.daemon = daemon;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
public String getClassloader() {
return classloader;
}
public void setClassloader(String classloader) {
this.classloader = classloader;
}
public String getTraceId() {
return traceId;
}
public void setTraceId(String traceId) {
this.traceId = traceId;
}
public String getRpcId() {
return rpcId;
}
public void setRpcId(String rpcId) {
this.rpcId = rpcId;
}
public StackTraceElement[] getStackTrace() {
return stackTrace;
}
public void setStackTrace(StackTraceElement[] stackTrace) {
this.stackTrace = stackTrace;
}
}
package com.taobao.arthas.core.command.model;
public class StatusModel extends ResultModel {
private int statusCode;
private String message;
public StatusModel(int statusCode) {
this.statusCode = statusCode;
}
public StatusModel(int statusCode, String message) {
this.statusCode = statusCode;
this.message = message;
}
public int getStatusCode() {
return statusCode;
}
public String getMessage() {
return message;
}
@Override
public String getType() {
return "status";
}
}
package com.taobao.arthas.core.command.model;
import java.util.HashMap;
import java.util.Map;
/**
* sysenv KV Result
* @author gongdewei 2020/4/2
*/
public class SystemEnvModel extends ResultModel {
private Map<String, String> env = new HashMap<String, String>();
public SystemEnvModel() {
}
public SystemEnvModel(Map env) {
this.putAll(env);
}
public SystemEnvModel(String name, String value) {
this.put(name, value);
}
public Map<String, String> getEnv() {
return env;
}
public String put(String key, String value) {
return env.put(key, value);
}
public void putAll(Map m) {
env.putAll(m);
}
@Override
public String getType() {
return "sysenv";
}
}
package com.taobao.arthas.core.command.model;
import java.util.HashMap;
import java.util.Map;
/**
* Property KV Result
* @author gongdewei 2020/4/2
*/
public class SystemPropertyModel extends ResultModel {
private Map<String, String> props = new HashMap<String, String>();
public SystemPropertyModel() {
}
public SystemPropertyModel(Map props) {
this.putAll(props);
}
public SystemPropertyModel(String name, String value) {
this.put(name, value);
}
public Map<String, String> getProps() {
return props;
}
public String put(String key, String value) {
return props.put(key, value);
}
public void putAll(Map m) {
props.putAll(m);
}
@Override
public String getType() {
return "sysprop";
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment